diff --git a/.gitignore b/.gitignore index 10ea189..b2be92b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1 @@ result - -.idea diff --git a/colors.sh b/colors.sh deleted file mode 100644 index e51c155..0000000 --- a/colors.sh +++ /dev/null @@ -1,225 +0,0 @@ -# tdpeuter color schemes -# The goal is to offer light and dark theme that is easy on the eyes, -# whilst also being unique and defining. - -############################### -# tdpeuter-light color scheme # -############################### - -# 171717 # Foreground -# FAFAFA # Daisy (Background) - -# Regular colors (0-7) - -# 000000 # Black (0) -# 1 -# 2 -# 3 -# 4 -# 5 -# 6 -# 7 - -# Bright colors (8-15) - -# 000000 # Black (8) -# 9 -# 10 -# 11 -# 12 -# 13 -# 14 -# 15 - -############################## -# tdpeuter-dark color scheme # -############################## - -# FAFAFA # Daisy (Foreground) -printf "\033]10;#FAFAFA\007" -# 171717 # Background -printf "\033]11;#171717\007" - -# Regular colors (0-7) - -# 242124 # Black 0 -printf "\033]4;0;#242124\007" -# B90E0A # Crimson (Red) 1 -printf "\033]4;1;#B90E0A\007" -# B2BC68 # Leafy (Green) 2 -printf "\033]4;2;#B2BC68\007" -# FFE135 # Banana (Yellow) 3 -printf "\033]4;3;#FFE135\007" -# 80A2BE # Icicle (Blue) 4 -printf "\033]4;4;#80A2BE\007" -# A45EE5 # Amethyst (Magenta) 5 -printf "\033]4;5;#A45EE5\007" -# # (Cyan) 6 -printf "\033]4;6;#80A2BE\007" -# FBFCF8 # Pearl (White) 7 -printf "\033]4;7;#FBFCF8\007" - -# Bright colors (8-15) - -# 363636 # Grey-isch (Black) 8 -printf "\033]4;8;#363636\007" -# BC544B # Blush (Red) 9 -printf "\033]4;9;#BC544B\007" -# A6E3A1 # Lime (Green) 10 -printf "\033]4;10;#A6E3A1\007" -# FCF4A3 # Banana (Yellow) 11 -printf "\033]4;11;#FCF4A3\007" -# 74C7EC # Sapphire (Blue) 12 -printf "\033]4;12;#74C7EC\007" -# B4BEFE # Lavender (Magenta) 13 -# #CBA6F7 -printf "\033]4;13;#B4BEFE\007" -# # (Cyan) 14 -printf "\033]4;14;#74C7EC\007" -# FFFFFF # White 15 -printf "\033]4;15;#FFFFFF\007" - - -# NEW COLORS 20241101 -# -# Nr # R G B H S B # Name -# FG # 250 250 250 0 0 98 # Daisy (White) -printf "\033]10;#FAFAFA\007" -# BG # 19 19 19 0 0 7 # - -printf "\033]11;#131313\007" - -# Regular colors (0-7) - -# Nr # R G B H S B # Name -# 0 # 61 61 61 0 0 24 # - (Black) -printf "\033]4;0;#3D3D3D\007" -# 1 # 186 19 61 345 90 73 # - (Red) -printf "\033]4;1;#BA133D\007" -# 2 # 61 186 19 105 90 73 # - (Green) -printf "\033]4;2;#3DBA13\007" -# 3 # 186 144 19 45 90 73 # - (Yellow) -printf "\033]4;3;#BA9013\007" -# 4 # 19 61 186 225 90 73 # - (Blue) -printf "\033]4;4;#133DBA\007" -# 5 # 144 19 186 285 90 73 # - (Magenta) -printf "\033]4;5;#9013BA\007" -# 6 # 19 186 144 165 90 73 # - (Cyan) -printf "\033]4;6;#13BA90\007" -# 7 # 186 186 186 0 0 73 # - (White) -printf "\033]4;7;#BABABA\007" - -# Bright colors (8-15) - -# Nr # R G B H S B # Name -# 8 # 122 122 122 0 0 48 # - (Black) -printf "\033]4;8;#363636\007" -# 9 # 250 25 81 345 90 98 # - (Red) -printf "\033]4;9;#FA1951\007" -# 10 # 81 250 25 105 90 98 # - (Green) -printf "\033]4;10;#51FA19\007" -# 11 # 250 194 25 45 90 98 # - (Yellow) -printf "\033]4;11;#FAC219\007" -# 12 # 25 81 250 225 90 98 # - (Blue) -printf "\033]4;12;#1951FA\007" -# 13 # 194 25 250 285 90 98 # - (Magenta) -printf "\033]4;13;#C219FA\007" -# 14 # 25 259 194 165 90 98 # - (Cyan) -printf "\033]4;14;#19FAC2\007" -# 15 # 250 250 250 0 0 98 # - (White) -printf "\033]4;15;#FAFAFA\007" - -# BRIGHTER -# -# Nr # R G B H S B # Name -# FG # 250 250 250 0 0 98 # Daisy (White) -printf "\033]11;#FAFAFA\007" -# BG # 19 19 19 0 0 7 # - -printf "\033]10;#131313\007" - -# Regular colors (0-7) - -# Nr # R G B H S B # Name -# 0 # 61 61 61 0 0 24 # - (Black) -printf "\033]4;0;#3D3D3D\007" -# 1 # 186 19 61 345 90 73 # - (Red) -printf "\033]4;1;#E62E4D\007" -# 2 # 61 186 19 105 90 73 # - (Green) -printf "\033]4;2;#4DE62E\007" -# 3 # 186 144 19 45 90 73 # - (Yellow) -printf "\033]4;3;#E6C72E\007" -# 4 # 19 61 186 225 90 73 # - (Blue) -printf "\033]4;4;#2E4CE6\007" -# 5 # 144 19 186 285 90 73 # - (Magenta) -printf "\033]4;5;#C52DE3\007" -# 6 # 19 186 144 165 90 73 # - (Cyan) -printf "\033]4;6;#2EE6C7\007" -# 7 # 186 186 186 0 0 73 # - (White) -printf "\033]4;7;#BABABA\007" - -# Bright colors (8-15) - -# Nr # R G B H S B # Name -# 8 # 122 122 122 0 0 48 # - (Black) -printf "\033]4;8;#7A7A7A\007" -# 9 # 250 25 81 345 90 98 # - (Red) -printf "\033]4;9;#FF002B\007" -# 10 # 81 250 25 105 90 98 # - (Green) -printf "\033]4;10;#2BFF00\007" -# 11 # 250 194 25 45 90 98 # - (Yellow) -printf "\033]4;11;#FFd500\007" -# 12 # 25 81 250 225 90 98 # - (Blue) -printf "\033]4;12;#002AFF\007" -# 13 # 194 25 250 285 90 98 # - (Magenta) -printf "\033]4;13;#D400FF\007" -# 14 # 25 259 194 165 90 98 # - (Cyan) -printf "\033]4;14;#00FFC0\007" -# 15 # 250 250 250 0 0 98 # - (White) -printf "\033]4;15;#FAFAFA\007" - -# TEsting again - -# Nr # R G B H S B # Name -# FG # 250 250 250 0 0 98 # Daisy (White) -# FAFAFA # Daisy (Foreground) -printf "\033]10;#FAFAFA\007" -# 171717 # Background -printf "\033]11;#171717\007" - -# Nr # R G B H S B # Name -# 0 # 61 61 61 0 0 24 # - (Black) -printf "\033]4;0;#202124\007" -# 1 # 186 19 61 345 90 73 # - (Red) -printf "\033]4;1;#EA4335\007" -# 2 # 61 186 19 105 90 73 # - (Green) -printf "\033]4;2;#34A853\007" -# 3 # 186 144 19 45 90 73 # - (Yellow) -printf "\033]4;3;#FBBC04\007" -# 4 # 19 61 186 225 90 73 # - (Blue) -printf "\033]4;4;#4285F4\007" -# 5 # 144 19 186 285 90 73 # - (Magenta) -printf "\033]4;5;#A142F4\007" -# 6 # 19 186 144 165 90 73 # - (Cyan) -printf "\033]4;6;#24C1E0\007" -# 7 # 186 186 186 0 0 73 # - (White) -printf "\033]4;7;#FBFCF8\007" - -# Bright colors (8-15) - -# Nr # R G B H S B # Name -# 8 # 122 122 122 0 0 48 # - (Black) -printf "\033]4;8;#5F6368\007" -# 9 # 250 25 81 345 90 98 # - (Red) -printf "\033]4;9;#EA4335\007" -# 10 # 81 250 25 105 90 98 # - (Green) -printf "\033]4;10;#34A853\007" -# 11 # 250 194 25 45 90 98 # - (Yellow) -printf "\033]4;11;#FBBC05\007" -# 12 # 25 81 250 225 90 98 # - (Blue) -printf "\033]4;12;#4285F4\007" -# 13 # 194 25 250 285 90 98 # - (Magenta) -printf "\033]4;13;#A142F4\007" -# 14 # 25 259 194 165 90 98 # - (Cyan) -printf "\033]4;14;#24C1E0\007" -# 15 # 250 250 250 0 0 98 # - (White) -printf "\033]4;15;#FFFFFF\007" - diff --git a/nixos/flake.lock b/nixos/flake.lock index 38320cc..91147eb 100644 --- a/nixos/flake.lock +++ b/nixos/flake.lock @@ -1,15 +1,54 @@ { "nodes": { + "devshell": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1713532798, + "narHash": "sha256-wtBhsdMJA3Wa32Wtm1eeo84GejtI43pMrFrmwLXrsEc=", + "owner": "numtide", + "repo": "devshell", + "rev": "12e914740a25ea1891ec619bb53cf5e6ca922e40", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "devshell", + "type": "github" + } + }, "flake-utils": { "inputs": { "systems": "systems" }, "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "lastModified": 1701680307, + "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", "owner": "numtide", "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_2": { + "inputs": { + "systems": "systems_2" + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { @@ -25,16 +64,16 @@ ] }, "locked": { - "lastModified": 1747688870, - "narHash": "sha256-ypL9WAZfmJr5V70jEVzqGjjQzF0uCkz+AFQF7n9NmNc=", + "lastModified": 1716736833, + "narHash": "sha256-rNObca6dm7Qs524O4st8VJH6pZ/Xe1gxl+Rx6mcWYo0=", "owner": "nix-community", "repo": "home-manager", - "rev": "d5f1f641b289553927b3801580598d200a501863", + "rev": "a631666f5ec18271e86a5cde998cba68c33d9ac6", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-24.11", + "ref": "release-24.05", "repo": "home-manager", "type": "github" } @@ -47,11 +86,11 @@ ] }, "locked": { - "lastModified": 1720066371, - "narHash": "sha256-uPlLYH2S0ACj0IcgaK9Lsf4spmJoGejR9DotXiXSBZQ=", + "lastModified": 1701208414, + "narHash": "sha256-xrQ0FyhwTZK6BwKhahIkUVZhMNk21IEI1nUcWSONtpo=", "owner": "nix-community", "repo": "nix-github-actions", - "rev": "622f829f5fe69310a866c8a6cd07e747c44ef820", + "rev": "93e39cc1a087d65bcf7a132e75a650c44dd2b734", "type": "github" }, "original": { @@ -62,26 +101,42 @@ }, "nixpkgs": { "locked": { - "lastModified": 1751274312, - "narHash": "sha256-/bVBlRpECLVzjV19t5KMdMFWSwKLtb5RyXdjz3LJT+g=", + "lastModified": 1717144377, + "narHash": "sha256-F/TKWETwB5RaR8owkPPi+SPJh83AQsm6KrQAlJ8v/uA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "50ab793786d9de88ee30ec4e4c24fb4236fc2674", + "rev": "805a384895c696f802a9bf5bf4720f37385df547", "type": "github" }, "original": { "id": "nixpkgs", - "ref": "nixos-24.11", + "ref": "nixos-24.05", "type": "indirect" } }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1717265169, + "narHash": "sha256-IITcGd6xpNoyq9SZBigCkv4+qMHSqot0RDPR4xsZ2CA=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "3b1b4895b2c5f9f5544d02132896aeb9ceea77bc", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "release-23.11", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-unstable": { "locked": { - "lastModified": 1757745802, - "narHash": "sha256-hLEO2TPj55KcUFUU1vgtHE9UEIOjRcH/4QbmfHNF820=", + "lastModified": 1716948383, + "narHash": "sha256-SzDKxseEcHR5KzPXLwsemyTR/kaM9whxeiJohbL04rs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c23193b943c6c689d70ee98ce3128239ed9e32d1", + "rev": "ad57eef4ef0659193044870c731987a6df5cf56b", "type": "github" }, "original": { @@ -100,15 +155,15 @@ "nixpkgs" ], "poetry2nix": "poetry2nix", - "systems": "systems_2", + "systems": "systems_3", "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1724283233, - "narHash": "sha256-XMPn6YHwFOJCGLE9M5F3AEFKA0u+maf8CpIEWmvaQTQ=", + "lastModified": 1701455376, + "narHash": "sha256-FMLrMdi6JY7ZfqV5XnNj64jnDcGKznKZLn7O6OMO3u0=", "owner": "ThinkChaos", "repo": "openconnect-sso", - "rev": "94f1ddfef1662d56ede0a093bcfc3d23156bc1a1", + "rev": "20c0015c4264c72cc19ac272de0dc534309bd21b", "type": "github" }, "original": { @@ -142,11 +197,11 @@ ] }, "locked": { - "lastModified": 1721039874, - "narHash": "sha256-XANsG9GYHip8pxZpbqKf/YGv8tIa0xTh289Y+WNBNfw=", + "lastModified": 1701105783, + "narHash": "sha256-5IOI0xXGbhAkUZNNcPId48V78Q+/JlW0hzlif0zxRmM=", "owner": "nix-community", "repo": "poetry2nix", - "rev": "d11c01e58587e5f21037ed6477465a7f26a32e27", + "rev": "0b2bff39e9bd4e6db3208e09c276ca83a063b370", "type": "github" }, "original": { @@ -157,28 +212,29 @@ }, "root": { "inputs": { - "flake-utils": "flake-utils", + "devshell": "devshell", + "flake-utils": "flake-utils_2", "home-manager": "home-manager", "nixpkgs": "nixpkgs", "nixpkgs-unstable": "nixpkgs-unstable", "openconnect-sso": "openconnect-sso", "sops-nix": "sops-nix", - "utils": "utils", - "zen-browser": "zen-browser" + "utils": "utils" } }, "sops-nix": { "inputs": { "nixpkgs": [ "nixpkgs" - ] + ], + "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1758007585, - "narHash": "sha256-HYnwlbY6RE5xVd5rh0bYw77pnD8lOgbT4mlrfjgNZ0c=", + "lastModified": 1717297459, + "narHash": "sha256-cZC2f68w5UrJ1f+2NWGV9Gx0dEYmxwomWN2B0lx0QRA=", "owner": "Mic92", "repo": "sops-nix", - "rev": "f77d4cfa075c3de66fc9976b80e0c4fc69e2c139", + "rev": "ab2a43b0d21d1d37d4d5726a892f714eaeb4b075", "type": "github" }, "original": { @@ -217,6 +273,21 @@ "type": "github" } }, + "systems_3": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "treefmt-nix": { "inputs": { "nixpkgs": [ @@ -225,11 +296,11 @@ ] }, "locked": { - "lastModified": 1721769617, - "narHash": "sha256-6Pqa0bi5nV74IZcENKYRToRNM5obo1EQ+3ihtunJ014=", + "lastModified": 1699786194, + "narHash": "sha256-3h3EH1FXQkIeAuzaWB+nK0XK54uSD46pp+dMD3gAcB4=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "8db8970be1fb8be9c845af7ebec53b699fe7e009", + "rev": "e82f32aa7f06bbbd56d7b12186d555223dc399d1", "type": "github" }, "original": { @@ -245,11 +316,11 @@ ] }, "locked": { - "lastModified": 1738591040, - "narHash": "sha256-4WNeriUToshQ/L5J+dTSWC5OJIwT39SEP7V7oylndi8=", + "lastModified": 1715533576, + "narHash": "sha256-fT4ppWeCJ0uR300EH3i7kmgRZnAVxrH+XtK09jQWihk=", "owner": "gytis-ivaskevicius", "repo": "flake-utils-plus", - "rev": "afcb15b845e74ac5e998358709b2b5fe42a948d1", + "rev": "3542fe9126dc492e53ddd252bb0260fe035f2c0f", "type": "github" }, "original": { @@ -257,26 +328,6 @@ "repo": "flake-utils-plus", "type": "github" } - }, - "zen-browser": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1757304371, - "narHash": "sha256-EZ3Vwgh5xgXuiPUmr9e1a9dEu3hvEWhRurAKpsAwB2A=", - "owner": "youwen5", - "repo": "zen-browser-flake", - "rev": "3968348af022fe88468ef8de4f9683076e2e5e4b", - "type": "github" - }, - "original": { - "owner": "youwen5", - "repo": "zen-browser-flake", - "type": "github" - } } }, "root": "root", diff --git a/nixos/flake.nix b/nixos/flake.nix index d58b95c..cda9173 100644 --- a/nixos/flake.nix +++ b/nixos/flake.nix @@ -2,16 +2,20 @@ description = "System configuration of my machines using flakes"; inputs = { - nixpkgs.url = "nixpkgs/nixos-24.11"; + nixpkgs.url = "nixpkgs/nixos-24.05"; nixpkgs-unstable.url = "nixpkgs/nixos-unstable"; + devshell = { + url = "github:numtide/devshell"; + inputs.nixpkgs.follows = "nixpkgs"; + }; flake-utils.url = "github:numtide/flake-utils"; home-manager = { - url = "github:nix-community/home-manager/release-24.11"; + url = "github:nix-community/home-manager/release-24.05"; inputs.nixpkgs.follows = "nixpkgs"; }; openconnect-sso = { - url = "github:ThinkChaos/openconnect-sso/fix/nix-flake"; + url = github:ThinkChaos/openconnect-sso/fix/nix-flake; inputs = { flake-utils.follows = "utils"; nixpkgs.follows = "nixpkgs"; @@ -19,33 +23,29 @@ }; sops-nix = { url = "github:Mic92/sops-nix"; - inputs.nixpkgs.follows = "nixpkgs"; + inputs.nixpkgs.follows = "nixpkgs"; }; utils = { url = "github:gytis-ivaskevicius/flake-utils-plus"; inputs.flake-utils.follows = "flake-utils"; }; - zen-browser = { - url = "github:youwen5/zen-browser-flake"; - inputs.nixpkgs.follows = "nixpkgs"; - }; }; outputs = inputs@{ self, nixpkgs, nixpkgs-unstable, - flake-utils, home-manager, openconnect-sso, sops-nix, utils, zen-browser, + devshell, flake-utils, home-manager, openconnect-sso, sops-nix, utils, ... }: let - system = utils.lib.system.x86_64-linux; + system = "x86_64-linux"; unfreePackages = pkg: builtins.elem (nixpkgs.lib.getName pkg) [ "corefonts" "nvidia-settings" "nvidia-x11" "nvidia-persistenced" - "Oracle_VirtualBox_Extension_Pack" + "Oracle_VM_VirtualBox_Extension_Pack" "spotify" - "steam" "steam-unwrapped" "steam-run" + "steam" "steam-original" "steam-run" "vista-fonts" - "intel-ocl" + "nvidia-persistenced" # Docker ]; in utils.lib.mkFlake { @@ -73,7 +73,6 @@ modules = [ home-manager.nixosModule sops-nix.nixosModules.sops - ./modules ./users ]; @@ -84,64 +83,5 @@ Tibo-NixFat.modules = [ ./hosts/Tibo-NixFat ]; Tibo-NixTest.modules = [ ./hosts/Tibo-NixTest ]; }; - - outputsBuilder = channels: { - devShells = { - default = channels.nixpkgs.mkShell { - name = "devShell"; - packages = with channels.nixpkgs; [ - nodejs - ]; - }; - unstable = let - pkgs = import nixpkgs-unstable { - inherit system; - config.allowUnfree = true; - }; - in channels.nixpkgs.mkShell { - name = "Unstable"; - packages = with pkgs; [ - anytype - ]; - }; - rust = let - pkgs = import nixpkgs-unstable { - inherit system; - config.allowUnfree = true; - }; - in channels.nixpkgs.mkShell { - name = "Rust Shell"; - packages = with pkgs; [ - rustc - cargo - rustup - - (jetbrains.plugins.addPlugins jetbrains.rust-rover [ "github-copilot" ]) - ]; - }; - webdev = let - pkgs = import nixpkgs-unstable { - inherit system; - config.allowUnfree = true; - }; - in channels.nixpkgs.mkShell { - name = "Web development Shell"; - packages = with pkgs; [ - nodejs - playwright-test - playwright-driver - playwright-driver.browsers - - # IDE's - (jetbrains.plugins.addPlugins jetbrains.webstorm [ "github-copilot" ]) - ]; - - shellHook = '' - export PLAYWRIGHT_BROWSERS_PATH=${pkgs.playwright-driver.browsers} - export PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS=true - ''; - }; - }; - }; }; } diff --git a/nixos/hosts/Tibo-NixDesk/default.nix b/nixos/hosts/Tibo-NixDesk/default.nix index 11b7a40..7858bea 100644 --- a/nixos/hosts/Tibo-NixDesk/default.nix +++ b/nixos/hosts/Tibo-NixDesk/default.nix @@ -75,9 +75,9 @@ networking.hostName = "Tibo-NixDesk"; - services.xserver.xkb = { + services.xserver = { layout = "us"; - variant = "altgr-intl"; + xkbVariant = "altgr-intl"; }; system.stateVersion = "24.05"; diff --git a/nixos/hosts/Tibo-NixFat/default.nix b/nixos/hosts/Tibo-NixFat/default.nix index 2e790c3..6f0e53c 100644 --- a/nixos/hosts/Tibo-NixFat/default.nix +++ b/nixos/hosts/Tibo-NixFat/default.nix @@ -6,10 +6,7 @@ ]; sisyphus = { - desktop = { - sway.enable = true; - hyprland.enable = true; - }; + desktop.sway.enable = true; hardware = { eid.enable = true; @@ -22,7 +19,7 @@ networking = { networkmanager.enable = true; - openconnect-sso.enable = true; + # openconnect-sso.enable = true; }; nix = { @@ -90,20 +87,14 @@ powerOnBoot = false; }; - networking = { - hostName = "Tibo-NixFat"; - networkmanager.wifi.powersave = true; - }; + networking.hostName = "Tibo-NixFat"; services = { + # Handle the laptop lid switch as follows: logind = { - # Handle the laptop lid switch as follows: lidSwitch = "hybrid-sleep"; lidSwitchExternalPower = "lock"; lidSwitchDocked = "ignore"; - - # Handle the power key - powerKey = "suspend"; }; xserver.xkb = { @@ -114,14 +105,10 @@ # Touchpad libinput.enable = true; - - thermald.enable = true; }; system.stateVersion = "24.05"; - systemd.coredump.enable = false; - time.timeZone = "Europe/Brussels"; # --- Barrier --- diff --git a/nixos/hosts/Tibo-NixFat/hardware-configuration.nix b/nixos/hosts/Tibo-NixFat/hardware-configuration.nix index b0dfd70..11384cf 100644 --- a/nixos/hosts/Tibo-NixFat/hardware-configuration.nix +++ b/nixos/hosts/Tibo-NixFat/hardware-configuration.nix @@ -8,32 +8,21 @@ (modulesPath + "/installer/scan/not-detected.nix") ]; - boot = { - initrd = { - availableKernelModules = [ - "xhci_pci" - "nvme" - "usb_storage" - "sd_mod" - "rtsx_pci_sdmmc" - ]; - kernelModules = [ ]; - luks.devices."luks-c21cb4a4-f618-43af-bc0c-e8be74fe3b81".device = "/dev/disk/by-uuid/c21cb4a4-f618-43af-bc0c-e8be74fe3b81"; - }; - kernelModules = [ "kvm-intel" ]; - extraModulePackages = [ ]; + boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = { + device = "/dev/disk/by-label/NIX-ROOT"; + fsType = "ext4"; }; - fileSystems = { - "/" = { - device = "/dev/disk/by-label/NIX-ROOT"; - fsType = "ext4"; - }; + boot.initrd.luks.devices."luks-c21cb4a4-f618-43af-bc0c-e8be74fe3b81".device = "/dev/disk/by-uuid/c21cb4a4-f618-43af-bc0c-e8be74fe3b81"; - "/boot/efi" = { - device = "/dev/disk/by-label/NIX-BOOT"; - fsType = "vfat"; - }; + fileSystems."/boot/efi" = { + device = "/dev/disk/by-label/NIX-BOOT"; + fsType = "vfat"; }; swapDevices = [ @@ -49,9 +38,5 @@ # networking.interfaces.wlp111s0.useDHCP = lib.mkDefault true; powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; - nixpkgs.config.allowUnfree = true; - hardware = { - enableAllFirmware = true; - cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; - }; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; } diff --git a/nixos/modules/desktop/hyprland/default.nix b/nixos/modules/desktop/hyprland/default.nix index f4ee140..5209653 100644 --- a/nixos/modules/desktop/hyprland/default.nix +++ b/nixos/modules/desktop/hyprland/default.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, ... }: +{ config, lib, ... }: let cfg = config.sisyphus.desktop.hyprland; @@ -6,49 +6,9 @@ in { options.sisyphus.desktop.hyprland.enable = lib.mkEnableOption "Hyprland"; config = lib.mkIf cfg.enable { - environment = { - sessionVariables = { - # Hint Electron apps to use wayland - NIXOS_OZONE_WL = "1"; - - SCRIPT_DIR = ../../../../scripts; - }; - - systemPackages = with pkgs; [ - brightnessctl - dunst - libnotify - swaybg - waybar - waycorner - wlsunset - wl-clipboard # Copying to system clipboard in vim - - glib - - libva - - dmenu - jq - j4-dmenu-desktop - rofi - ]; - }; - - programs = { - hyprland = { - enable = true; - xwayland.enable = true; - }; - - waybar.enable = true; - }; - - services = { - displayManager.ly.enable = true; - gnome.gnome-keyring.enable = true; - power-profiles-daemon.enable = true; - xserver.videoDrivers = [ "nvidia" ]; + programs.hyprland = { + enable = true; + xwayland.enable = true; }; }; } diff --git a/nixos/modules/desktop/plasma/default.nix b/nixos/modules/desktop/plasma/default.nix index 8bdb62c..39e1ab7 100644 --- a/nixos/modules/desktop/plasma/default.nix +++ b/nixos/modules/desktop/plasma/default.nix @@ -8,41 +8,36 @@ in { options.sisyphus.desktop.plasma.enable = lib.mkEnableOption "KDE Plasma"; config = lib.mkIf cfg.enable { - services = { + services.xserver = { + enable = true; + displayManager = { - defaultSession = "plasma"; + defaultSession = "plasmawayland"; sddm = { enable = true; - wayland.enable = true; # https://discourse.nixos.org/t/plasma-wayland-session-not-available-from-sddm/13447/2 - # settings.Wayland.SessionDir = "${pkgs.plasma5Packages.plasma-workspace}/share/wayland-sessions"; + settings.Wayland.SessionDir = "${pkgs.plasma5Packages.plasma-workspace}/share/wayland-sessions"; }; }; - desktopManager.plasma6.enable = true; - - # Use gnome keyring instead of KDE Wallet. - gnome.gnome-keyring.enable = true; - - xserver = { + desktopManager.plasma5 = { enable = true; - excludePackages = with pkgs; [ - xterm - ]; - videoDrivers = [ "nvidia" ]; + useQtScaling = true; }; + + excludePackages = with pkgs; [ + xterm + ]; }; - environment.plasma6.excludePackages = with pkgs.kdePackages; [ + environment.plasma5.excludePackages = with pkgs.libsForQt5; [ elisa - gwenview - kate + okular khelpcenter konsole - kwalletmanager - okular - plasma-systemmonitor print-manager + plasma-systemmonitor + gwenview ]; }; } diff --git a/nixos/modules/desktop/sway/default.nix b/nixos/modules/desktop/sway/default.nix index 3dc3547..267fe03 100644 --- a/nixos/modules/desktop/sway/default.nix +++ b/nixos/modules/desktop/sway/default.nix @@ -65,17 +65,14 @@ in { config = lib.mkIf cfg.enable { environment.systemPackages = (with pkgs; [ - # Window manager related dbus-sway-environment configure-gtk wayland xdg-utils # Open with default program glib # gsettings - wl-clipboard # Copying to system clipboard in vim - wl-mirror # Mirror an output + wl-clipboard wdisplays # Tool to configure displays - # Desktop Environment related brightnessctl dunst libnotify @@ -84,10 +81,8 @@ in { swaylock-effects waybar wlsunset - waycorner # TODO Turn into own module/package? - dmenu jq j4-dmenu-desktop rofi @@ -103,41 +98,50 @@ in { dejavu_fonts font-awesome noto-fonts - noto-fonts-cjk-sans - noto-fonts-cjk-serif + noto-fonts-cjk noto-fonts-emoji + source-han-sans + source-han-sans-japanese + source-han-serif-japanese ]; - hardware.graphics.enable = true; - + security.polkit.enable = true; + services = { atd.enable = true; # Required by sunset.sh dbus.enable = true; - displayManager.ly.enable = true; gnome.gnome-keyring.enable = true; + + pipewire = { + enable = true; + alsa.enable = true; + pulse.enable = true; + }; + power-profiles-daemon.enable = true; - xserver.videoDrivers = [ "nouveau" ]; - # xserver.videoDrivers = [ "nvidia" ]; + + xserver = { + displayManager.session = [{ + manage = "window"; + name = "Sway"; + start = '' + ${pkgs.sway}/bin/sway --unsupported-gpu & + waitPID=$! + ''; + }]; + videoDrivers = [ "nouveau" ]; + }; }; xdg.portal = { enable = true; wlr.enable = true; - extraPortals = with pkgs; [ - xdg-desktop-portal-gtk - gtk-session-lock - ]; - xdgOpenUsePortal = true; + extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; }; - programs = { - sway = { - enable = true; - package = pkgs.swayfx; - wrapperFeatures.gtk = true; - }; - - waybar.enable = true; + programs.sway = { + enable = true; + wrapperFeatures.gtk = true; }; sisyphus.users.wantedGroups = [ diff --git a/nixos/modules/hardware/nvidia/default.nix b/nixos/modules/hardware/nvidia/default.nix index e98ed6d..036cf4c 100644 --- a/nixos/modules/hardware/nvidia/default.nix +++ b/nixos/modules/hardware/nvidia/default.nix @@ -25,34 +25,26 @@ in { }; config = lib.mkIf cfg.enable { - boot = { - extraModprobeConfig = '' - options nvidia-drm modeset=1 - ''; - kernelParams = [ - "nvidia_drm.modeset=1" - ]; - }; +# boot = { +# extraModprobeConfig = "options nvidia-drm modeset=1"; +# +# initrd.kernelModules = [ +# "nvidia" +# "nvidia_modeset" +# "nvidia_uvm" +# "nvidia_drm" +# ]; +# }; hardware = { - graphics = { + opengl = { enable = true; - enable32Bit = true; - extraPackages = with pkgs; [ - intel-ocl - intel-compute-runtime - opencl-clhpp - opencl-clang - opencl-headers - ocl-icd - ]; + driSupport = true; + driSupport32Bit = true; }; - nvidia = { - # Use the NVidia open source kernel module (or not) open = false; package = config.boot.kernelPackages.nvidiaPackages.stable; - # Modesetting is required. modesetting.enable = true; nvidiaSettings = cfg.gui-settings; powerManagement = { diff --git a/nixos/modules/hardware/yubikey/default.nix b/nixos/modules/hardware/yubikey/default.nix index 2134c87..708b9c1 100644 --- a/nixos/modules/hardware/yubikey/default.nix +++ b/nixos/modules/hardware/yubikey/default.nix @@ -25,17 +25,11 @@ in { ]; # Send a notification if the YubiKey is waiting for touch. - systemd.services.yubikey-touch-detector = { + systemd.user.services.yubikey-touch-detector = { enable = true; description = "Detects when your YubiKey is waiting for a touch"; - path = with pkgs; [ - gnupg - yubikey-touch-detector - ]; - wantedBy = [ - "graphical-session.target" - ]; - script = ''exec yubikey-touch-detector --libnotify''; + path = with pkgs; [ yubikey-touch-detector ]; + script = ''exec yubikey-touch-detector --notify''; environment.YUBIKEY_TOUCH_DETECTOR_LIBNOTIFY = "true"; }; }; diff --git a/nixos/modules/nix/flakes/default.nix b/nixos/modules/nix/flakes/default.nix index aeaf3c1..3c5d892 100644 --- a/nixos/modules/nix/flakes/default.nix +++ b/nixos/modules/nix/flakes/default.nix @@ -9,6 +9,6 @@ in { extraOptions = '' experimental-features = nix-command flakes ''; - package = pkgs.nixVersions.stable; + package = pkgs.nixFlakes; }; } diff --git a/nixos/modules/programs/direnv/default.nix b/nixos/modules/programs/direnv/default.nix index f974886..ad16c7c 100644 --- a/nixos/modules/programs/direnv/default.nix +++ b/nixos/modules/programs/direnv/default.nix @@ -8,7 +8,7 @@ in { config = lib.mkIf cfg.enable { programs.direnv = { enable = true; - nix-direnv.enable = true; # Use nix-specific direnv, https://github.com/nix-community/nix-direnv + nix-direnv.enable = true; # Use nix-specific direnv. }; # This is also done by setting programs.direnv.persistDerivations. diff --git a/nixos/modules/services/default.nix b/nixos/modules/services/default.nix index 663fc70..8abb180 100644 --- a/nixos/modules/services/default.nix +++ b/nixos/modules/services/default.nix @@ -5,7 +5,6 @@ ./openssh ./pipewire ./printing - ./remEYEnder ./tailscale ]; } diff --git a/nixos/modules/services/pipewire/default.nix b/nixos/modules/services/pipewire/default.nix index 68985d3..09393f0 100644 --- a/nixos/modules/services/pipewire/default.nix +++ b/nixos/modules/services/pipewire/default.nix @@ -6,6 +6,8 @@ in { options.sisyphus.services.pipewire.enable = lib.mkEnableOption "Pipewire"; config = lib.mkIf cfg.enable { + sound.enable = true; + hardware.pulseaudio.enable = false; security.rtkit.enable = true; services.pipewire = { enable = true; @@ -18,24 +20,6 @@ in { # use the example session manager (no others are packaged yet so this is enabled by default, # no need to redefine it in your config for now) #media-session.enable = true; - - wireplumber = { - enable = true; - # Fix pops after silence - extraConfig."99-disable-suspend" = { - "monitor.alsa.rules" = [ - { - matches = [ - # Headphone jack on laptop - { "node.name" = "alsa_output.pci-0000_00_1f.3.analog-stereo"; } - ]; - actions.update-props = { - "session.suspend-timeout-seconds" = 0; - }; - } - ]; - }; - }; }; }; } diff --git a/nixos/modules/services/printing/default.nix b/nixos/modules/services/printing/default.nix index 9b8738a..b7352b3 100644 --- a/nixos/modules/services/printing/default.nix +++ b/nixos/modules/services/printing/default.nix @@ -10,7 +10,7 @@ in { printing.enable = true; avahi = { enable = true; - nssmdns4 = true; + nssmdns = true; openFirewall = true; }; }; diff --git a/nixos/modules/services/remEYEnder/Vecteezy-License-Information.pdf b/nixos/modules/services/remEYEnder/Vecteezy-License-Information.pdf deleted file mode 100644 index bf8503e..0000000 Binary files a/nixos/modules/services/remEYEnder/Vecteezy-License-Information.pdf and /dev/null differ diff --git a/nixos/modules/services/remEYEnder/default.nix b/nixos/modules/services/remEYEnder/default.nix deleted file mode 100644 index 4d3b5cd..0000000 --- a/nixos/modules/services/remEYEnder/default.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ config, lib, pkgs, ... }: - -let - cfg = config.sisyphus.services.remEYEnder; - - icon = ./vecteezy_eyes-line-icon-vector-isolated_13932670.jpg; -in { - options.sisyphus.services.remEYEnder.enable = lib.mkEnableOption "Eye reminder"; - - config = lib.mkIf cfg.enable { - systemd.user = { - services.remEYEnder = { - enable = true; - description = "Send an eye reminder"; - serviceConfig.Type = "oneshot"; - script = '' - # Display reminder for 20 seconds. - ${pkgs.libnotify}/bin/notify-send -t 20000 --icon=${icon} "RemEYEnder" "Look away from your screen :)" - ''; - }; - timers.remEYEnder = { - enable = true; - description = "Timer for remEYEnders, runs every 20 minutes."; - wantedBy = [ - "timers.target" - ]; - timerConfig = { - OnActiveSec = "20min"; - OnUnitActiveSec = "20min"; - Unit = "remEYEnder.service"; - }; - }; - }; - }; -} diff --git a/nixos/modules/services/remEYEnder/vecteezy_eyes-line-icon-vector-isolated_13932670.eps b/nixos/modules/services/remEYEnder/vecteezy_eyes-line-icon-vector-isolated_13932670.eps deleted file mode 100644 index cc916ca..0000000 --- a/nixos/modules/services/remEYEnder/vecteezy_eyes-line-icon-vector-isolated_13932670.eps +++ /dev/null @@ -1,9936 +0,0 @@ -%!PS-Adobe-3.1 EPSF-3.0 -%ADO_DSC_Encoding: Windows Roman -%%Title: Eye vector.eps -%%Creator: Adobe Illustrator(R) 21.0 -%%For: Maman Suryaman -%%CreationDate: 11/6/2022 -%%BoundingBox: 0 0 2000 2000 -%%HiResBoundingBox: 0 0 2000 2000 -%%CropBox: 0 0 2000 2000 -%%LanguageLevel: 2 -%%DocumentData: Clean7Bit -%ADOBeginClientInjection: DocumentHeader "AI11EPS" -%%AI8_CreatorVersion: 21.0.0 %AI9_PrintingDataBegin %ADO_BuildNumber: Adobe Illustrator(R) 21.0.0 x223 R agm 4.7740 ct 5.3840 %ADO_ContainsXMP: MainFirst %AI7_Thumbnail: 128 128 8 %%BeginData: 5417 Hex Bytes %0000330000660000990000CC0033000033330033660033990033CC0033FF -%0066000066330066660066990066CC0066FF009900009933009966009999 -%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66 -%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333 -%3333663333993333CC3333FF3366003366333366663366993366CC3366FF -%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99 -%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033 -%6600666600996600CC6600FF6633006633336633666633996633CC6633FF -%6666006666336666666666996666CC6666FF669900669933669966669999 -%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33 -%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF -%9933009933339933669933999933CC9933FF996600996633996666996699 -%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33 -%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF -%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399 -%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933 -%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF -%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC -%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699 -%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33 -%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100 -%000011111111220000002200000022222222440000004400000044444444 -%550000005500000055555555770000007700000077777777880000008800 -%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB -%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF -%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF -%524C45FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFF -%FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFF -%FDFCFFFDFCFFFDFCFFFD91FFA8A87D7D527D527D52FD047DFD6EFFA87D52 -%522727FD05F827FD05F827F82727527DA8FD65FFA87D2727F827F827F827 -%F8272727F827F827F8272727F827F827F85252A8FD5FFFA87D2727F8F8F8 -%27F827F827F8F8F827F827F827F8F8F827F827F827F827F8F8F82752A8FD -%5AFFA85227F8272727F8272727F827F82752A8A8FFFFFFA8A87D7D2727F8 -%272727F8272727F827F8527DFD56FF7D27F827F827F827F827F827F8F827 -%7DA8FD0BFF7D27F827F827F827F827F827F8F8277DA8FD51FF7D2727F827 -%F827F8FD0527F8277DFD10FF7DF8272727F8272727F8272727F8277DFD4E -%FF7D27F827F827F8F827A87D27F827F827A8FD12FFA827F8F827F8A87D27 -%F8F8F827F8F8277DFD4AFFA82727F827F827F8527DFFFF52F827F852A8FD -%15FFFD0527FFFFA85227F8272727F852A8FD46FFA87DF8F8F827F8F827A8 -%FFFFFF52F827F827A8FD17FF27F8F8F852FFFFFFA852F827F827F82752FD -%44FF7D27F8272727F852A8FD04FFA8F827F827A8FD18FFA8F827F827A8FD -%04FFA82727F827F82727A8FD41FF52F8F827F8F8277DFD06FF27F8F8F852 -%FD0DFFA8FD0CFF7DF827F852FD06FF7D27F827F827F852A8FD3DFFA8FD04 -%27F82752FD07FFA827F82727FD0CFFA82752527DA8FD0AFF27F827F8A8FD -%07FF7DF8272727F852A8FD3BFF7DF8F8F827F827A8FD08FF7DF827F87DFD -%0CFFA827F827F8277DFD09FF7DF8F8F852FD08FFA827F8F827F8277DFD39 -%FF7DF8272727F87DFD0AFF2727F827A8FD0DFF2727F827F8F852FD09FF27 -%27F852FD0AFF5227F827F82752FD36FFA852F827F8F827A8FD0AFFA827F8 -%F852FD0EFF27F827F827F8F87DFD08FF52F827F8A8FD0AFF7D27F827F8F8 -%27FD34FFA827F827F82752FD0CFFA8F827F8A8FD0EFF2727F8272727F827 -%A8FD07FF7D27F8277DFD0CFF52F8FD0427FD32FFA827F827F8F852FD0DFF -%52F8F827A8FD0DFF2727F827F827F827F87DFD07FFA8F827F87DFD0DFF7D -%F827F8F8F8A8FD2FFFA827F827F8277DFD0EFF7DF82727FD08FFA8A8FFFF -%FF5227F8272727F827272752FD07FFA827F82752FD0EFF7DF8272727F8A8 -%FD2DFF7D27F827F827A8FD0FFF52F8F827A8FD07FFFD0427F827F827F827 -%F827F827F827A8FD07FFF827F852FD0FFFA8F827F8F8F8A8FD2CFFA8F8FD -%0427FD10FF7DF82727FD08FF52F827F8272727F8272727F8FD0427FD08FF -%27F82752FD0FFFA827F827F827A8FD2DFFA8F827F827F87DFD0EFF5227F8 -%27A8FD07FF2727F827F827F827F827F827F827F852FD07FFA8F827F852FD -%0EFF7D27F827F827A8FD2FFFA8F8272727F87DFD0DFF7DF827F8A8FD07FF -%7DF8272727F8272727F8272727F8277DFD07FFA827F8277DFD0DFF5227F8 -%27F827A8FD31FFA827F8F827F852A8FD0BFF7DF8F8F87DFD07FFA827F827 -%F827F827F827F827F827F8FD08FF7DF827F87DFD0CFF27F8F827F827A8FD -%34FF2727F827F8277DFD0BFFF827F852FD08FF7D272727F8272727F82727 -%27F87DFD08FF5227F827A8FD0AFFA82727F827F852A8FD36FF52F8F827F8 -%F852FD0AFF27F82727FD09FF52F8F827F827F827F827F852FD08FFA827F8 -%2727FD0AFF7DF827F827F852FD39FF7D27F82727F827A8FD08FF5227F827 -%7DFD09FF7D27F827F827F827277DFD09FF7DF827F87DFD08FFA852F827F8 -%27F87DFD3BFFA827F827F8F8F87DA8FD06FFA8F827F827FD0AFFA87D5227 -%27527DFD0BFF27F8F827A8FD07FF52F8F827F8F827A8FD3EFF7DF8272727 -%F8277DFD06FF52F827F87DFD1AFF7D27F82752FD06FFA82727F827F82752 -%FD41FFA827F8F827F8F827A8FD04FFA8F8F827F8A8FD18FFA827F827F8A8 -%FD04FF7D52F827F827F8277DFD44FF5227F8272727F852A8FFFFFF52F8F8 -%2727FD18FF27F827F852FFFFFFA85227F827F827F87DFD47FFA852F827F8 -%27F82727A8FFFF27F8F8F827FD15FFA827F827F827FFFF7D52F8F8F827F8 -%F827A8FD4AFFA82727F8272727F8527DA8FD0527FD13FFA827F827F827A8 -%A82727F827F827F8277DFD4EFF7D27F827F827F8272727F827F8F8F87DFD -%10FF7D27F827F8272727F8F8F827F8F8277DFD52FF7D2727F827F8272727 -%F8272727F8277DFD0CFF7D2727F827F8272727F8272727F8527DFD56FF7D -%52F8F8F827F827F827F827F8F827527DA8A8FFA8FFA87D5227F8F8F827F8 -%27F827F827F827277DA8FD59FFA85252F827F8272727F8272727F8FD0727 -%F827F827F8272727F827F827277DA8FD5EFFA8A85227F827F827F827F827 -%F827F827F827F827F827F827F8F8F827277D7DFD65FFA87D7D2727F827F8 -%F8F827F827F827F827F827275252A8A8FD6CFFA8A87D7DFD07527D7DA8A8 -%FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFF -%FDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFFFDFCFF -%FDFCFFFDFCFFFD90FFFF -%%EndData -%ADOEndClientInjection: DocumentHeader "AI11EPS" -%%Pages: 1 -%%DocumentNeededResources: -%%DocumentSuppliedResources: procset Adobe_AGM_Image 1.0 0 -%%+ procset Adobe_CoolType_Utility_T42 1.0 0 -%%+ procset Adobe_CoolType_Utility_MAKEOCF 1.23 0 -%%+ procset Adobe_CoolType_Core 2.31 0 -%%+ procset Adobe_AGM_Core 2.0 0 -%%+ procset Adobe_AGM_Utils 1.0 0 -%%DocumentFonts: -%%DocumentNeededFonts: -%%DocumentNeededFeatures: -%%DocumentSuppliedFeatures: -%%DocumentCustomColors: -%%CMYKCustomColor: -%%RGBCustomColor: -%%EndComments - - - - - - - -%%BeginDefaults -%%ViewingOrientation: 1 0 0 1 -%%EndDefaults -%%BeginProlog -%%BeginResource: procset Adobe_AGM_Utils 1.0 0 -%%Version: 1.0 0 -%%Copyright: Copyright(C)2000-2006 Adobe Systems, Inc. All Rights Reserved. -systemdict/setpacking known -{currentpacking true setpacking}if -userdict/Adobe_AGM_Utils 75 dict dup begin put -/bdf -{bind def}bind def -/nd{null def}bdf -/xdf -{exch def}bdf -/ldf -{load def}bdf -/ddf -{put}bdf -/xddf -{3 -1 roll put}bdf -/xpt -{exch put}bdf -/ndf -{ - exch dup where{ - pop pop pop - }{ - xdf - }ifelse -}def -/cdndf -{ - exch dup currentdict exch known{ - pop pop - }{ - exch def - }ifelse -}def -/gx -{get exec}bdf -/ps_level - /languagelevel where{ - pop systemdict/languagelevel gx - }{ - 1 - }ifelse -def -/level2 - ps_level 2 ge -def -/level3 - ps_level 3 ge -def -/ps_version - {version cvr}stopped{-1}if -def -/set_gvm -{currentglobal exch setglobal}bdf -/reset_gvm -{setglobal}bdf -/makereadonlyarray -{ - /packedarray where{pop packedarray - }{ - array astore readonly}ifelse -}bdf -/map_reserved_ink_name -{ - dup type/stringtype eq{ - dup/Red eq{ - pop(_Red_) - }{ - dup/Green eq{ - pop(_Green_) - }{ - dup/Blue eq{ - pop(_Blue_) - }{ - dup()cvn eq{ - pop(Process) - }if - }ifelse - }ifelse - }ifelse - }if -}bdf -/AGMUTIL_GSTATE 22 dict def -/get_gstate -{ - AGMUTIL_GSTATE begin - /AGMUTIL_GSTATE_clr_spc currentcolorspace def - /AGMUTIL_GSTATE_clr_indx 0 def - /AGMUTIL_GSTATE_clr_comps 12 array def - mark currentcolor counttomark - {AGMUTIL_GSTATE_clr_comps AGMUTIL_GSTATE_clr_indx 3 -1 roll put - /AGMUTIL_GSTATE_clr_indx AGMUTIL_GSTATE_clr_indx 1 add def}repeat pop - /AGMUTIL_GSTATE_fnt rootfont def - /AGMUTIL_GSTATE_lw currentlinewidth def - /AGMUTIL_GSTATE_lc currentlinecap def - /AGMUTIL_GSTATE_lj currentlinejoin def - /AGMUTIL_GSTATE_ml currentmiterlimit def - currentdash/AGMUTIL_GSTATE_do xdf/AGMUTIL_GSTATE_da xdf - /AGMUTIL_GSTATE_sa currentstrokeadjust def - /AGMUTIL_GSTATE_clr_rnd currentcolorrendering def - /AGMUTIL_GSTATE_op currentoverprint def - /AGMUTIL_GSTATE_bg currentblackgeneration cvlit def - /AGMUTIL_GSTATE_ucr currentundercolorremoval cvlit def - currentcolortransfer cvlit/AGMUTIL_GSTATE_gy_xfer xdf cvlit/AGMUTIL_GSTATE_b_xfer xdf - cvlit/AGMUTIL_GSTATE_g_xfer xdf cvlit/AGMUTIL_GSTATE_r_xfer xdf - /AGMUTIL_GSTATE_ht currenthalftone def - /AGMUTIL_GSTATE_flt currentflat def - end -}def -/set_gstate -{ - AGMUTIL_GSTATE begin - AGMUTIL_GSTATE_clr_spc setcolorspace - AGMUTIL_GSTATE_clr_indx{AGMUTIL_GSTATE_clr_comps AGMUTIL_GSTATE_clr_indx 1 sub get - /AGMUTIL_GSTATE_clr_indx AGMUTIL_GSTATE_clr_indx 1 sub def}repeat setcolor - AGMUTIL_GSTATE_fnt setfont - AGMUTIL_GSTATE_lw setlinewidth - AGMUTIL_GSTATE_lc setlinecap - AGMUTIL_GSTATE_lj setlinejoin - AGMUTIL_GSTATE_ml setmiterlimit - AGMUTIL_GSTATE_da AGMUTIL_GSTATE_do setdash - AGMUTIL_GSTATE_sa setstrokeadjust - AGMUTIL_GSTATE_clr_rnd setcolorrendering - AGMUTIL_GSTATE_op setoverprint - AGMUTIL_GSTATE_bg cvx setblackgeneration - AGMUTIL_GSTATE_ucr cvx setundercolorremoval - AGMUTIL_GSTATE_r_xfer cvx AGMUTIL_GSTATE_g_xfer cvx AGMUTIL_GSTATE_b_xfer cvx - AGMUTIL_GSTATE_gy_xfer cvx setcolortransfer - AGMUTIL_GSTATE_ht/HalftoneType get dup 9 eq exch 100 eq or - { - currenthalftone/HalftoneType get AGMUTIL_GSTATE_ht/HalftoneType get ne - { - mark AGMUTIL_GSTATE_ht{sethalftone}stopped cleartomark - }if - }{ - AGMUTIL_GSTATE_ht sethalftone - }ifelse - AGMUTIL_GSTATE_flt setflat - end -}def -/get_gstate_and_matrix -{ - AGMUTIL_GSTATE begin - /AGMUTIL_GSTATE_ctm matrix currentmatrix def - end - get_gstate -}def -/set_gstate_and_matrix -{ - set_gstate - AGMUTIL_GSTATE begin - AGMUTIL_GSTATE_ctm setmatrix - end -}def -/AGMUTIL_str256 256 string def -/AGMUTIL_src256 256 string def -/AGMUTIL_dst64 64 string def -/AGMUTIL_srcLen nd -/AGMUTIL_ndx nd -/AGMUTIL_cpd nd -/capture_cpd{ - //Adobe_AGM_Utils/AGMUTIL_cpd currentpagedevice ddf -}def -/thold_halftone -{ - level3 - {sethalftone currenthalftone} - { - dup/HalftoneType get 3 eq - { - sethalftone currenthalftone - }{ - begin - Width Height mul{ - Thresholds read{pop}if - }repeat - end - currenthalftone - }ifelse - }ifelse -}def -/rdcmntline -{ - currentfile AGMUTIL_str256 readline pop - (%)anchorsearch{pop}if -}bdf -/filter_cmyk -{ - dup type/filetype ne{ - exch()/SubFileDecode filter - }{ - exch pop - } - ifelse - [ - exch - { - AGMUTIL_src256 readstring pop - dup length/AGMUTIL_srcLen exch def - /AGMUTIL_ndx 0 def - AGMCORE_plate_ndx 4 AGMUTIL_srcLen 1 sub{ - 1 index exch get - AGMUTIL_dst64 AGMUTIL_ndx 3 -1 roll put - /AGMUTIL_ndx AGMUTIL_ndx 1 add def - }for - pop - AGMUTIL_dst64 0 AGMUTIL_ndx getinterval - } - bind - /exec cvx - ]cvx -}bdf -/filter_indexed_devn -{ - cvi Names length mul names_index add Lookup exch get -}bdf -/filter_devn -{ - 4 dict begin - /srcStr xdf - /dstStr xdf - dup type/filetype ne{ - 0()/SubFileDecode filter - }if - [ - exch - [ - /devicen_colorspace_dict/AGMCORE_gget cvx/begin cvx - currentdict/srcStr get/readstring cvx/pop cvx - /dup cvx/length cvx 0/gt cvx[ - Adobe_AGM_Utils/AGMUTIL_ndx 0/ddf cvx - names_index Names length currentdict/srcStr get length 1 sub{ - 1/index cvx/exch cvx/get cvx - currentdict/dstStr get/AGMUTIL_ndx/load cvx 3 -1/roll cvx/put cvx - Adobe_AGM_Utils/AGMUTIL_ndx/AGMUTIL_ndx/load cvx 1/add cvx/ddf cvx - }for - currentdict/dstStr get 0/AGMUTIL_ndx/load cvx/getinterval cvx - ]cvx/if cvx - /end cvx - ]cvx - bind - /exec cvx - ]cvx - end -}bdf -/AGMUTIL_imagefile nd -/read_image_file -{ - AGMUTIL_imagefile 0 setfileposition - 10 dict begin - /imageDict xdf - /imbufLen Width BitsPerComponent mul 7 add 8 idiv def - /imbufIdx 0 def - /origDataSource imageDict/DataSource get def - /origMultipleDataSources imageDict/MultipleDataSources get def - /origDecode imageDict/Decode get def - /dstDataStr imageDict/Width get colorSpaceElemCnt mul string def - imageDict/MultipleDataSources known{MultipleDataSources}{false}ifelse - { - /imbufCnt imageDict/DataSource get length def - /imbufs imbufCnt array def - 0 1 imbufCnt 1 sub{ - /imbufIdx xdf - imbufs imbufIdx imbufLen string put - imageDict/DataSource get imbufIdx[AGMUTIL_imagefile imbufs imbufIdx get/readstring cvx/pop cvx]cvx put - }for - DeviceN_PS2{ - imageDict begin - /DataSource[DataSource/devn_sep_datasource cvx]cvx def - /MultipleDataSources false def - /Decode[0 1]def - end - }if - }{ - /imbuf imbufLen string def - Indexed_DeviceN level3 not and DeviceN_NoneName or{ - /srcDataStrs[imageDict begin - currentdict/MultipleDataSources known{MultipleDataSources{DataSource length}{1}ifelse}{1}ifelse - { - Width Decode length 2 div mul cvi string - }repeat - end]def - imageDict begin - /DataSource[AGMUTIL_imagefile Decode BitsPerComponent false 1/filter_indexed_devn load dstDataStr srcDataStrs devn_alt_datasource/exec cvx]cvx def - /Decode[0 1]def - end - }{ - imageDict/DataSource[1 string dup 0 AGMUTIL_imagefile Decode length 2 idiv string/readstring cvx/pop cvx names_index/get cvx/put cvx]cvx put - imageDict/Decode[0 1]put - }ifelse - }ifelse - imageDict exch - load exec - imageDict/DataSource origDataSource put - imageDict/MultipleDataSources origMultipleDataSources put - imageDict/Decode origDecode put - end -}bdf -/write_image_file -{ - begin - {(AGMUTIL_imagefile)(w+)file}stopped{ - false - }{ - Adobe_AGM_Utils/AGMUTIL_imagefile xddf - 2 dict begin - /imbufLen Width BitsPerComponent mul 7 add 8 idiv def - MultipleDataSources{DataSource 0 get}{DataSource}ifelse type/filetype eq{ - /imbuf imbufLen string def - }if - 1 1 Height MultipleDataSources not{Decode length 2 idiv mul}if{ - pop - MultipleDataSources{ - 0 1 DataSource length 1 sub{ - DataSource type dup - /arraytype eq{ - pop DataSource exch gx - }{ - /filetype eq{ - DataSource exch get imbuf readstring pop - }{ - DataSource exch get - }ifelse - }ifelse - AGMUTIL_imagefile exch writestring - }for - }{ - DataSource type dup - /arraytype eq{ - pop DataSource exec - }{ - /filetype eq{ - DataSource imbuf readstring pop - }{ - DataSource - }ifelse - }ifelse - AGMUTIL_imagefile exch writestring - }ifelse - }for - end - true - }ifelse - end -}bdf -/close_image_file -{ - AGMUTIL_imagefile closefile(AGMUTIL_imagefile)deletefile -}def -statusdict/product known userdict/AGMP_current_show known not and{ - /pstr statusdict/product get def - pstr(HP LaserJet 2200)eq - pstr(HP LaserJet 4000 Series)eq or - pstr(HP LaserJet 4050 Series )eq or - pstr(HP LaserJet 8000 Series)eq or - pstr(HP LaserJet 8100 Series)eq or - pstr(HP LaserJet 8150 Series)eq or - pstr(HP LaserJet 5000 Series)eq or - pstr(HP LaserJet 5100 Series)eq or - pstr(HP Color LaserJet 4500)eq or - pstr(HP Color LaserJet 4600)eq or - pstr(HP LaserJet 5Si)eq or - pstr(HP LaserJet 1200 Series)eq or - pstr(HP LaserJet 1300 Series)eq or - pstr(HP LaserJet 4100 Series)eq or - { - userdict/AGMP_current_show/show load put - userdict/show{ - currentcolorspace 0 get - /Pattern eq - {false charpath f} - {AGMP_current_show}ifelse - }put - }if - currentdict/pstr undef -}if -/consumeimagedata -{ - begin - AGMIMG_init_common - currentdict/MultipleDataSources known not - {/MultipleDataSources false def}if - MultipleDataSources - { - DataSource 0 get type - dup/filetype eq - { - 1 dict begin - /flushbuffer Width cvi string def - 1 1 Height cvi - { - pop - 0 1 DataSource length 1 sub - { - DataSource exch get - flushbuffer readstring pop pop - }for - }for - end - }if - dup/arraytype eq exch/packedarraytype eq or DataSource 0 get xcheck and - { - Width Height mul cvi - { - 0 1 DataSource length 1 sub - {dup DataSource exch gx length exch 0 ne{pop}if}for - dup 0 eq - {pop exit}if - sub dup 0 le - {exit}if - }loop - pop - }if - } - { - /DataSource load type - dup/filetype eq - { - 1 dict begin - /flushbuffer Width Decode length 2 idiv mul cvi string def - 1 1 Height{pop DataSource flushbuffer readstring pop pop}for - end - }if - dup/arraytype eq exch/packedarraytype eq or/DataSource load xcheck and - { - Height Width BitsPerComponent mul 8 BitsPerComponent sub add 8 idiv Decode length 2 idiv mul mul - { - DataSource length dup 0 eq - {pop exit}if - sub dup 0 le - {exit}if - }loop - pop - }if - }ifelse - end -}bdf -/addprocs -{ - 2{/exec load}repeat - 3 1 roll - [5 1 roll]bind cvx -}def -/modify_halftone_xfer -{ - currenthalftone dup length dict copy begin - currentdict 2 index known{ - 1 index load dup length dict copy begin - currentdict/TransferFunction known{ - /TransferFunction load - }{ - currenttransfer - }ifelse - addprocs/TransferFunction xdf - currentdict end def - currentdict end sethalftone - }{ - currentdict/TransferFunction known{ - /TransferFunction load - }{ - currenttransfer - }ifelse - addprocs/TransferFunction xdf - currentdict end sethalftone - pop - }ifelse -}def -/clonearray -{ - dup xcheck exch - dup length array exch - Adobe_AGM_Core/AGMCORE_tmp -1 ddf - { - Adobe_AGM_Core/AGMCORE_tmp 2 copy get 1 add ddf - dup type/dicttype eq - { - Adobe_AGM_Core/AGMCORE_tmp get - exch - clonedict - Adobe_AGM_Core/AGMCORE_tmp 4 -1 roll ddf - }if - dup type/arraytype eq - { - Adobe_AGM_Core/AGMCORE_tmp get exch - clonearray - Adobe_AGM_Core/AGMCORE_tmp 4 -1 roll ddf - }if - exch dup - Adobe_AGM_Core/AGMCORE_tmp get 4 -1 roll put - }forall - exch{cvx}if -}bdf -/clonedict -{ - dup length dict - begin - { - dup type/dicttype eq - {clonedict}if - dup type/arraytype eq - {clonearray}if - def - }forall - currentdict - end -}bdf -/DeviceN_PS2 -{ - /currentcolorspace AGMCORE_gget 0 get/DeviceN eq level3 not and -}bdf -/Indexed_DeviceN -{ - /indexed_colorspace_dict AGMCORE_gget dup null ne{ - dup/CSDBase known{ - /CSDBase get/CSD get_res/Names known - }{ - pop false - }ifelse - }{ - pop false - }ifelse -}bdf -/DeviceN_NoneName -{ - /Names where{ - pop - false Names - { - (None)eq or - }forall - }{ - false - }ifelse -}bdf -/DeviceN_PS2_inRip_seps -{ - /AGMCORE_in_rip_sep where - { - pop dup type dup/arraytype eq exch/packedarraytype eq or - { - dup 0 get/DeviceN eq level3 not and AGMCORE_in_rip_sep and - { - /currentcolorspace exch AGMCORE_gput - false - }{ - true - }ifelse - }{ - true - }ifelse - }{ - true - }ifelse -}bdf -/base_colorspace_type -{ - dup type/arraytype eq{0 get}if -}bdf -/currentdistillerparams where{pop currentdistillerparams/CoreDistVersion get 5000 lt}{true}ifelse -{ - /pdfmark_5{cleartomark}bind def -}{ - /pdfmark_5{pdfmark}bind def -}ifelse -/ReadBypdfmark_5 -{ - currentfile exch 0 exch/SubFileDecode filter - /currentdistillerparams where - {pop currentdistillerparams/CoreDistVersion get 5000 lt}{true}ifelse - {flushfile cleartomark} - {/PUT pdfmark}ifelse -}bdf -/ReadBypdfmark_5_string -{ - 2 dict begin - /makerString exch def string/tmpString exch def - { - currentfile tmpString readline not{pop exit}if - makerString anchorsearch - { - pop pop cleartomark exit - }{ - 3 copy/PUT pdfmark_5 pop 2 copy(\n)/PUT pdfmark_5 - }ifelse - }loop - end -}bdf -/xpdfm -{ - { - dup 0 get/Label eq - { - aload length[exch 1 add 1 roll/PAGELABEL - }{ - aload pop - [{ThisPage}<<5 -2 roll>>/PUT - }ifelse - pdfmark_5 - }forall -}bdf -/lmt{ - dup 2 index le{exch}if pop dup 2 index ge{exch}if pop -}bdf -/int{ - dup 2 index sub 3 index 5 index sub div 6 -2 roll sub mul exch pop add exch pop -}bdf -/ds{ - Adobe_AGM_Utils begin -}bdf -/dt{ - currentdict Adobe_AGM_Utils eq{ - end - }if -}bdf -systemdict/setpacking known -{setpacking}if -%%EndResource -%%BeginResource: procset Adobe_AGM_Core 2.0 0 -%%Version: 2.0 0 -%%Copyright: Copyright(C)1997-2007 Adobe Systems, Inc. All Rights Reserved. -systemdict/setpacking known -{ - currentpacking - true setpacking -}if -userdict/Adobe_AGM_Core 209 dict dup begin put -/Adobe_AGM_Core_Id/Adobe_AGM_Core_2.0_0 def -/AGMCORE_str256 256 string def -/AGMCORE_save nd -/AGMCORE_graphicsave nd -/AGMCORE_c 0 def -/AGMCORE_m 0 def -/AGMCORE_y 0 def -/AGMCORE_k 0 def -/AGMCORE_cmykbuf 4 array def -/AGMCORE_screen[currentscreen]cvx def -/AGMCORE_tmp 0 def -/AGMCORE_&setgray nd -/AGMCORE_&setcolor nd -/AGMCORE_&setcolorspace nd -/AGMCORE_&setcmykcolor nd -/AGMCORE_cyan_plate nd -/AGMCORE_magenta_plate nd -/AGMCORE_yellow_plate nd -/AGMCORE_black_plate nd -/AGMCORE_plate_ndx nd -/AGMCORE_get_ink_data nd -/AGMCORE_is_cmyk_sep nd -/AGMCORE_host_sep nd -/AGMCORE_avoid_L2_sep_space nd -/AGMCORE_distilling nd -/AGMCORE_composite_job nd -/AGMCORE_producing_seps nd -/AGMCORE_ps_level -1 def -/AGMCORE_ps_version -1 def -/AGMCORE_environ_ok nd -/AGMCORE_CSD_cache 0 dict def -/AGMCORE_currentoverprint false def -/AGMCORE_deltaX nd -/AGMCORE_deltaY nd -/AGMCORE_name nd -/AGMCORE_sep_special nd -/AGMCORE_err_strings 4 dict def -/AGMCORE_cur_err nd -/AGMCORE_current_spot_alias false def -/AGMCORE_inverting false def -/AGMCORE_feature_dictCount nd -/AGMCORE_feature_opCount nd -/AGMCORE_feature_ctm nd -/AGMCORE_ConvertToProcess false def -/AGMCORE_Default_CTM matrix def -/AGMCORE_Default_PageSize nd -/AGMCORE_Default_flatness nd -/AGMCORE_currentbg nd -/AGMCORE_currentucr nd -/AGMCORE_pattern_paint_type 0 def -/knockout_unitsq nd -currentglobal true setglobal -[/CSA/Gradient/Procedure] -{ - /Generic/Category findresource dup length dict copy/Category defineresource pop -}forall -setglobal -/AGMCORE_key_known -{ - where{ - /Adobe_AGM_Core_Id known - }{ - false - }ifelse -}ndf -/flushinput -{ - save - 2 dict begin - /CompareBuffer 3 -1 roll def - /readbuffer 256 string def - mark - { - currentfile readbuffer{readline}stopped - {cleartomark mark} - { - not - {pop exit} - if - CompareBuffer eq - {exit} - if - }ifelse - }loop - cleartomark - end - restore -}bdf -/getspotfunction -{ - AGMCORE_screen exch pop exch pop - dup type/dicttype eq{ - dup/HalftoneType get 1 eq{ - /SpotFunction get - }{ - dup/HalftoneType get 2 eq{ - /GraySpotFunction get - }{ - pop - { - abs exch abs 2 copy add 1 gt{ - 1 sub dup mul exch 1 sub dup mul add 1 sub - }{ - dup mul exch dup mul add 1 exch sub - }ifelse - }bind - }ifelse - }ifelse - }if -}def -/np -{newpath}bdf -/clp_npth -{clip np}def -/eoclp_npth -{eoclip np}def -/npth_clp -{np clip}def -/graphic_setup -{ - /AGMCORE_graphicsave save store - concat - 0 setgray - 0 setlinecap - 0 setlinejoin - 1 setlinewidth - []0 setdash - 10 setmiterlimit - np - false setoverprint - false setstrokeadjust - //Adobe_AGM_Core/spot_alias gx - /Adobe_AGM_Image where{ - pop - Adobe_AGM_Image/spot_alias 2 copy known{ - gx - }{ - pop pop - }ifelse - }if - /sep_colorspace_dict null AGMCORE_gput - 100 dict begin - /dictstackcount countdictstack def - /showpage{}def - mark -}def -/graphic_cleanup -{ - cleartomark - dictstackcount 1 countdictstack 1 sub{end}for - end - AGMCORE_graphicsave restore -}def -/compose_error_msg -{ - grestoreall initgraphics - /Helvetica findfont 10 scalefont setfont - /AGMCORE_deltaY 100 def - /AGMCORE_deltaX 310 def - clippath pathbbox np pop pop 36 add exch 36 add exch moveto - 0 AGMCORE_deltaY rlineto AGMCORE_deltaX 0 rlineto - 0 AGMCORE_deltaY neg rlineto AGMCORE_deltaX neg 0 rlineto closepath - 0 AGMCORE_&setgray - gsave 1 AGMCORE_&setgray fill grestore - 1 setlinewidth gsave stroke grestore - currentpoint AGMCORE_deltaY 15 sub add exch 8 add exch moveto - /AGMCORE_deltaY 12 def - /AGMCORE_tmp 0 def - AGMCORE_err_strings exch get - { - dup 32 eq - { - pop - AGMCORE_str256 0 AGMCORE_tmp getinterval - stringwidth pop currentpoint pop add AGMCORE_deltaX 28 add gt - { - currentpoint AGMCORE_deltaY sub exch pop - clippath pathbbox pop pop pop 44 add exch moveto - }if - AGMCORE_str256 0 AGMCORE_tmp getinterval show( )show - 0 1 AGMCORE_str256 length 1 sub - { - AGMCORE_str256 exch 0 put - }for - /AGMCORE_tmp 0 def - }{ - AGMCORE_str256 exch AGMCORE_tmp xpt - /AGMCORE_tmp AGMCORE_tmp 1 add def - }ifelse - }forall -}bdf -/AGMCORE_CMYKDeviceNColorspaces[ - [/Separation/None/DeviceCMYK{0 0 0}] - [/Separation(Black)/DeviceCMYK{0 0 0 4 -1 roll}bind] - [/Separation(Yellow)/DeviceCMYK{0 0 3 -1 roll 0}bind] - [/DeviceN[(Yellow)(Black)]/DeviceCMYK{0 0 4 2 roll}bind] - [/Separation(Magenta)/DeviceCMYK{0 exch 0 0}bind] - [/DeviceN[(Magenta)(Black)]/DeviceCMYK{0 3 1 roll 0 exch}bind] - [/DeviceN[(Magenta)(Yellow)]/DeviceCMYK{0 3 1 roll 0}bind] - [/DeviceN[(Magenta)(Yellow)(Black)]/DeviceCMYK{0 4 1 roll}bind] - [/Separation(Cyan)/DeviceCMYK{0 0 0}] - [/DeviceN[(Cyan)(Black)]/DeviceCMYK{0 0 3 -1 roll}bind] - [/DeviceN[(Cyan)(Yellow)]/DeviceCMYK{0 exch 0}bind] - [/DeviceN[(Cyan)(Yellow)(Black)]/DeviceCMYK{0 3 1 roll}bind] - [/DeviceN[(Cyan)(Magenta)]/DeviceCMYK{0 0}] - [/DeviceN[(Cyan)(Magenta)(Black)]/DeviceCMYK{0 exch}bind] - [/DeviceN[(Cyan)(Magenta)(Yellow)]/DeviceCMYK{0}] - [/DeviceCMYK] -]def -/ds{ - Adobe_AGM_Core begin - /currentdistillerparams where - { - pop currentdistillerparams/CoreDistVersion get 5000 lt - {<>setdistillerparams}if - }if - /AGMCORE_ps_version xdf - /AGMCORE_ps_level xdf - errordict/AGM_handleerror known not{ - errordict/AGM_handleerror errordict/handleerror get put - errordict/handleerror{ - Adobe_AGM_Core begin - $error/newerror get AGMCORE_cur_err null ne and{ - $error/newerror false put - AGMCORE_cur_err compose_error_msg - }if - $error/newerror true put - end - errordict/AGM_handleerror get exec - }bind put - }if - /AGMCORE_environ_ok - ps_level AGMCORE_ps_level ge - ps_version AGMCORE_ps_version ge and - AGMCORE_ps_level -1 eq or - def - AGMCORE_environ_ok not - {/AGMCORE_cur_err/AGMCORE_bad_environ def}if - /AGMCORE_&setgray systemdict/setgray get def - level2{ - /AGMCORE_&setcolor systemdict/setcolor get def - /AGMCORE_&setcolorspace systemdict/setcolorspace get def - }if - /AGMCORE_currentbg currentblackgeneration def - /AGMCORE_currentucr currentundercolorremoval def - /AGMCORE_Default_flatness currentflat def - /AGMCORE_distilling - /product where{ - pop systemdict/setdistillerparams known product(Adobe PostScript Parser)ne and - }{ - false - }ifelse - def - /AGMCORE_GSTATE AGMCORE_key_known not{ - /AGMCORE_GSTATE 21 dict def - /AGMCORE_tmpmatrix matrix def - /AGMCORE_gstack 64 array def - /AGMCORE_gstackptr 0 def - /AGMCORE_gstacksaveptr 0 def - /AGMCORE_gstackframekeys 14 def - /AGMCORE_&gsave/gsave ldf - /AGMCORE_&grestore/grestore ldf - /AGMCORE_&grestoreall/grestoreall ldf - /AGMCORE_&save/save ldf - /AGMCORE_&setoverprint/setoverprint ldf - /AGMCORE_gdictcopy{ - begin - {def}forall - end - }def - /AGMCORE_gput{ - AGMCORE_gstack AGMCORE_gstackptr get - 3 1 roll - put - }def - /AGMCORE_gget{ - AGMCORE_gstack AGMCORE_gstackptr get - exch - get - }def - /gsave{ - AGMCORE_&gsave - AGMCORE_gstack AGMCORE_gstackptr get - AGMCORE_gstackptr 1 add - dup 64 ge{limitcheck}if - /AGMCORE_gstackptr exch store - AGMCORE_gstack AGMCORE_gstackptr get - AGMCORE_gdictcopy - }def - /grestore{ - AGMCORE_&grestore - AGMCORE_gstackptr 1 sub - dup AGMCORE_gstacksaveptr lt{1 add}if - dup AGMCORE_gstack exch get dup/AGMCORE_currentoverprint known - {/AGMCORE_currentoverprint get setoverprint}{pop}ifelse - /AGMCORE_gstackptr exch store - }def - /grestoreall{ - AGMCORE_&grestoreall - /AGMCORE_gstackptr AGMCORE_gstacksaveptr store - }def - /save{ - AGMCORE_&save - AGMCORE_gstack AGMCORE_gstackptr get - AGMCORE_gstackptr 1 add - dup 64 ge{limitcheck}if - /AGMCORE_gstackptr exch store - /AGMCORE_gstacksaveptr AGMCORE_gstackptr store - AGMCORE_gstack AGMCORE_gstackptr get - AGMCORE_gdictcopy - }def - /setoverprint{ - dup/AGMCORE_currentoverprint exch AGMCORE_gput AGMCORE_&setoverprint - }def - 0 1 AGMCORE_gstack length 1 sub{ - AGMCORE_gstack exch AGMCORE_gstackframekeys dict put - }for - }if - level3/AGMCORE_&sysshfill AGMCORE_key_known not and - { - /AGMCORE_&sysshfill systemdict/shfill get def - /AGMCORE_&sysmakepattern systemdict/makepattern get def - /AGMCORE_&usrmakepattern/makepattern load def - }if - /currentcmykcolor[0 0 0 0]AGMCORE_gput - /currentstrokeadjust false AGMCORE_gput - /currentcolorspace[/DeviceGray]AGMCORE_gput - /sep_tint 0 AGMCORE_gput - /devicen_tints[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]AGMCORE_gput - /sep_colorspace_dict null AGMCORE_gput - /devicen_colorspace_dict null AGMCORE_gput - /indexed_colorspace_dict null AGMCORE_gput - /currentcolor_intent()AGMCORE_gput - /customcolor_tint 1 AGMCORE_gput - /absolute_colorimetric_crd null AGMCORE_gput - /relative_colorimetric_crd null AGMCORE_gput - /saturation_crd null AGMCORE_gput - /perceptual_crd null AGMCORE_gput - currentcolortransfer cvlit/AGMCore_gray_xfer xdf cvlit/AGMCore_b_xfer xdf - cvlit/AGMCore_g_xfer xdf cvlit/AGMCore_r_xfer xdf - << - /MaxPatternItem currentsystemparams/MaxPatternCache get - >> - setuserparams - end -}def -/ps -{ - /setcmykcolor where{ - pop - Adobe_AGM_Core/AGMCORE_&setcmykcolor/setcmykcolor load put - }if - Adobe_AGM_Core begin - /setcmykcolor - { - 4 copy AGMCORE_cmykbuf astore/currentcmykcolor exch AGMCORE_gput - 1 sub 4 1 roll - 3{ - 3 index add neg dup 0 lt{ - pop 0 - }if - 3 1 roll - }repeat - setrgbcolor pop - }ndf - /currentcmykcolor - { - /currentcmykcolor AGMCORE_gget aload pop - }ndf - /setoverprint - {pop}ndf - /currentoverprint - {false}ndf - /AGMCORE_cyan_plate 1 0 0 0 test_cmyk_color_plate def - /AGMCORE_magenta_plate 0 1 0 0 test_cmyk_color_plate def - /AGMCORE_yellow_plate 0 0 1 0 test_cmyk_color_plate def - /AGMCORE_black_plate 0 0 0 1 test_cmyk_color_plate def - /AGMCORE_plate_ndx - AGMCORE_cyan_plate{ - 0 - }{ - AGMCORE_magenta_plate{ - 1 - }{ - AGMCORE_yellow_plate{ - 2 - }{ - AGMCORE_black_plate{ - 3 - }{ - 4 - }ifelse - }ifelse - }ifelse - }ifelse - def - /AGMCORE_have_reported_unsupported_color_space false def - /AGMCORE_report_unsupported_color_space - { - AGMCORE_have_reported_unsupported_color_space false eq - { - (Warning: Job contains content that cannot be separated with on-host methods. This content appears on the black plate, and knocks out all other plates.)== - Adobe_AGM_Core/AGMCORE_have_reported_unsupported_color_space true ddf - }if - }def - /AGMCORE_composite_job - AGMCORE_cyan_plate AGMCORE_magenta_plate and AGMCORE_yellow_plate and AGMCORE_black_plate and def - /AGMCORE_in_rip_sep - /AGMCORE_in_rip_sep where{ - pop AGMCORE_in_rip_sep - }{ - AGMCORE_distilling - { - false - }{ - userdict/Adobe_AGM_OnHost_Seps known{ - false - }{ - level2{ - currentpagedevice/Separations 2 copy known{ - get - }{ - pop pop false - }ifelse - }{ - false - }ifelse - }ifelse - }ifelse - }ifelse - def - /AGMCORE_producing_seps AGMCORE_composite_job not AGMCORE_in_rip_sep or def - /AGMCORE_host_sep AGMCORE_producing_seps AGMCORE_in_rip_sep not and def - /AGM_preserve_spots - /AGM_preserve_spots where{ - pop AGM_preserve_spots - }{ - AGMCORE_distilling AGMCORE_producing_seps or - }ifelse - def - /AGM_is_distiller_preserving_spotimages - { - currentdistillerparams/PreserveOverprintSettings known - { - currentdistillerparams/PreserveOverprintSettings get - { - currentdistillerparams/ColorConversionStrategy known - { - currentdistillerparams/ColorConversionStrategy get - /sRGB ne - }{ - true - }ifelse - }{ - false - }ifelse - }{ - false - }ifelse - }def - /convert_spot_to_process where{pop}{ - /convert_spot_to_process - { - //Adobe_AGM_Core begin - dup map_alias{ - /Name get exch pop - }if - dup dup(None)eq exch(All)eq or - { - pop false - }{ - AGMCORE_host_sep - { - gsave - 1 0 0 0 setcmykcolor currentgray 1 exch sub - 0 1 0 0 setcmykcolor currentgray 1 exch sub - 0 0 1 0 setcmykcolor currentgray 1 exch sub - 0 0 0 1 setcmykcolor currentgray 1 exch sub - add add add 0 eq - { - pop false - }{ - false setoverprint - current_spot_alias false set_spot_alias - 1 1 1 1 6 -1 roll findcmykcustomcolor 1 setcustomcolor - set_spot_alias - currentgray 1 ne - }ifelse - grestore - }{ - AGMCORE_distilling - { - pop AGM_is_distiller_preserving_spotimages not - }{ - //Adobe_AGM_Core/AGMCORE_name xddf - false - //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 0 eq - AGMUTIL_cpd/OverrideSeparations known and - { - AGMUTIL_cpd/OverrideSeparations get - { - /HqnSpots/ProcSet resourcestatus - { - pop pop pop true - }if - }if - }if - { - AGMCORE_name/HqnSpots/ProcSet findresource/TestSpot gx not - }{ - gsave - [/Separation AGMCORE_name/DeviceGray{}]AGMCORE_&setcolorspace - false - AGMUTIL_cpd/SeparationColorNames 2 copy known - { - get - {AGMCORE_name eq or}forall - not - }{ - pop pop pop true - }ifelse - grestore - }ifelse - }ifelse - }ifelse - }ifelse - end - }def - }ifelse - /convert_to_process where{pop}{ - /convert_to_process - { - dup length 0 eq - { - pop false - }{ - AGMCORE_host_sep - { - dup true exch - { - dup(Cyan)eq exch - dup(Magenta)eq 3 -1 roll or exch - dup(Yellow)eq 3 -1 roll or exch - dup(Black)eq 3 -1 roll or - {pop} - {convert_spot_to_process and}ifelse - } - forall - { - true exch - { - dup(Cyan)eq exch - dup(Magenta)eq 3 -1 roll or exch - dup(Yellow)eq 3 -1 roll or exch - (Black)eq or and - }forall - not - }{pop false}ifelse - }{ - false exch - { - /PhotoshopDuotoneList where{pop false}{true}ifelse - { - dup(Cyan)eq exch - dup(Magenta)eq 3 -1 roll or exch - dup(Yellow)eq 3 -1 roll or exch - dup(Black)eq 3 -1 roll or - {pop} - {convert_spot_to_process or}ifelse - } - { - convert_spot_to_process or - } - ifelse - } - forall - }ifelse - }ifelse - }def - }ifelse - /AGMCORE_avoid_L2_sep_space - version cvr 2012 lt - level2 and - AGMCORE_producing_seps not and - def - /AGMCORE_is_cmyk_sep - AGMCORE_cyan_plate AGMCORE_magenta_plate or AGMCORE_yellow_plate or AGMCORE_black_plate or - def - /AGM_avoid_0_cmyk where{ - pop AGM_avoid_0_cmyk - }{ - AGM_preserve_spots - userdict/Adobe_AGM_OnHost_Seps known - userdict/Adobe_AGM_InRip_Seps known or - not and - }ifelse - { - /setcmykcolor[ - { - 4 copy add add add 0 eq currentoverprint and{ - pop 0.0005 - }if - }/exec cvx - /AGMCORE_&setcmykcolor load dup type/operatortype ne{ - /exec cvx - }if - ]cvx def - }if - /AGMCORE_IsSeparationAProcessColor - { - dup(Cyan)eq exch dup(Magenta)eq exch dup(Yellow)eq exch(Black)eq or or or - }def - AGMCORE_host_sep{ - /setcolortransfer - { - AGMCORE_cyan_plate{ - pop pop pop - }{ - AGMCORE_magenta_plate{ - 4 3 roll pop pop pop - }{ - AGMCORE_yellow_plate{ - 4 2 roll pop pop pop - }{ - 4 1 roll pop pop pop - }ifelse - }ifelse - }ifelse - settransfer - } - def - /AGMCORE_get_ink_data - AGMCORE_cyan_plate{ - {pop pop pop} - }{ - AGMCORE_magenta_plate{ - {4 3 roll pop pop pop} - }{ - AGMCORE_yellow_plate{ - {4 2 roll pop pop pop} - }{ - {4 1 roll pop pop pop} - }ifelse - }ifelse - }ifelse - def - /AGMCORE_RemoveProcessColorNames - { - 1 dict begin - /filtername - { - dup/Cyan eq 1 index(Cyan)eq or - {pop(_cyan_)}if - dup/Magenta eq 1 index(Magenta)eq or - {pop(_magenta_)}if - dup/Yellow eq 1 index(Yellow)eq or - {pop(_yellow_)}if - dup/Black eq 1 index(Black)eq or - {pop(_black_)}if - }def - dup type/arraytype eq - {[exch{filtername}forall]} - {filtername}ifelse - end - }def - level3{ - /AGMCORE_IsCurrentColor - { - dup AGMCORE_IsSeparationAProcessColor - { - AGMCORE_plate_ndx 0 eq - {dup(Cyan)eq exch/Cyan eq or}if - AGMCORE_plate_ndx 1 eq - {dup(Magenta)eq exch/Magenta eq or}if - AGMCORE_plate_ndx 2 eq - {dup(Yellow)eq exch/Yellow eq or}if - AGMCORE_plate_ndx 3 eq - {dup(Black)eq exch/Black eq or}if - AGMCORE_plate_ndx 4 eq - {pop false}if - }{ - gsave - false setoverprint - current_spot_alias false set_spot_alias - 1 1 1 1 6 -1 roll findcmykcustomcolor 1 setcustomcolor - set_spot_alias - currentgray 1 ne - grestore - }ifelse - }def - /AGMCORE_filter_functiondatasource - { - 5 dict begin - /data_in xdf - data_in type/stringtype eq - { - /ncomp xdf - /comp xdf - /string_out data_in length ncomp idiv string def - 0 ncomp data_in length 1 sub - { - string_out exch dup ncomp idiv exch data_in exch ncomp getinterval comp get 255 exch sub put - }for - string_out - }{ - string/string_in xdf - /string_out 1 string def - /component xdf - [ - data_in string_in/readstring cvx - [component/get cvx 255/exch cvx/sub cvx string_out/exch cvx 0/exch cvx/put cvx string_out]cvx - [/pop cvx()]cvx/ifelse cvx - ]cvx/ReusableStreamDecode filter - }ifelse - end - }def - /AGMCORE_separateShadingFunction - { - 2 dict begin - /paint? xdf - /channel xdf - dup type/dicttype eq - { - begin - FunctionType 0 eq - { - /DataSource channel Range length 2 idiv DataSource AGMCORE_filter_functiondatasource def - currentdict/Decode known - {/Decode Decode channel 2 mul 2 getinterval def}if - paint? not - {/Decode[1 1]def}if - }if - FunctionType 2 eq - { - paint? - { - /C0[C0 channel get 1 exch sub]def - /C1[C1 channel get 1 exch sub]def - }{ - /C0[1]def - /C1[1]def - }ifelse - }if - FunctionType 3 eq - { - /Functions[Functions{channel paint? AGMCORE_separateShadingFunction}forall]def - }if - currentdict/Range known - {/Range[0 1]def}if - currentdict - end}{ - channel get 0 paint? AGMCORE_separateShadingFunction - }ifelse - end - }def - /AGMCORE_separateShading - { - 3 -1 roll begin - currentdict/Function known - { - currentdict/Background known - {[1 index{Background 3 index get 1 exch sub}{1}ifelse]/Background xdf}if - Function 3 1 roll AGMCORE_separateShadingFunction/Function xdf - /ColorSpace[/DeviceGray]def - }{ - ColorSpace dup type/arraytype eq{0 get}if/DeviceCMYK eq - { - /ColorSpace[/DeviceN[/_cyan_/_magenta_/_yellow_/_black_]/DeviceCMYK{}]def - }{ - ColorSpace dup 1 get AGMCORE_RemoveProcessColorNames 1 exch put - }ifelse - ColorSpace 0 get/Separation eq - { - { - [1/exch cvx/sub cvx]cvx - }{ - [/pop cvx 1]cvx - }ifelse - ColorSpace 3 3 -1 roll put - pop - }{ - { - [exch ColorSpace 1 get length 1 sub exch sub/index cvx 1/exch cvx/sub cvx ColorSpace 1 get length 1 add 1/roll cvx ColorSpace 1 get length{/pop cvx}repeat]cvx - }{ - pop[ColorSpace 1 get length{/pop cvx}repeat cvx 1]cvx - }ifelse - ColorSpace 3 3 -1 roll bind put - }ifelse - ColorSpace 2/DeviceGray put - }ifelse - end - }def - /AGMCORE_separateShadingDict - { - dup/ColorSpace get - dup type/arraytype ne - {[exch]}if - dup 0 get/DeviceCMYK eq - { - exch begin - currentdict - AGMCORE_cyan_plate - {0 true}if - AGMCORE_magenta_plate - {1 true}if - AGMCORE_yellow_plate - {2 true}if - AGMCORE_black_plate - {3 true}if - AGMCORE_plate_ndx 4 eq - {0 false}if - dup not currentoverprint and - {/AGMCORE_ignoreshade true def}if - AGMCORE_separateShading - currentdict - end exch - }if - dup 0 get/Separation eq - { - exch begin - ColorSpace 1 get dup/None ne exch/All ne and - { - ColorSpace 1 get AGMCORE_IsCurrentColor AGMCORE_plate_ndx 4 lt and ColorSpace 1 get AGMCORE_IsSeparationAProcessColor not and - { - ColorSpace 2 get dup type/arraytype eq{0 get}if/DeviceCMYK eq - { - /ColorSpace - [ - /Separation - ColorSpace 1 get - /DeviceGray - [ - ColorSpace 3 get/exec cvx - 4 AGMCORE_plate_ndx sub -1/roll cvx - 4 1/roll cvx - 3[/pop cvx]cvx/repeat cvx - 1/exch cvx/sub cvx - ]cvx - ]def - }{ - AGMCORE_report_unsupported_color_space - AGMCORE_black_plate not - { - currentdict 0 false AGMCORE_separateShading - }if - }ifelse - }{ - currentdict ColorSpace 1 get AGMCORE_IsCurrentColor - 0 exch - dup not currentoverprint and - {/AGMCORE_ignoreshade true def}if - AGMCORE_separateShading - }ifelse - }if - currentdict - end exch - }if - dup 0 get/DeviceN eq - { - exch begin - ColorSpace 1 get convert_to_process - { - ColorSpace 2 get dup type/arraytype eq{0 get}if/DeviceCMYK eq - { - /ColorSpace - [ - /DeviceN - ColorSpace 1 get - /DeviceGray - [ - ColorSpace 3 get/exec cvx - 4 AGMCORE_plate_ndx sub -1/roll cvx - 4 1/roll cvx - 3[/pop cvx]cvx/repeat cvx - 1/exch cvx/sub cvx - ]cvx - ]def - }{ - AGMCORE_report_unsupported_color_space - AGMCORE_black_plate not - { - currentdict 0 false AGMCORE_separateShading - /ColorSpace[/DeviceGray]def - }if - }ifelse - }{ - currentdict - false -1 ColorSpace 1 get - { - AGMCORE_IsCurrentColor - { - 1 add - exch pop true exch exit - }if - 1 add - }forall - exch - dup not currentoverprint and - {/AGMCORE_ignoreshade true def}if - AGMCORE_separateShading - }ifelse - currentdict - end exch - }if - dup 0 get dup/DeviceCMYK eq exch dup/Separation eq exch/DeviceN eq or or not - { - exch begin - ColorSpace dup type/arraytype eq - {0 get}if - /DeviceGray ne - { - AGMCORE_report_unsupported_color_space - AGMCORE_black_plate not - { - ColorSpace 0 get/CIEBasedA eq - { - /ColorSpace[/Separation/_ciebaseda_/DeviceGray{}]def - }if - ColorSpace 0 get dup/CIEBasedABC eq exch dup/CIEBasedDEF eq exch/DeviceRGB eq or or - { - /ColorSpace[/DeviceN[/_red_/_green_/_blue_]/DeviceRGB{}]def - }if - ColorSpace 0 get/CIEBasedDEFG eq - { - /ColorSpace[/DeviceN[/_cyan_/_magenta_/_yellow_/_black_]/DeviceCMYK{}]def - }if - currentdict 0 false AGMCORE_separateShading - }if - }if - currentdict - end exch - }if - pop - dup/AGMCORE_ignoreshade known - { - begin - /ColorSpace[/Separation(None)/DeviceGray{}]def - currentdict end - }if - }def - /shfill - { - AGMCORE_separateShadingDict - dup/AGMCORE_ignoreshade known - {pop} - {AGMCORE_&sysshfill}ifelse - }def - /makepattern - { - exch - dup/PatternType get 2 eq - { - clonedict - begin - /Shading Shading AGMCORE_separateShadingDict def - Shading/AGMCORE_ignoreshade known - currentdict end exch - {pop<>}if - exch AGMCORE_&sysmakepattern - }{ - exch AGMCORE_&usrmakepattern - }ifelse - }def - }if - }if - AGMCORE_in_rip_sep{ - /setcustomcolor - { - exch aload pop - dup 7 1 roll inRip_spot_has_ink not { - 4{4 index mul 4 1 roll} - repeat - /DeviceCMYK setcolorspace - 6 -2 roll pop pop - }{ - //Adobe_AGM_Core begin - /AGMCORE_k xdf/AGMCORE_y xdf/AGMCORE_m xdf/AGMCORE_c xdf - end - [/Separation 4 -1 roll/DeviceCMYK - {dup AGMCORE_c mul exch dup AGMCORE_m mul exch dup AGMCORE_y mul exch AGMCORE_k mul} - ] - setcolorspace - }ifelse - setcolor - }ndf - /setseparationgray - { - [/Separation(All)/DeviceGray{}]setcolorspace_opt - 1 exch sub setcolor - }ndf - }{ - /setseparationgray - { - AGMCORE_&setgray - }ndf - }ifelse - /findcmykcustomcolor - { - 5 makereadonlyarray - }ndf - /setcustomcolor - { - exch aload pop pop - 4{4 index mul 4 1 roll}repeat - setcmykcolor pop - }ndf - /has_color - /colorimage where{ - AGMCORE_producing_seps{ - pop true - }{ - systemdict eq - }ifelse - }{ - false - }ifelse - def - /map_index - { - 1 index mul exch getinterval{255 div}forall - }bdf - /map_indexed_devn - { - Lookup Names length 3 -1 roll cvi map_index - }bdf - /n_color_components - { - base_colorspace_type - dup/DeviceGray eq{ - pop 1 - }{ - /DeviceCMYK eq{ - 4 - }{ - 3 - }ifelse - }ifelse - }bdf - level2{ - /mo/moveto ldf - /li/lineto ldf - /cv/curveto ldf - /knockout_unitsq - { - 1 setgray - 0 0 1 1 rectfill - }def - level2/setcolorspace AGMCORE_key_known not and{ - /AGMCORE_&&&setcolorspace/setcolorspace ldf - /AGMCORE_ReplaceMappedColor - { - dup type dup/arraytype eq exch/packedarraytype eq or - { - /AGMCORE_SpotAliasAry2 where{ - begin - dup 0 get dup/Separation eq - { - pop - dup length array copy - dup dup 1 get - current_spot_alias - { - dup map_alias - { - false set_spot_alias - dup 1 exch setsepcolorspace - true set_spot_alias - begin - /sep_colorspace_dict currentdict AGMCORE_gput - pop pop pop - [ - /Separation Name - CSA map_csa - MappedCSA - /sep_colorspace_proc load - ] - dup Name - end - }if - }if - map_reserved_ink_name 1 xpt - }{ - /DeviceN eq - { - dup length array copy - dup dup 1 get[ - exch{ - current_spot_alias{ - dup map_alias{ - /Name get exch pop - }if - }if - map_reserved_ink_name - }forall - ]1 xpt - }if - }ifelse - end - }if - }if - }def - /setcolorspace - { - dup type dup/arraytype eq exch/packedarraytype eq or - { - dup 0 get/Indexed eq - { - AGMCORE_distilling - { - /PhotoshopDuotoneList where - { - pop false - }{ - true - }ifelse - }{ - true - }ifelse - { - aload pop 3 -1 roll - AGMCORE_ReplaceMappedColor - 3 1 roll 4 array astore - }if - }{ - AGMCORE_ReplaceMappedColor - }ifelse - }if - DeviceN_PS2_inRip_seps{AGMCORE_&&&setcolorspace}if - }def - }if - }{ - /adj - { - currentstrokeadjust{ - transform - 0.25 sub round 0.25 add exch - 0.25 sub round 0.25 add exch - itransform - }if - }def - /mo{ - adj moveto - }def - /li{ - adj lineto - }def - /cv{ - 6 2 roll adj - 6 2 roll adj - 6 2 roll adj curveto - }def - /knockout_unitsq - { - 1 setgray - 8 8 1[8 0 0 8 0 0]{}image - }def - /currentstrokeadjust{ - /currentstrokeadjust AGMCORE_gget - }def - /setstrokeadjust{ - /currentstrokeadjust exch AGMCORE_gput - }def - /setcolorspace - { - /currentcolorspace exch AGMCORE_gput - }def - /currentcolorspace - { - /currentcolorspace AGMCORE_gget - }def - /setcolor_devicecolor - { - base_colorspace_type - dup/DeviceGray eq{ - pop setgray - }{ - /DeviceCMYK eq{ - setcmykcolor - }{ - setrgbcolor - }ifelse - }ifelse - }def - /setcolor - { - currentcolorspace 0 get - dup/DeviceGray ne{ - dup/DeviceCMYK ne{ - dup/DeviceRGB ne{ - dup/Separation eq{ - pop - currentcolorspace 3 gx - currentcolorspace 2 get - }{ - dup/Indexed eq{ - pop - currentcolorspace 3 get dup type/stringtype eq{ - currentcolorspace 1 get n_color_components - 3 -1 roll map_index - }{ - exec - }ifelse - currentcolorspace 1 get - }{ - /AGMCORE_cur_err/AGMCORE_invalid_color_space def - AGMCORE_invalid_color_space - }ifelse - }ifelse - }if - }if - }if - setcolor_devicecolor - }def - }ifelse - /sop/setoverprint ldf - /lw/setlinewidth ldf - /lc/setlinecap ldf - /lj/setlinejoin ldf - /ml/setmiterlimit ldf - /dsh/setdash ldf - /sadj/setstrokeadjust ldf - /gry/setgray ldf - /rgb/setrgbcolor ldf - /cmyk[ - /currentcolorspace[/DeviceCMYK]/AGMCORE_gput cvx - /setcmykcolor load dup type/operatortype ne{/exec cvx}if - ]cvx bdf - level3 AGMCORE_host_sep not and{ - /nzopmsc{ - 6 dict begin - /kk exch def - /yy exch def - /mm exch def - /cc exch def - /sum 0 def - cc 0 ne{/sum sum 2#1000 or def cc}if - mm 0 ne{/sum sum 2#0100 or def mm}if - yy 0 ne{/sum sum 2#0010 or def yy}if - kk 0 ne{/sum sum 2#0001 or def kk}if - AGMCORE_CMYKDeviceNColorspaces sum get setcolorspace - sum 0 eq{0}if - end - setcolor - }bdf - }{ - /nzopmsc/cmyk ldf - }ifelse - /sep/setsepcolor ldf - /devn/setdevicencolor ldf - /idx/setindexedcolor ldf - /colr/setcolor ldf - /csacrd/set_csa_crd ldf - /sepcs/setsepcolorspace ldf - /devncs/setdevicencolorspace ldf - /idxcs/setindexedcolorspace ldf - /cp/closepath ldf - /clp/clp_npth ldf - /eclp/eoclp_npth ldf - /f/fill ldf - /ef/eofill ldf - /@/stroke ldf - /nclp/npth_clp ldf - /gset/graphic_setup ldf - /gcln/graphic_cleanup ldf - /ct/concat ldf - /cf/currentfile ldf - /fl/filter ldf - /rs/readstring ldf - /AGMCORE_def_ht currenthalftone def - /clonedict Adobe_AGM_Utils begin/clonedict load end def - /clonearray Adobe_AGM_Utils begin/clonearray load end def - currentdict{ - dup xcheck 1 index type dup/arraytype eq exch/packedarraytype eq or and{ - bind - }if - def - }forall - /getrampcolor - { - /indx exch def - 0 1 NumComp 1 sub - { - dup - Samples exch get - dup type/stringtype eq{indx get}if - exch - Scaling exch get aload pop - 3 1 roll - mul add - }for - ColorSpaceFamily/Separation eq - {sep} - { - ColorSpaceFamily/DeviceN eq - {devn}{setcolor}ifelse - }ifelse - }bdf - /sssetbackground{ - aload pop - ColorSpaceFamily/Separation eq - {sep} - { - ColorSpaceFamily/DeviceN eq - {devn}{setcolor}ifelse - }ifelse - }bdf - /RadialShade - { - 40 dict begin - /ColorSpaceFamily xdf - /background xdf - /ext1 xdf - /ext0 xdf - /BBox xdf - /r2 xdf - /c2y xdf - /c2x xdf - /r1 xdf - /c1y xdf - /c1x xdf - /rampdict xdf - /setinkoverprint where{pop/setinkoverprint{pop}def}if - gsave - BBox length 0 gt - { - np - BBox 0 get BBox 1 get moveto - BBox 2 get BBox 0 get sub 0 rlineto - 0 BBox 3 get BBox 1 get sub rlineto - BBox 2 get BBox 0 get sub neg 0 rlineto - closepath - clip - np - }if - c1x c2x eq - { - c1y c2y lt{/theta 90 def}{/theta 270 def}ifelse - }{ - /slope c2y c1y sub c2x c1x sub div def - /theta slope 1 atan def - c2x c1x lt c2y c1y ge and{/theta theta 180 sub def}if - c2x c1x lt c2y c1y lt and{/theta theta 180 add def}if - }ifelse - gsave - clippath - c1x c1y translate - theta rotate - -90 rotate - {pathbbox}stopped - {0 0 0 0}if - /yMax xdf - /xMax xdf - /yMin xdf - /xMin xdf - grestore - xMax xMin eq yMax yMin eq or - { - grestore - end - }{ - /max{2 copy gt{pop}{exch pop}ifelse}bdf - /min{2 copy lt{pop}{exch pop}ifelse}bdf - rampdict begin - 40 dict begin - background length 0 gt{background sssetbackground gsave clippath fill grestore}if - gsave - c1x c1y translate - theta rotate - -90 rotate - /c2y c1x c2x sub dup mul c1y c2y sub dup mul add sqrt def - /c1y 0 def - /c1x 0 def - /c2x 0 def - ext0 - { - 0 getrampcolor - c2y r2 add r1 sub 0.0001 lt - { - c1x c1y r1 360 0 arcn - pathbbox - /aymax exch def - /axmax exch def - /aymin exch def - /axmin exch def - /bxMin xMin axmin min def - /byMin yMin aymin min def - /bxMax xMax axmax max def - /byMax yMax aymax max def - bxMin byMin moveto - bxMax byMin lineto - bxMax byMax lineto - bxMin byMax lineto - bxMin byMin lineto - eofill - }{ - c2y r1 add r2 le - { - c1x c1y r1 0 360 arc - fill - } - { - c2x c2y r2 0 360 arc fill - r1 r2 eq - { - /p1x r1 neg def - /p1y c1y def - /p2x r1 def - /p2y c1y def - p1x p1y moveto p2x p2y lineto p2x yMin lineto p1x yMin lineto - fill - }{ - /AA r2 r1 sub c2y div def - AA -1 eq - {/theta 89.99 def} - {/theta AA 1 AA dup mul sub sqrt div 1 atan def} - ifelse - /SS1 90 theta add dup sin exch cos div def - /p1x r1 SS1 SS1 mul SS1 SS1 mul 1 add div sqrt mul neg def - /p1y p1x SS1 div neg def - /SS2 90 theta sub dup sin exch cos div def - /p2x r1 SS2 SS2 mul SS2 SS2 mul 1 add div sqrt mul def - /p2y p2x SS2 div neg def - r1 r2 gt - { - /L1maxX p1x yMin p1y sub SS1 div add def - /L2maxX p2x yMin p2y sub SS2 div add def - }{ - /L1maxX 0 def - /L2maxX 0 def - }ifelse - p1x p1y moveto p2x p2y lineto L2maxX L2maxX p2x sub SS2 mul p2y add lineto - L1maxX L1maxX p1x sub SS1 mul p1y add lineto - fill - }ifelse - }ifelse - }ifelse - }if - c1x c2x sub dup mul - c1y c2y sub dup mul - add 0.5 exp - 0 dtransform - dup mul exch dup mul add 0.5 exp 72 div - 0 72 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt - 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt - 1 index 1 index lt{exch}if pop - /hires xdf - hires mul - /numpix xdf - /numsteps NumSamples def - /rampIndxInc 1 def - /subsampling false def - numpix 0 ne - { - NumSamples numpix div 0.5 gt - { - /numsteps numpix 2 div round cvi dup 1 le{pop 2}if def - /rampIndxInc NumSamples 1 sub numsteps div def - /subsampling true def - }if - }if - /xInc c2x c1x sub numsteps div def - /yInc c2y c1y sub numsteps div def - /rInc r2 r1 sub numsteps div def - /cx c1x def - /cy c1y def - /radius r1 def - np - xInc 0 eq yInc 0 eq rInc 0 eq and and - { - 0 getrampcolor - cx cy radius 0 360 arc - stroke - NumSamples 1 sub getrampcolor - cx cy radius 72 hires div add 0 360 arc - 0 setlinewidth - stroke - }{ - 0 - numsteps - { - dup - subsampling{round cvi}if - getrampcolor - cx cy radius 0 360 arc - /cx cx xInc add def - /cy cy yInc add def - /radius radius rInc add def - cx cy radius 360 0 arcn - eofill - rampIndxInc add - }repeat - pop - }ifelse - ext1 - { - c2y r2 add r1 lt - { - c2x c2y r2 0 360 arc - fill - }{ - c2y r1 add r2 sub 0.0001 le - { - c2x c2y r2 360 0 arcn - pathbbox - /aymax exch def - /axmax exch def - /aymin exch def - /axmin exch def - /bxMin xMin axmin min def - /byMin yMin aymin min def - /bxMax xMax axmax max def - /byMax yMax aymax max def - bxMin byMin moveto - bxMax byMin lineto - bxMax byMax lineto - bxMin byMax lineto - bxMin byMin lineto - eofill - }{ - c2x c2y r2 0 360 arc fill - r1 r2 eq - { - /p1x r2 neg def - /p1y c2y def - /p2x r2 def - /p2y c2y def - p1x p1y moveto p2x p2y lineto p2x yMax lineto p1x yMax lineto - fill - }{ - /AA r2 r1 sub c2y div def - AA -1 eq - {/theta 89.99 def} - {/theta AA 1 AA dup mul sub sqrt div 1 atan def} - ifelse - /SS1 90 theta add dup sin exch cos div def - /p1x r2 SS1 SS1 mul SS1 SS1 mul 1 add div sqrt mul neg def - /p1y c2y p1x SS1 div sub def - /SS2 90 theta sub dup sin exch cos div def - /p2x r2 SS2 SS2 mul SS2 SS2 mul 1 add div sqrt mul def - /p2y c2y p2x SS2 div sub def - r1 r2 lt - { - /L1maxX p1x yMax p1y sub SS1 div add def - /L2maxX p2x yMax p2y sub SS2 div add def - }{ - /L1maxX 0 def - /L2maxX 0 def - }ifelse - p1x p1y moveto p2x p2y lineto L2maxX L2maxX p2x sub SS2 mul p2y add lineto - L1maxX L1maxX p1x sub SS1 mul p1y add lineto - fill - }ifelse - }ifelse - }ifelse - }if - grestore - grestore - end - end - end - }ifelse - }bdf - /GenStrips - { - 40 dict begin - /ColorSpaceFamily xdf - /background xdf - /ext1 xdf - /ext0 xdf - /BBox xdf - /y2 xdf - /x2 xdf - /y1 xdf - /x1 xdf - /rampdict xdf - /setinkoverprint where{pop/setinkoverprint{pop}def}if - gsave - BBox length 0 gt - { - np - BBox 0 get BBox 1 get moveto - BBox 2 get BBox 0 get sub 0 rlineto - 0 BBox 3 get BBox 1 get sub rlineto - BBox 2 get BBox 0 get sub neg 0 rlineto - closepath - clip - np - }if - x1 x2 eq - { - y1 y2 lt{/theta 90 def}{/theta 270 def}ifelse - }{ - /slope y2 y1 sub x2 x1 sub div def - /theta slope 1 atan def - x2 x1 lt y2 y1 ge and{/theta theta 180 sub def}if - x2 x1 lt y2 y1 lt and{/theta theta 180 add def}if - } - ifelse - gsave - clippath - x1 y1 translate - theta rotate - {pathbbox}stopped - {0 0 0 0}if - /yMax exch def - /xMax exch def - /yMin exch def - /xMin exch def - grestore - xMax xMin eq yMax yMin eq or - { - grestore - end - }{ - rampdict begin - 20 dict begin - background length 0 gt{background sssetbackground gsave clippath fill grestore}if - gsave - x1 y1 translate - theta rotate - /xStart 0 def - /xEnd x2 x1 sub dup mul y2 y1 sub dup mul add 0.5 exp def - /ySpan yMax yMin sub def - /numsteps NumSamples def - /rampIndxInc 1 def - /subsampling false def - xStart 0 transform - xEnd 0 transform - 3 -1 roll - sub dup mul - 3 1 roll - sub dup mul - add 0.5 exp 72 div - 0 72 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt - 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt - 1 index 1 index lt{exch}if pop - mul - /numpix xdf - numpix 0 ne - { - NumSamples numpix div 0.5 gt - { - /numsteps numpix 2 div round cvi dup 1 le{pop 2}if def - /rampIndxInc NumSamples 1 sub numsteps div def - /subsampling true def - }if - }if - ext0 - { - 0 getrampcolor - xMin xStart lt - { - xMin yMin xMin neg ySpan rectfill - }if - }if - /xInc xEnd xStart sub numsteps div def - /x xStart def - 0 - numsteps - { - dup - subsampling{round cvi}if - getrampcolor - x yMin xInc ySpan rectfill - /x x xInc add def - rampIndxInc add - }repeat - pop - ext1{ - xMax xEnd gt - { - xEnd yMin xMax xEnd sub ySpan rectfill - }if - }if - grestore - grestore - end - end - end - }ifelse - }bdf -}def -/pt -{ - end -}def -/dt{ -}def -/pgsv{ - //Adobe_AGM_Core/AGMCORE_save save put -}def -/pgrs{ - //Adobe_AGM_Core/AGMCORE_save get restore -}def -systemdict/findcolorrendering known{ - /findcolorrendering systemdict/findcolorrendering get def -}if -systemdict/setcolorrendering known{ - /setcolorrendering systemdict/setcolorrendering get def -}if -/test_cmyk_color_plate -{ - gsave - setcmykcolor currentgray 1 ne - grestore -}def -/inRip_spot_has_ink -{ - dup//Adobe_AGM_Core/AGMCORE_name xddf - convert_spot_to_process not -}def -/map255_to_range -{ - 1 index sub - 3 -1 roll 255 div mul add -}def -/set_csa_crd -{ - /sep_colorspace_dict null AGMCORE_gput - begin - CSA get_csa_by_name setcolorspace_opt - set_crd - end -} -def -/map_csa -{ - currentdict/MappedCSA known{MappedCSA null ne}{false}ifelse - {pop}{get_csa_by_name/MappedCSA xdf}ifelse -}def -/setsepcolor -{ - /sep_colorspace_dict AGMCORE_gget begin - dup/sep_tint exch AGMCORE_gput - TintProc - end -}def -/setdevicencolor -{ - /devicen_colorspace_dict AGMCORE_gget begin - Names length copy - Names length 1 sub -1 0 - { - /devicen_tints AGMCORE_gget 3 1 roll xpt - }for - TintProc - end -}def -/sep_colorspace_proc -{ - /AGMCORE_tmp exch store - /sep_colorspace_dict AGMCORE_gget begin - currentdict/Components known{ - Components aload pop - TintMethod/Lab eq{ - 2{AGMCORE_tmp mul NComponents 1 roll}repeat - LMax sub AGMCORE_tmp mul LMax add NComponents 1 roll - }{ - TintMethod/Subtractive eq{ - NComponents{ - AGMCORE_tmp mul NComponents 1 roll - }repeat - }{ - NComponents{ - 1 sub AGMCORE_tmp mul 1 add NComponents 1 roll - }repeat - }ifelse - }ifelse - }{ - ColorLookup AGMCORE_tmp ColorLookup length 1 sub mul round cvi get - aload pop - }ifelse - end -}def -/sep_colorspace_gray_proc -{ - /AGMCORE_tmp exch store - /sep_colorspace_dict AGMCORE_gget begin - GrayLookup AGMCORE_tmp GrayLookup length 1 sub mul round cvi get - end -}def -/sep_proc_name -{ - dup 0 get - dup/DeviceRGB eq exch/DeviceCMYK eq or level2 not and has_color not and{ - pop[/DeviceGray] - /sep_colorspace_gray_proc - }{ - /sep_colorspace_proc - }ifelse -}def -/setsepcolorspace -{ - current_spot_alias{ - dup begin - Name map_alias{ - exch pop - }if - end - }if - dup/sep_colorspace_dict exch AGMCORE_gput - begin - CSA map_csa - /AGMCORE_sep_special Name dup()eq exch(All)eq or store - AGMCORE_avoid_L2_sep_space{ - [/Indexed MappedCSA sep_proc_name 255 exch - {255 div}/exec cvx 3 -1 roll[4 1 roll load/exec cvx]cvx - ]setcolorspace_opt - /TintProc{ - 255 mul round cvi setcolor - }bdf - }{ - MappedCSA 0 get/DeviceCMYK eq - currentdict/Components known and - AGMCORE_sep_special not and{ - /TintProc[ - Components aload pop Name findcmykcustomcolor - /exch cvx/setcustomcolor cvx - ]cvx bdf - }{ - AGMCORE_host_sep Name(All)eq and{ - /TintProc{ - 1 exch sub setseparationgray - }bdf - }{ - AGMCORE_in_rip_sep MappedCSA 0 get/DeviceCMYK eq and - AGMCORE_host_sep or - Name()eq and{ - /TintProc[ - MappedCSA sep_proc_name exch 0 get/DeviceCMYK eq{ - cvx/setcmykcolor cvx - }{ - cvx/setgray cvx - }ifelse - ]cvx bdf - }{ - AGMCORE_producing_seps MappedCSA 0 get dup/DeviceCMYK eq exch/DeviceGray eq or and AGMCORE_sep_special not and{ - /TintProc[ - /dup cvx - MappedCSA sep_proc_name cvx exch - 0 get/DeviceGray eq{ - 1/exch cvx/sub cvx 0 0 0 4 -1/roll cvx - }if - /Name cvx/findcmykcustomcolor cvx/exch cvx - AGMCORE_host_sep{ - AGMCORE_is_cmyk_sep - /Name cvx - /AGMCORE_IsSeparationAProcessColor load/exec cvx - /not cvx/and cvx - }{ - Name inRip_spot_has_ink not - }ifelse - [ - /pop cvx 1 - ]cvx/if cvx - /setcustomcolor cvx - ]cvx bdf - }{ - /TintProc{setcolor}bdf - [/Separation Name MappedCSA sep_proc_name load]setcolorspace_opt - }ifelse - }ifelse - }ifelse - }ifelse - }ifelse - set_crd - setsepcolor - end -}def -/additive_blend -{ - 3 dict begin - /numarrays xdf - /numcolors xdf - 0 1 numcolors 1 sub - { - /c1 xdf - 1 - 0 1 numarrays 1 sub - { - 1 exch add/index cvx - c1/get cvx/mul cvx - }for - numarrays 1 add 1/roll cvx - }for - numarrays[/pop cvx]cvx/repeat cvx - end -}def -/subtractive_blend -{ - 3 dict begin - /numarrays xdf - /numcolors xdf - 0 1 numcolors 1 sub - { - /c1 xdf - 1 1 - 0 1 numarrays 1 sub - { - 1 3 3 -1 roll add/index cvx - c1/get cvx/sub cvx/mul cvx - }for - /sub cvx - numarrays 1 add 1/roll cvx - }for - numarrays[/pop cvx]cvx/repeat cvx - end -}def -/exec_tint_transform -{ - /TintProc[ - /TintTransform cvx/setcolor cvx - ]cvx bdf - MappedCSA setcolorspace_opt -}bdf -/devn_makecustomcolor -{ - 2 dict begin - /names_index xdf - /Names xdf - 1 1 1 1 Names names_index get findcmykcustomcolor - /devicen_tints AGMCORE_gget names_index get setcustomcolor - Names length{pop}repeat - end -}bdf -/setdevicencolorspace -{ - dup/AliasedColorants known{false}{true}ifelse - current_spot_alias and{ - 7 dict begin - /names_index 0 def - dup/names_len exch/Names get length def - /new_names names_len array def - /new_LookupTables names_len array def - /alias_cnt 0 def - dup/Names get - { - dup map_alias{ - exch pop - dup/ColorLookup known{ - dup begin - new_LookupTables names_index ColorLookup put - end - }{ - dup/Components known{ - dup begin - new_LookupTables names_index Components put - end - }{ - dup begin - new_LookupTables names_index[null null null null]put - end - }ifelse - }ifelse - new_names names_index 3 -1 roll/Name get put - /alias_cnt alias_cnt 1 add def - }{ - /name xdf - new_names names_index name put - dup/LookupTables known{ - dup begin - new_LookupTables names_index LookupTables names_index get put - end - }{ - dup begin - new_LookupTables names_index[null null null null]put - end - }ifelse - }ifelse - /names_index names_index 1 add def - }forall - alias_cnt 0 gt{ - /AliasedColorants true def - /lut_entry_len new_LookupTables 0 get dup length 256 ge{0 get length}{length}ifelse def - 0 1 names_len 1 sub{ - /names_index xdf - new_LookupTables names_index get dup length 256 ge{0 get length}{length}ifelse lut_entry_len ne{ - /AliasedColorants false def - exit - }{ - new_LookupTables names_index get 0 get null eq{ - dup/Names get names_index get/name xdf - name(Cyan)eq name(Magenta)eq name(Yellow)eq name(Black)eq - or or or not{ - /AliasedColorants false def - exit - }if - }if - }ifelse - }for - lut_entry_len 1 eq{ - /AliasedColorants false def - }if - AliasedColorants{ - dup begin - /Names new_names def - /LookupTables new_LookupTables def - /AliasedColorants true def - /NComponents lut_entry_len def - /TintMethod NComponents 4 eq{/Subtractive}{/Additive}ifelse def - /MappedCSA TintMethod/Additive eq{/DeviceRGB}{/DeviceCMYK}ifelse def - currentdict/TTTablesIdx known not{ - /TTTablesIdx -1 def - }if - end - }if - }if - end - }if - dup/devicen_colorspace_dict exch AGMCORE_gput - begin - currentdict/AliasedColorants known{ - AliasedColorants - }{ - false - }ifelse - dup not{ - CSA map_csa - }if - /TintTransform load type/nulltype eq or{ - /TintTransform[ - 0 1 Names length 1 sub - { - /TTTablesIdx TTTablesIdx 1 add def - dup LookupTables exch get dup 0 get null eq - { - 1 index - Names exch get - dup(Cyan)eq - { - pop exch - LookupTables length exch sub - /index cvx - 0 0 0 - } - { - dup(Magenta)eq - { - pop exch - LookupTables length exch sub - /index cvx - 0/exch cvx 0 0 - }{ - (Yellow)eq - { - exch - LookupTables length exch sub - /index cvx - 0 0 3 -1/roll cvx 0 - }{ - exch - LookupTables length exch sub - /index cvx - 0 0 0 4 -1/roll cvx - }ifelse - }ifelse - }ifelse - 5 -1/roll cvx/astore cvx - }{ - dup length 1 sub - LookupTables length 4 -1 roll sub 1 add - /index cvx/mul cvx/round cvx/cvi cvx/get cvx - }ifelse - Names length TTTablesIdx add 1 add 1/roll cvx - }for - Names length[/pop cvx]cvx/repeat cvx - NComponents Names length - TintMethod/Subtractive eq - { - subtractive_blend - }{ - additive_blend - }ifelse - ]cvx bdf - }if - AGMCORE_host_sep{ - Names convert_to_process{ - exec_tint_transform - } - { - currentdict/AliasedColorants known{ - AliasedColorants not - }{ - false - }ifelse - 5 dict begin - /AvoidAliasedColorants xdf - /painted? false def - /names_index 0 def - /names_len Names length def - AvoidAliasedColorants{ - /currentspotalias current_spot_alias def - false set_spot_alias - }if - Names{ - AGMCORE_is_cmyk_sep{ - dup(Cyan)eq AGMCORE_cyan_plate and exch - dup(Magenta)eq AGMCORE_magenta_plate and exch - dup(Yellow)eq AGMCORE_yellow_plate and exch - (Black)eq AGMCORE_black_plate and or or or{ - /devicen_colorspace_dict AGMCORE_gget/TintProc[ - Names names_index/devn_makecustomcolor cvx - ]cvx ddf - /painted? true def - }if - painted?{exit}if - }{ - 0 0 0 0 5 -1 roll findcmykcustomcolor 1 setcustomcolor currentgray 0 eq{ - /devicen_colorspace_dict AGMCORE_gget/TintProc[ - Names names_index/devn_makecustomcolor cvx - ]cvx ddf - /painted? true def - exit - }if - }ifelse - /names_index names_index 1 add def - }forall - AvoidAliasedColorants{ - currentspotalias set_spot_alias - }if - painted?{ - /devicen_colorspace_dict AGMCORE_gget/names_index names_index put - }{ - /devicen_colorspace_dict AGMCORE_gget/TintProc[ - names_len[/pop cvx]cvx/repeat cvx 1/setseparationgray cvx - 0 0 0 0/setcmykcolor cvx - ]cvx ddf - }ifelse - end - }ifelse - } - { - AGMCORE_in_rip_sep{ - Names convert_to_process not - }{ - level3 - }ifelse - { - [/DeviceN Names MappedCSA/TintTransform load]setcolorspace_opt - /TintProc level3 not AGMCORE_in_rip_sep and{ - [ - Names/length cvx[/pop cvx]cvx/repeat cvx - ]cvx bdf - }{ - {setcolor}bdf - }ifelse - }{ - exec_tint_transform - }ifelse - }ifelse - set_crd - /AliasedColorants false def - end -}def -/setindexedcolorspace -{ - dup/indexed_colorspace_dict exch AGMCORE_gput - begin - currentdict/CSDBase known{ - CSDBase/CSD get_res begin - currentdict/Names known{ - currentdict devncs - }{ - 1 currentdict sepcs - }ifelse - AGMCORE_host_sep{ - 4 dict begin - /compCnt/Names where{pop Names length}{1}ifelse def - /NewLookup HiVal 1 add string def - 0 1 HiVal{ - /tableIndex xdf - Lookup dup type/stringtype eq{ - compCnt tableIndex map_index - }{ - exec - }ifelse - /Names where{ - pop setdevicencolor - }{ - setsepcolor - }ifelse - currentgray - tableIndex exch - 255 mul cvi - NewLookup 3 1 roll put - }for - [/Indexed currentcolorspace HiVal NewLookup]setcolorspace_opt - end - }{ - level3 - { - currentdict/Names known{ - [/Indexed[/DeviceN Names MappedCSA/TintTransform load]HiVal Lookup]setcolorspace_opt - }{ - [/Indexed[/Separation Name MappedCSA sep_proc_name load]HiVal Lookup]setcolorspace_opt - }ifelse - }{ - [/Indexed MappedCSA HiVal - [ - currentdict/Names known{ - Lookup dup type/stringtype eq - {/exch cvx CSDBase/CSD get_res/Names get length dup/mul cvx exch/getinterval cvx{255 div}/forall cvx} - {/exec cvx}ifelse - /TintTransform load/exec cvx - }{ - Lookup dup type/stringtype eq - {/exch cvx/get cvx 255/div cvx} - {/exec cvx}ifelse - CSDBase/CSD get_res/MappedCSA get sep_proc_name exch pop/load cvx/exec cvx - }ifelse - ]cvx - ]setcolorspace_opt - }ifelse - }ifelse - end - set_crd - } - { - CSA map_csa - AGMCORE_host_sep level2 not and{ - 0 0 0 0 setcmykcolor - }{ - [/Indexed MappedCSA - level2 not has_color not and{ - dup 0 get dup/DeviceRGB eq exch/DeviceCMYK eq or{ - pop[/DeviceGray] - }if - HiVal GrayLookup - }{ - HiVal - currentdict/RangeArray known{ - { - /indexed_colorspace_dict AGMCORE_gget begin - Lookup exch - dup HiVal gt{ - pop HiVal - }if - NComponents mul NComponents getinterval{}forall - NComponents 1 sub -1 0{ - RangeArray exch 2 mul 2 getinterval aload pop map255_to_range - NComponents 1 roll - }for - end - }bind - }{ - Lookup - }ifelse - }ifelse - ]setcolorspace_opt - set_crd - }ifelse - }ifelse - end -}def -/setindexedcolor -{ - AGMCORE_host_sep{ - /indexed_colorspace_dict AGMCORE_gget - begin - currentdict/CSDBase known{ - CSDBase/CSD get_res begin - currentdict/Names known{ - map_indexed_devn - devn - } - { - Lookup 1 3 -1 roll map_index - sep - }ifelse - end - }{ - Lookup MappedCSA/DeviceCMYK eq{4}{1}ifelse 3 -1 roll - map_index - MappedCSA/DeviceCMYK eq{setcmykcolor}{setgray}ifelse - }ifelse - end - }{ - level3 not AGMCORE_in_rip_sep and/indexed_colorspace_dict AGMCORE_gget/CSDBase known and{ - /indexed_colorspace_dict AGMCORE_gget/CSDBase get/CSD get_res begin - map_indexed_devn - devn - end - } - { - setcolor - }ifelse - }ifelse -}def -/ignoreimagedata -{ - currentoverprint not{ - gsave - dup clonedict begin - 1 setgray - /Decode[0 1]def - /DataSourcedef - /MultipleDataSources false def - /BitsPerComponent 8 def - currentdict end - systemdict/image gx - grestore - }if - consumeimagedata -}def -/add_res -{ - dup/CSD eq{ - pop - //Adobe_AGM_Core begin - /AGMCORE_CSD_cache load 3 1 roll put - end - }{ - defineresource pop - }ifelse -}def -/del_res -{ - { - aload pop exch - dup/CSD eq{ - pop - {//Adobe_AGM_Core/AGMCORE_CSD_cache get exch undef}forall - }{ - exch - {1 index undefineresource}forall - pop - }ifelse - }forall -}def -/get_res -{ - dup/CSD eq{ - pop - dup type dup/nametype eq exch/stringtype eq or{ - AGMCORE_CSD_cache exch get - }if - }{ - findresource - }ifelse -}def -/get_csa_by_name -{ - dup type dup/nametype eq exch/stringtype eq or{ - /CSA get_res - }if -}def -/paintproc_buf_init -{ - /count get 0 0 put -}def -/paintproc_buf_next -{ - dup/count get dup 0 get - dup 3 1 roll - 1 add 0 xpt - get -}def -/cachepaintproc_compress -{ - 5 dict begin - currentfile exch 0 exch/SubFileDecode filter/ReadFilter exch def - /ppdict 20 dict def - /string_size 16000 def - /readbuffer string_size string def - currentglobal true setglobal - ppdict 1 array dup 0 1 put/count xpt - setglobal - /LZWFilter - { - exch - dup length 0 eq{ - pop - }{ - ppdict dup length 1 sub 3 -1 roll put - }ifelse - {string_size}{0}ifelse string - }/LZWEncode filter def - { - ReadFilter readbuffer readstring - exch LZWFilter exch writestring - not{exit}if - }loop - LZWFilter closefile - ppdict - end -}def -/cachepaintproc -{ - 2 dict begin - currentfile exch 0 exch/SubFileDecode filter/ReadFilter exch def - /ppdict 20 dict def - currentglobal true setglobal - ppdict 1 array dup 0 1 put/count xpt - setglobal - { - ReadFilter 16000 string readstring exch - ppdict dup length 1 sub 3 -1 roll put - not{exit}if - }loop - ppdict dup dup length 1 sub()put - end -}def -/make_pattern -{ - exch clonedict exch - dup matrix currentmatrix matrix concatmatrix 0 0 3 2 roll itransform - exch 3 index/XStep get 1 index exch 2 copy div cvi mul sub sub - exch 3 index/YStep get 1 index exch 2 copy div cvi mul sub sub - matrix translate exch matrix concatmatrix - 1 index begin - BBox 0 get XStep div cvi XStep mul/xshift exch neg def - BBox 1 get YStep div cvi YStep mul/yshift exch neg def - BBox 0 get xshift add - BBox 1 get yshift add - BBox 2 get xshift add - BBox 3 get yshift add - 4 array astore - /BBox exch def - [xshift yshift/translate load null/exec load]dup - 3/PaintProc load put cvx/PaintProc exch def - end - gsave 0 setgray - makepattern - grestore -}def -/set_pattern -{ - dup/PatternType get 1 eq{ - dup/PaintType get 1 eq{ - currentoverprint sop[/DeviceGray]setcolorspace 0 setgray - }if - }if - setpattern -}def -/setcolorspace_opt -{ - dup currentcolorspace eq{pop}{setcolorspace}ifelse -}def -/updatecolorrendering -{ - currentcolorrendering/RenderingIntent known{ - currentcolorrendering/RenderingIntent get - } - { - Intent/AbsoluteColorimetric eq - { - /absolute_colorimetric_crd AGMCORE_gget dup null eq - } - { - Intent/RelativeColorimetric eq - { - /relative_colorimetric_crd AGMCORE_gget dup null eq - } - { - Intent/Saturation eq - { - /saturation_crd AGMCORE_gget dup null eq - } - { - /perceptual_crd AGMCORE_gget dup null eq - }ifelse - }ifelse - }ifelse - { - pop null - } - { - /RenderingIntent known{null}{Intent}ifelse - }ifelse - }ifelse - Intent ne{ - Intent/ColorRendering{findresource}stopped - { - pop pop systemdict/findcolorrendering known - { - Intent findcolorrendering - { - /ColorRendering findresource true exch - } - { - /ColorRendering findresource - product(Xerox Phaser 5400)ne - exch - }ifelse - dup Intent/AbsoluteColorimetric eq - { - /absolute_colorimetric_crd exch AGMCORE_gput - } - { - Intent/RelativeColorimetric eq - { - /relative_colorimetric_crd exch AGMCORE_gput - } - { - Intent/Saturation eq - { - /saturation_crd exch AGMCORE_gput - } - { - Intent/Perceptual eq - { - /perceptual_crd exch AGMCORE_gput - } - { - pop - }ifelse - }ifelse - }ifelse - }ifelse - 1 index{exch}{pop}ifelse - } - {false}ifelse - } - {true}ifelse - { - dup begin - currentdict/TransformPQR known{ - currentdict/TransformPQR get aload pop - 3{{}eq 3 1 roll}repeat or or - } - {true}ifelse - currentdict/MatrixPQR known{ - currentdict/MatrixPQR get aload pop - 1.0 eq 9 1 roll 0.0 eq 9 1 roll 0.0 eq 9 1 roll - 0.0 eq 9 1 roll 1.0 eq 9 1 roll 0.0 eq 9 1 roll - 0.0 eq 9 1 roll 0.0 eq 9 1 roll 1.0 eq - and and and and and and and and - } - {true}ifelse - end - or - { - clonedict begin - /TransformPQR[ - {4 -1 roll 3 get dup 3 1 roll sub 5 -1 roll 3 get 3 -1 roll sub div - 3 -1 roll 3 get 3 -1 roll 3 get dup 4 1 roll sub mul add}bind - {4 -1 roll 4 get dup 3 1 roll sub 5 -1 roll 4 get 3 -1 roll sub div - 3 -1 roll 4 get 3 -1 roll 4 get dup 4 1 roll sub mul add}bind - {4 -1 roll 5 get dup 3 1 roll sub 5 -1 roll 5 get 3 -1 roll sub div - 3 -1 roll 5 get 3 -1 roll 5 get dup 4 1 roll sub mul add}bind - ]def - /MatrixPQR[0.8951 -0.7502 0.0389 0.2664 1.7135 -0.0685 -0.1614 0.0367 1.0296]def - /RangePQR[-0.3227950745 2.3229645538 -1.5003771057 3.5003465881 -0.1369979095 2.136967392]def - currentdict end - }if - setcolorrendering_opt - }if - }if -}def -/set_crd -{ - AGMCORE_host_sep not level2 and{ - currentdict/ColorRendering known{ - ColorRendering/ColorRendering{findresource}stopped not{setcolorrendering_opt}if - }{ - currentdict/Intent known{ - updatecolorrendering - }if - }ifelse - currentcolorspace dup type/arraytype eq - {0 get}if - /DeviceRGB eq - { - currentdict/UCR known - {/UCR}{/AGMCORE_currentucr}ifelse - load setundercolorremoval - currentdict/BG known - {/BG}{/AGMCORE_currentbg}ifelse - load setblackgeneration - }if - }if -}def -/set_ucrbg -{ - dup null eq {pop /AGMCORE_currentbg load}{/Procedure get_res}ifelse - dup currentblackgeneration eq {pop}{setblackgeneration}ifelse - dup null eq {pop /AGMCORE_currentucr load}{/Procedure get_res}ifelse - dup currentundercolorremoval eq {pop}{setundercolorremoval}ifelse -}def -/setcolorrendering_opt -{ - dup currentcolorrendering eq{ - pop - }{ - product(HP Color LaserJet 2605)anchorsearch{ - pop pop pop - }{ - pop - clonedict - begin - /Intent Intent def - currentdict - end - setcolorrendering - }ifelse - }ifelse -}def -/cpaint_gcomp -{ - convert_to_process//Adobe_AGM_Core/AGMCORE_ConvertToProcess xddf - //Adobe_AGM_Core/AGMCORE_ConvertToProcess get not - { - (%end_cpaint_gcomp)flushinput - }if -}def -/cpaint_gsep -{ - //Adobe_AGM_Core/AGMCORE_ConvertToProcess get - { - (%end_cpaint_gsep)flushinput - }if -}def -/cpaint_gend -{np}def -/T1_path -{ - currentfile token pop currentfile token pop mo - { - currentfile token pop dup type/stringtype eq - {pop exit}if - 0 exch rlineto - currentfile token pop dup type/stringtype eq - {pop exit}if - 0 rlineto - }loop -}def -/T1_gsave - level3 - {/clipsave} - {/gsave}ifelse - load def -/T1_grestore - level3 - {/cliprestore} - {/grestore}ifelse - load def -/set_spot_alias_ary -{ - dup inherit_aliases - //Adobe_AGM_Core/AGMCORE_SpotAliasAry xddf -}def -/set_spot_normalization_ary -{ - dup inherit_aliases - dup length - /AGMCORE_SpotAliasAry where{pop AGMCORE_SpotAliasAry length add}if - array - //Adobe_AGM_Core/AGMCORE_SpotAliasAry2 xddf - /AGMCORE_SpotAliasAry where{ - pop - AGMCORE_SpotAliasAry2 0 AGMCORE_SpotAliasAry putinterval - AGMCORE_SpotAliasAry length - }{0}ifelse - AGMCORE_SpotAliasAry2 3 1 roll exch putinterval - true set_spot_alias -}def -/inherit_aliases -{ - {dup/Name get map_alias{/CSD put}{pop}ifelse}forall -}def -/set_spot_alias -{ - /AGMCORE_SpotAliasAry2 where{ - /AGMCORE_current_spot_alias 3 -1 roll put - }{ - pop - }ifelse -}def -/current_spot_alias -{ - /AGMCORE_SpotAliasAry2 where{ - /AGMCORE_current_spot_alias get - }{ - false - }ifelse -}def -/map_alias -{ - /AGMCORE_SpotAliasAry2 where{ - begin - /AGMCORE_name xdf - false - AGMCORE_SpotAliasAry2{ - dup/Name get AGMCORE_name eq{ - /CSD get/CSD get_res - exch pop true - exit - }{ - pop - }ifelse - }forall - end - }{ - pop false - }ifelse -}bdf -/spot_alias -{ - true set_spot_alias - /AGMCORE_&setcustomcolor AGMCORE_key_known not{ - //Adobe_AGM_Core/AGMCORE_&setcustomcolor/setcustomcolor load put - }if - /customcolor_tint 1 AGMCORE_gput - //Adobe_AGM_Core begin - /setcustomcolor - { - //Adobe_AGM_Core begin - dup/customcolor_tint exch AGMCORE_gput - 1 index aload pop pop 1 eq exch 1 eq and exch 1 eq and exch 1 eq and not - current_spot_alias and{1 index 4 get map_alias}{false}ifelse - { - false set_spot_alias - /sep_colorspace_dict AGMCORE_gget null ne - {/sep_colorspace_dict AGMCORE_gget/ForeignContent known not}{false}ifelse - 3 1 roll 2 index{ - exch pop/sep_tint AGMCORE_gget exch - }if - mark 3 1 roll - setsepcolorspace - counttomark 0 ne{ - setsepcolor - }if - pop - not{/sep_tint 1.0 AGMCORE_gput/sep_colorspace_dict AGMCORE_gget/ForeignContent true put}if - pop - true set_spot_alias - }{ - AGMCORE_&setcustomcolor - }ifelse - end - }bdf - end -}def -/begin_feature -{ - Adobe_AGM_Core/AGMCORE_feature_dictCount countdictstack put - count Adobe_AGM_Core/AGMCORE_feature_opCount 3 -1 roll put - {Adobe_AGM_Core/AGMCORE_feature_ctm matrix currentmatrix put}if -}def -/end_feature -{ - 2 dict begin - /spd/setpagedevice load def - /setpagedevice{get_gstate spd set_gstate}def - stopped{$error/newerror false put}if - end - count Adobe_AGM_Core/AGMCORE_feature_opCount get sub dup 0 gt{{pop}repeat}{pop}ifelse - countdictstack Adobe_AGM_Core/AGMCORE_feature_dictCount get sub dup 0 gt{{end}repeat}{pop}ifelse - {Adobe_AGM_Core/AGMCORE_feature_ctm get setmatrix}if -}def -/set_negative -{ - //Adobe_AGM_Core begin - /AGMCORE_inverting exch def - level2{ - currentpagedevice/NegativePrint known AGMCORE_distilling not and{ - currentpagedevice/NegativePrint get//Adobe_AGM_Core/AGMCORE_inverting get ne{ - true begin_feature true{ - <>setpagedevice - }end_feature - }if - /AGMCORE_inverting false def - }if - }if - AGMCORE_inverting{ - [{1 exch sub}/exec load dup currenttransfer exch]cvx bind settransfer - AGMCORE_distilling{ - erasepage - }{ - gsave np clippath 1/setseparationgray where{pop setseparationgray}{setgray}ifelse - /AGMIRS_&fill where{pop AGMIRS_&fill}{fill}ifelse grestore - }ifelse - }if - end -}def -/lw_save_restore_override{ - /md where{ - pop - md begin - initializepage - /initializepage{}def - /pmSVsetup{}def - /endp{}def - /pse{}def - /psb{}def - /orig_showpage where - {pop} - {/orig_showpage/showpage load def} - ifelse - /showpage{orig_showpage gR}def - end - }if -}def -/pscript_showpage_override{ - /NTPSOct95 where - { - begin - showpage - save - /showpage/restore load def - /restore{exch pop}def - end - }if -}def -/driver_media_override -{ - /md where{ - pop - md/initializepage known{ - md/initializepage{}put - }if - md/rC known{ - md/rC{4{pop}repeat}put - }if - }if - /mysetup where{ - /mysetup[1 0 0 1 0 0]put - }if - Adobe_AGM_Core/AGMCORE_Default_CTM matrix currentmatrix put - level2 - {Adobe_AGM_Core/AGMCORE_Default_PageSize currentpagedevice/PageSize get put}if -}def -/capture_mysetup -{ - /Pscript_Win_Data where{ - pop - Pscript_Win_Data/mysetup known{ - Adobe_AGM_Core/save_mysetup Pscript_Win_Data/mysetup get put - }if - }if -}def -/restore_mysetup -{ - /Pscript_Win_Data where{ - pop - Pscript_Win_Data/mysetup known{ - Adobe_AGM_Core/save_mysetup known{ - Pscript_Win_Data/mysetup Adobe_AGM_Core/save_mysetup get put - Adobe_AGM_Core/save_mysetup undef - }if - }if - }if -}def -/driver_check_media_override -{ - /PrepsDict where - {pop} - { - Adobe_AGM_Core/AGMCORE_Default_CTM get matrix currentmatrix ne - Adobe_AGM_Core/AGMCORE_Default_PageSize get type/arraytype eq - { - Adobe_AGM_Core/AGMCORE_Default_PageSize get 0 get currentpagedevice/PageSize get 0 get eq and - Adobe_AGM_Core/AGMCORE_Default_PageSize get 1 get currentpagedevice/PageSize get 1 get eq and - }if - { - Adobe_AGM_Core/AGMCORE_Default_CTM get setmatrix - }if - }ifelse -}def -AGMCORE_err_strings begin - /AGMCORE_bad_environ(Environment not satisfactory for this job. Ensure that the PPD is correct or that the PostScript level requested is supported by this printer. )def - /AGMCORE_color_space_onhost_seps(This job contains colors that will not separate with on-host methods. )def - /AGMCORE_invalid_color_space(This job contains an invalid color space. )def -end -/set_def_ht -{AGMCORE_def_ht sethalftone}def -/set_def_flat -{AGMCORE_Default_flatness setflat}def -end -systemdict/setpacking known -{setpacking}if -%%EndResource -%%BeginResource: procset Adobe_CoolType_Core 2.31 0 -%%Copyright: Copyright 1997-2006 Adobe Systems Incorporated. All Rights Reserved. -%%Version: 2.31 0 -10 dict begin -/Adobe_CoolType_Passthru currentdict def -/Adobe_CoolType_Core_Defined userdict/Adobe_CoolType_Core known def -Adobe_CoolType_Core_Defined - {/Adobe_CoolType_Core userdict/Adobe_CoolType_Core get def} -if -userdict/Adobe_CoolType_Core 70 dict dup begin put -/Adobe_CoolType_Version 2.31 def -/Level2? - systemdict/languagelevel known dup - {pop systemdict/languagelevel get 2 ge} - if def -Level2? not - { - /currentglobal false def - /setglobal/pop load def - /gcheck{pop false}bind def - /currentpacking false def - /setpacking/pop load def - /SharedFontDirectory 0 dict def - } -if -currentpacking -true setpacking -currentglobal false setglobal -userdict/Adobe_CoolType_Data 2 copy known not - {2 copy 10 dict put} -if -get - begin - /@opStackCountByLevel 32 dict def - /@opStackLevel 0 def - /@dictStackCountByLevel 32 dict def - /@dictStackLevel 0 def - end -setglobal -currentglobal true setglobal -userdict/Adobe_CoolType_GVMFonts known not - {userdict/Adobe_CoolType_GVMFonts 10 dict put} -if -setglobal -currentglobal false setglobal -userdict/Adobe_CoolType_LVMFonts known not - {userdict/Adobe_CoolType_LVMFonts 10 dict put} -if -setglobal -/ct_VMDictPut - { - dup gcheck{Adobe_CoolType_GVMFonts}{Adobe_CoolType_LVMFonts}ifelse - 3 1 roll put - }bind def -/ct_VMDictUndef - { - dup Adobe_CoolType_GVMFonts exch known - {Adobe_CoolType_GVMFonts exch undef} - { - dup Adobe_CoolType_LVMFonts exch known - {Adobe_CoolType_LVMFonts exch undef} - {pop} - ifelse - }ifelse - }bind def -/ct_str1 1 string def -/ct_xshow -{ - /_ct_na exch def - /_ct_i 0 def - currentpoint - /_ct_y exch def - /_ct_x exch def - { - pop pop - ct_str1 exch 0 exch put - ct_str1 show - {_ct_na _ct_i get}stopped - {pop pop} - { - _ct_x _ct_y moveto - 0 - rmoveto - } - ifelse - /_ct_i _ct_i 1 add def - currentpoint - /_ct_y exch def - /_ct_x exch def - } - exch - @cshow -}bind def -/ct_yshow -{ - /_ct_na exch def - /_ct_i 0 def - currentpoint - /_ct_y exch def - /_ct_x exch def - { - pop pop - ct_str1 exch 0 exch put - ct_str1 show - {_ct_na _ct_i get}stopped - {pop pop} - { - _ct_x _ct_y moveto - 0 exch - rmoveto - } - ifelse - /_ct_i _ct_i 1 add def - currentpoint - /_ct_y exch def - /_ct_x exch def - } - exch - @cshow -}bind def -/ct_xyshow -{ - /_ct_na exch def - /_ct_i 0 def - currentpoint - /_ct_y exch def - /_ct_x exch def - { - pop pop - ct_str1 exch 0 exch put - ct_str1 show - {_ct_na _ct_i get}stopped - {pop pop} - { - {_ct_na _ct_i 1 add get}stopped - {pop pop pop} - { - _ct_x _ct_y moveto - rmoveto - } - ifelse - } - ifelse - /_ct_i _ct_i 2 add def - currentpoint - /_ct_y exch def - /_ct_x exch def - } - exch - @cshow -}bind def -/xsh{{@xshow}stopped{Adobe_CoolType_Data begin ct_xshow end}if}bind def -/ysh{{@yshow}stopped{Adobe_CoolType_Data begin ct_yshow end}if}bind def -/xysh{{@xyshow}stopped{Adobe_CoolType_Data begin ct_xyshow end}if}bind def -currentglobal true setglobal -/ct_T3Defs -{ -/BuildChar -{ - 1 index/Encoding get exch get - 1 index/BuildGlyph get exec -}bind def -/BuildGlyph -{ - exch begin - GlyphProcs exch get exec - end -}bind def -}bind def -setglobal -/@_SaveStackLevels - { - Adobe_CoolType_Data - begin - /@vmState currentglobal def false setglobal - @opStackCountByLevel - @opStackLevel - 2 copy known not - { - 2 copy - 3 dict dup/args - 7 index - 5 add array put - put get - } - { - get dup/args get dup length 3 index lt - { - dup length 5 add array exch - 1 index exch 0 exch putinterval - 1 index exch/args exch put - } - {pop} - ifelse - } - ifelse - begin - count 1 sub - 1 index lt - {pop count} - if - dup/argCount exch def - dup 0 gt - { - args exch 0 exch getinterval - astore pop - } - {pop} - ifelse - count - /restCount exch def - end - /@opStackLevel @opStackLevel 1 add def - countdictstack 1 sub - @dictStackCountByLevel exch @dictStackLevel exch put - /@dictStackLevel @dictStackLevel 1 add def - @vmState setglobal - end - }bind def -/@_RestoreStackLevels - { - Adobe_CoolType_Data - begin - /@opStackLevel @opStackLevel 1 sub def - @opStackCountByLevel @opStackLevel get - begin - count restCount sub dup 0 gt - {{pop}repeat} - {pop} - ifelse - args 0 argCount getinterval{}forall - end - /@dictStackLevel @dictStackLevel 1 sub def - @dictStackCountByLevel @dictStackLevel get - end - countdictstack exch sub dup 0 gt - {{end}repeat} - {pop} - ifelse - }bind def -/@_PopStackLevels - { - Adobe_CoolType_Data - begin - /@opStackLevel @opStackLevel 1 sub def - /@dictStackLevel @dictStackLevel 1 sub def - end - }bind def -/@Raise - { - exch cvx exch errordict exch get exec - stop - }bind def -/@ReRaise - { - cvx $error/errorname get errordict exch get exec - stop - }bind def -/@Stopped - { - 0 @#Stopped - }bind def -/@#Stopped - { - @_SaveStackLevels - stopped - {@_RestoreStackLevels true} - {@_PopStackLevels false} - ifelse - }bind def -/@Arg - { - Adobe_CoolType_Data - begin - @opStackCountByLevel @opStackLevel 1 sub get - begin - args exch - argCount 1 sub exch sub get - end - end - }bind def -currentglobal true setglobal -/CTHasResourceForAllBug - Level2? - { - 1 dict dup - /@shouldNotDisappearDictValue true def - Adobe_CoolType_Data exch/@shouldNotDisappearDict exch put - begin - count @_SaveStackLevels - {(*){pop stop}128 string/Category resourceforall} - stopped pop - @_RestoreStackLevels - currentdict Adobe_CoolType_Data/@shouldNotDisappearDict get dup 3 1 roll ne dup 3 1 roll - { - /@shouldNotDisappearDictValue known - { - { - end - currentdict 1 index eq - {pop exit} - if - } - loop - } - if - } - { - pop - end - } - ifelse - } - {false} - ifelse - def -true setglobal -/CTHasResourceStatusBug - Level2? - { - mark - {/steveamerige/Category resourcestatus} - stopped - {cleartomark true} - {cleartomark currentglobal not} - ifelse - } - {false} - ifelse - def -setglobal -/CTResourceStatus - { - mark 3 1 roll - /Category findresource - begin - ({ResourceStatus}stopped)0()/SubFileDecode filter cvx exec - {cleartomark false} - {{3 2 roll pop true}{cleartomark false}ifelse} - ifelse - end - }bind def -/CTWorkAroundBugs - { - Level2? - { - /cid_PreLoad/ProcSet resourcestatus - { - pop pop - currentglobal - mark - { - (*) - { - dup/CMap CTHasResourceStatusBug - {CTResourceStatus} - {resourcestatus} - ifelse - { - pop dup 0 eq exch 1 eq or - { - dup/CMap findresource gcheck setglobal - /CMap undefineresource - } - { - pop CTHasResourceForAllBug - {exit} - {stop} - ifelse - } - ifelse - } - {pop} - ifelse - } - 128 string/CMap resourceforall - } - stopped - {cleartomark} - stopped pop - setglobal - } - if - } - if - }bind def -/ds - { - Adobe_CoolType_Core - begin - CTWorkAroundBugs - /mo/moveto load def - /nf/newencodedfont load def - /msf{makefont setfont}bind def - /uf{dup undefinefont ct_VMDictUndef}bind def - /ur/undefineresource load def - /chp/charpath load def - /awsh/awidthshow load def - /wsh/widthshow load def - /ash/ashow load def - /@xshow/xshow load def - /@yshow/yshow load def - /@xyshow/xyshow load def - /@cshow/cshow load def - /sh/show load def - /rp/repeat load def - /.n/.notdef def - end - currentglobal false setglobal - userdict/Adobe_CoolType_Data 2 copy known not - {2 copy 10 dict put} - if - get - begin - /AddWidths? false def - /CC 0 def - /charcode 2 string def - /@opStackCountByLevel 32 dict def - /@opStackLevel 0 def - /@dictStackCountByLevel 32 dict def - /@dictStackLevel 0 def - /InVMFontsByCMap 10 dict def - /InVMDeepCopiedFonts 10 dict def - end - setglobal - }bind def -/dt - { - currentdict Adobe_CoolType_Core eq - {end} - if - }bind def -/ps - { - Adobe_CoolType_Core begin - Adobe_CoolType_GVMFonts begin - Adobe_CoolType_LVMFonts begin - SharedFontDirectory begin - }bind def -/pt - { - end - end - end - end - }bind def -/unload - { - systemdict/languagelevel known - { - systemdict/languagelevel get 2 ge - { - userdict/Adobe_CoolType_Core 2 copy known - {undef} - {pop pop} - ifelse - } - if - } - if - }bind def -/ndf - { - 1 index where - {pop pop pop} - {dup xcheck{bind}if def} - ifelse - }def -/findfont systemdict - begin - userdict - begin - /globaldict where{/globaldict get begin}if - dup where pop exch get - /globaldict where{pop end}if - end - end -Adobe_CoolType_Core_Defined - {/systemfindfont exch def} - { - /findfont 1 index def - /systemfindfont exch def - } -ifelse -/undefinefont - {pop}ndf -/copyfont - { - currentglobal 3 1 roll - 1 index gcheck setglobal - dup null eq{0}{dup length}ifelse - 2 index length add 1 add dict - begin - exch - { - 1 index/FID eq - {pop pop} - {def} - ifelse - } - forall - dup null eq - {pop} - {{def}forall} - ifelse - currentdict - end - exch setglobal - }bind def -/copyarray - { - currentglobal exch - dup gcheck setglobal - dup length array copy - exch setglobal - }bind def -/newencodedfont - { - currentglobal - { - SharedFontDirectory 3 index known - {SharedFontDirectory 3 index get/FontReferenced known} - {false} - ifelse - } - { - FontDirectory 3 index known - {FontDirectory 3 index get/FontReferenced known} - { - SharedFontDirectory 3 index known - {SharedFontDirectory 3 index get/FontReferenced known} - {false} - ifelse - } - ifelse - } - ifelse - dup - { - 3 index findfont/FontReferenced get - 2 index dup type/nametype eq - {findfont} - if ne - {pop false} - if - } - if - dup - { - 1 index dup type/nametype eq - {findfont} - if - dup/CharStrings known - { - /CharStrings get length - 4 index findfont/CharStrings get length - ne - { - pop false - } - if - } - {pop} - ifelse - } - if - { - pop - 1 index findfont - /Encoding get exch - 0 1 255 - {2 copy get 3 index 3 1 roll put} - for - pop pop pop - } - { - currentglobal - 4 1 roll - dup type/nametype eq - {findfont} - if - dup gcheck setglobal - dup dup maxlength 2 add dict - begin - exch - { - 1 index/FID ne - 2 index/Encoding ne and - {def} - {pop pop} - ifelse - } - forall - /FontReferenced exch def - /Encoding exch dup length array copy def - /FontName 1 index dup type/stringtype eq{cvn}if def dup - currentdict - end - definefont ct_VMDictPut - setglobal - } - ifelse - }bind def -/SetSubstituteStrategy - { - $SubstituteFont - begin - dup type/dicttype ne - {0 dict} - if - currentdict/$Strategies known - { - exch $Strategies exch - 2 copy known - { - get - 2 copy maxlength exch maxlength add dict - begin - {def}forall - {def}forall - currentdict - dup/$Init known - {dup/$Init get exec} - if - end - /$Strategy exch def - } - {pop pop pop} - ifelse - } - {pop pop} - ifelse - end - }bind def -/scff - { - $SubstituteFont - begin - dup type/stringtype eq - {dup length exch} - {null} - ifelse - /$sname exch def - /$slen exch def - /$inVMIndex - $sname null eq - { - 1 index $str cvs - dup length $slen sub $slen getinterval cvn - } - {$sname} - ifelse def - end - {findfont} - @Stopped - { - dup length 8 add string exch - 1 index 0(BadFont:)putinterval - 1 index exch 8 exch dup length string cvs putinterval cvn - {findfont} - @Stopped - {pop/Courier findfont} - if - } - if - $SubstituteFont - begin - /$sname null def - /$slen 0 def - /$inVMIndex null def - end - }bind def -/isWidthsOnlyFont - { - dup/WidthsOnly known - {pop pop true} - { - dup/FDepVector known - {/FDepVector get{isWidthsOnlyFont dup{exit}if}forall} - { - dup/FDArray known - {/FDArray get{isWidthsOnlyFont dup{exit}if}forall} - {pop} - ifelse - } - ifelse - } - ifelse - }bind def -/ct_StyleDicts 4 dict dup begin - /Adobe-Japan1 4 dict dup begin - Level2? - { - /Serif - /HeiseiMin-W3-83pv-RKSJ-H/Font resourcestatus - {pop pop/HeiseiMin-W3} - { - /CIDFont/Category resourcestatus - { - pop pop - /HeiseiMin-W3/CIDFont resourcestatus - {pop pop/HeiseiMin-W3} - {/Ryumin-Light} - ifelse - } - {/Ryumin-Light} - ifelse - } - ifelse - def - /SansSerif - /HeiseiKakuGo-W5-83pv-RKSJ-H/Font resourcestatus - {pop pop/HeiseiKakuGo-W5} - { - /CIDFont/Category resourcestatus - { - pop pop - /HeiseiKakuGo-W5/CIDFont resourcestatus - {pop pop/HeiseiKakuGo-W5} - {/GothicBBB-Medium} - ifelse - } - {/GothicBBB-Medium} - ifelse - } - ifelse - def - /HeiseiMaruGo-W4-83pv-RKSJ-H/Font resourcestatus - {pop pop/HeiseiMaruGo-W4} - { - /CIDFont/Category resourcestatus - { - pop pop - /HeiseiMaruGo-W4/CIDFont resourcestatus - {pop pop/HeiseiMaruGo-W4} - { - /Jun101-Light-RKSJ-H/Font resourcestatus - {pop pop/Jun101-Light} - {SansSerif} - ifelse - } - ifelse - } - { - /Jun101-Light-RKSJ-H/Font resourcestatus - {pop pop/Jun101-Light} - {SansSerif} - ifelse - } - ifelse - } - ifelse - /RoundSansSerif exch def - /Default Serif def - } - { - /Serif/Ryumin-Light def - /SansSerif/GothicBBB-Medium def - { - (fonts/Jun101-Light-83pv-RKSJ-H)status - }stopped - {pop}{ - {pop pop pop pop/Jun101-Light} - {SansSerif} - ifelse - /RoundSansSerif exch def - }ifelse - /Default Serif def - } - ifelse - end - def - /Adobe-Korea1 4 dict dup begin - /Serif/HYSMyeongJo-Medium def - /SansSerif/HYGoThic-Medium def - /RoundSansSerif SansSerif def - /Default Serif def - end - def - /Adobe-GB1 4 dict dup begin - /Serif/STSong-Light def - /SansSerif/STHeiti-Regular def - /RoundSansSerif SansSerif def - /Default Serif def - end - def - /Adobe-CNS1 4 dict dup begin - /Serif/MKai-Medium def - /SansSerif/MHei-Medium def - /RoundSansSerif SansSerif def - /Default Serif def - end - def -end -def -Level2?{currentglobal true setglobal}if -/ct_BoldRomanWidthProc - { - stringwidth 1 index 0 ne{exch .03 add exch}if setcharwidth - 0 0 - }bind def -/ct_Type0WidthProc - { - dup stringwidth 0 0 moveto - 2 index true charpath pathbbox - 0 -1 - 7 index 2 div .88 - setcachedevice2 - pop - 0 0 - }bind def -/ct_Type0WMode1WidthProc - { - dup stringwidth - pop 2 div neg -0.88 - 2 copy - moveto - 0 -1 - 5 -1 roll true charpath pathbbox - setcachedevice - }bind def -/cHexEncoding -[/c00/c01/c02/c03/c04/c05/c06/c07/c08/c09/c0A/c0B/c0C/c0D/c0E/c0F/c10/c11/c12 -/c13/c14/c15/c16/c17/c18/c19/c1A/c1B/c1C/c1D/c1E/c1F/c20/c21/c22/c23/c24/c25 -/c26/c27/c28/c29/c2A/c2B/c2C/c2D/c2E/c2F/c30/c31/c32/c33/c34/c35/c36/c37/c38 -/c39/c3A/c3B/c3C/c3D/c3E/c3F/c40/c41/c42/c43/c44/c45/c46/c47/c48/c49/c4A/c4B -/c4C/c4D/c4E/c4F/c50/c51/c52/c53/c54/c55/c56/c57/c58/c59/c5A/c5B/c5C/c5D/c5E -/c5F/c60/c61/c62/c63/c64/c65/c66/c67/c68/c69/c6A/c6B/c6C/c6D/c6E/c6F/c70/c71 -/c72/c73/c74/c75/c76/c77/c78/c79/c7A/c7B/c7C/c7D/c7E/c7F/c80/c81/c82/c83/c84 -/c85/c86/c87/c88/c89/c8A/c8B/c8C/c8D/c8E/c8F/c90/c91/c92/c93/c94/c95/c96/c97 -/c98/c99/c9A/c9B/c9C/c9D/c9E/c9F/cA0/cA1/cA2/cA3/cA4/cA5/cA6/cA7/cA8/cA9/cAA -/cAB/cAC/cAD/cAE/cAF/cB0/cB1/cB2/cB3/cB4/cB5/cB6/cB7/cB8/cB9/cBA/cBB/cBC/cBD -/cBE/cBF/cC0/cC1/cC2/cC3/cC4/cC5/cC6/cC7/cC8/cC9/cCA/cCB/cCC/cCD/cCE/cCF/cD0 -/cD1/cD2/cD3/cD4/cD5/cD6/cD7/cD8/cD9/cDA/cDB/cDC/cDD/cDE/cDF/cE0/cE1/cE2/cE3 -/cE4/cE5/cE6/cE7/cE8/cE9/cEA/cEB/cEC/cED/cEE/cEF/cF0/cF1/cF2/cF3/cF4/cF5/cF6 -/cF7/cF8/cF9/cFA/cFB/cFC/cFD/cFE/cFF]def -/ct_BoldBaseFont - 11 dict begin - /FontType 3 def - /FontMatrix[1 0 0 1 0 0]def - /FontBBox[0 0 1 1]def - /Encoding cHexEncoding def - /_setwidthProc/ct_BoldRomanWidthProc load def - /_bcstr1 1 string def - /BuildChar - { - exch begin - _basefont setfont - _bcstr1 dup 0 4 -1 roll put - dup - _setwidthProc - 3 copy - moveto - show - _basefonto setfont - moveto - show - end - }bind def - currentdict - end -def -systemdict/composefont known -{ -/ct_DefineIdentity-H -{ - /Identity-H/CMap resourcestatus - { - pop pop - } - { - /CIDInit/ProcSet findresource begin - 12 dict begin - begincmap - /CIDSystemInfo 3 dict dup begin - /Registry(Adobe)def - /Ordering(Identity)def - /Supplement 0 def - end def - /CMapName/Identity-H def - /CMapVersion 1.000 def - /CMapType 1 def - 1 begincodespacerange - <0000> - endcodespacerange - 1 begincidrange - <0000>0 - endcidrange - endcmap - CMapName currentdict/CMap defineresource pop - end - end - } - ifelse -} -def -/ct_BoldBaseCIDFont - 11 dict begin - /CIDFontType 1 def - /CIDFontName/ct_BoldBaseCIDFont def - /FontMatrix[1 0 0 1 0 0]def - /FontBBox[0 0 1 1]def - /_setwidthProc/ct_Type0WidthProc load def - /_bcstr2 2 string def - /BuildGlyph - { - exch begin - _basefont setfont - _bcstr2 1 2 index 256 mod put - _bcstr2 0 3 -1 roll 256 idiv put - _bcstr2 dup _setwidthProc - 3 copy - moveto - show - _basefonto setfont - moveto - show - end - }bind def - currentdict - end -def -}if -Level2?{setglobal}if -/ct_CopyFont{ - { - 1 index/FID ne 2 index/UniqueID ne and - {def}{pop pop}ifelse - }forall -}bind def -/ct_Type0CopyFont -{ - exch - dup length dict - begin - ct_CopyFont - [ - exch - FDepVector - { - dup/FontType get 0 eq - { - 1 index ct_Type0CopyFont - /_ctType0 exch definefont - } - { - /_ctBaseFont exch - 2 index exec - } - ifelse - exch - } - forall - pop - ] - /FDepVector exch def - currentdict - end -}bind def -/ct_MakeBoldFont -{ - dup/ct_SyntheticBold known - { - dup length 3 add dict begin - ct_CopyFont - /ct_StrokeWidth .03 0 FontMatrix idtransform pop def - /ct_SyntheticBold true def - currentdict - end - definefont - } - { - dup dup length 3 add dict - begin - ct_CopyFont - /PaintType 2 def - /StrokeWidth .03 0 FontMatrix idtransform pop def - /dummybold currentdict - end - definefont - dup/FontType get dup 9 ge exch 11 le and - { - ct_BoldBaseCIDFont - dup length 3 add dict copy begin - dup/CIDSystemInfo get/CIDSystemInfo exch def - ct_DefineIdentity-H - /_Type0Identity/Identity-H 3 -1 roll[exch]composefont - /_basefont exch def - /_Type0Identity/Identity-H 3 -1 roll[exch]composefont - /_basefonto exch def - currentdict - end - /CIDFont defineresource - } - { - ct_BoldBaseFont - dup length 3 add dict copy begin - /_basefont exch def - /_basefonto exch def - currentdict - end - definefont - } - ifelse - } - ifelse -}bind def -/ct_MakeBold{ - 1 index - 1 index - findfont - currentglobal 5 1 roll - dup gcheck setglobal - dup - /FontType get 0 eq - { - dup/WMode known{dup/WMode get 1 eq}{false}ifelse - version length 4 ge - and - {version 0 4 getinterval cvi 2015 ge} - {true} - ifelse - {/ct_Type0WidthProc} - {/ct_Type0WMode1WidthProc} - ifelse - ct_BoldBaseFont/_setwidthProc 3 -1 roll load put - {ct_MakeBoldFont}ct_Type0CopyFont definefont - } - { - dup/_fauxfont known not 1 index/SubstMaster known not and - { - ct_BoldBaseFont/_setwidthProc /ct_BoldRomanWidthProc load put - ct_MakeBoldFont - } - { - 2 index 2 index eq - {exch pop } - { - dup length dict begin - ct_CopyFont - currentdict - end - definefont - } - ifelse - } - ifelse - } - ifelse - pop pop pop - setglobal -}bind def -/?str1 256 string def -/?set - { - $SubstituteFont - begin - /$substituteFound false def - /$fontname 1 index def - /$doSmartSub false def - end - dup - findfont - $SubstituteFont - begin - $substituteFound - {false} - { - dup/FontName known - { - dup/FontName get $fontname eq - 1 index/DistillerFauxFont known not and - /currentdistillerparams where - {pop false 2 index isWidthsOnlyFont not and} - if - } - {false} - ifelse - } - ifelse - exch pop - /$doSmartSub true def - end - { - 5 1 roll pop pop pop pop - findfont - } - { - 1 index - findfont - dup/FontType get 3 eq - { - 6 1 roll pop pop pop pop pop false - } - {pop true} - ifelse - { - $SubstituteFont - begin - pop pop - /$styleArray 1 index def - /$regOrdering 2 index def - pop pop - 0 1 $styleArray length 1 sub - { - $styleArray exch get - ct_StyleDicts $regOrdering - 2 copy known - { - get - exch 2 copy known not - {pop/Default} - if - get - dup type/nametype eq - { - ?str1 cvs length dup 1 add exch - ?str1 exch(-)putinterval - exch dup length exch ?str1 exch 3 index exch putinterval - add ?str1 exch 0 exch getinterval cvn - } - { - pop pop/Unknown - } - ifelse - } - { - pop pop pop pop/Unknown - } - ifelse - } - for - end - findfont - }if - } - ifelse - currentglobal false setglobal 3 1 roll - null copyfont definefont pop - setglobal - }bind def -setpacking -userdict/$SubstituteFont 25 dict put -1 dict - begin - /SubstituteFont - dup $error exch 2 copy known - {get} - {pop pop{pop/Courier}bind} - ifelse def - /currentdistillerparams where dup - { - pop pop - currentdistillerparams/CannotEmbedFontPolicy 2 copy known - {get/Error eq} - {pop pop false} - ifelse - } - if not - { - countdictstack array dictstack 0 get - begin - userdict - begin - $SubstituteFont - begin - /$str 128 string def - /$fontpat 128 string def - /$slen 0 def - /$sname null def - /$match false def - /$fontname null def - /$substituteFound false def - /$inVMIndex null def - /$doSmartSub true def - /$depth 0 def - /$fontname null def - /$italicangle 26.5 def - /$dstack null def - /$Strategies 10 dict dup - begin - /$Type3Underprint - { - currentglobal exch false setglobal - 11 dict - begin - /UseFont exch - $WMode 0 ne - { - dup length dict copy - dup/WMode $WMode put - /UseFont exch definefont - } - if def - /FontName $fontname dup type/stringtype eq{cvn}if def - /FontType 3 def - /FontMatrix[.001 0 0 .001 0 0]def - /Encoding 256 array dup 0 1 255{/.notdef put dup}for pop def - /FontBBox[0 0 0 0]def - /CCInfo 7 dict dup - begin - /cc null def - /x 0 def - /y 0 def - end def - /BuildChar - { - exch - begin - CCInfo - begin - 1 string dup 0 3 index put exch pop - /cc exch def - UseFont 1000 scalefont setfont - cc stringwidth/y exch def/x exch def - x y setcharwidth - $SubstituteFont/$Strategy get/$Underprint get exec - 0 0 moveto cc show - x y moveto - end - end - }bind def - currentdict - end - exch setglobal - }bind def - /$GetaTint - 2 dict dup - begin - /$BuildFont - { - dup/WMode known - {dup/WMode get} - {0} - ifelse - /$WMode exch def - $fontname exch - dup/FontName known - { - dup/FontName get - dup type/stringtype eq{cvn}if - } - {/unnamedfont} - ifelse - exch - Adobe_CoolType_Data/InVMDeepCopiedFonts get - 1 index/FontName get known - { - pop - Adobe_CoolType_Data/InVMDeepCopiedFonts get - 1 index get - null copyfont - } - {$deepcopyfont} - ifelse - exch 1 index exch/FontBasedOn exch put - dup/FontName $fontname dup type/stringtype eq{cvn}if put - definefont - Adobe_CoolType_Data/InVMDeepCopiedFonts get - begin - dup/FontBasedOn get 1 index def - end - }bind def - /$Underprint - { - gsave - x abs y abs gt - {/y 1000 def} - {/x -1000 def 500 120 translate} - ifelse - Level2? - { - [/Separation(All)/DeviceCMYK{0 0 0 1 pop}] - setcolorspace - } - {0 setgray} - ifelse - 10 setlinewidth - x .8 mul - [7 3] - { - y mul 8 div 120 sub x 10 div exch moveto - 0 y 4 div neg rlineto - dup 0 rlineto - 0 y 4 div rlineto - closepath - gsave - Level2? - {.2 setcolor} - {.8 setgray} - ifelse - fill grestore - stroke - } - forall - pop - grestore - }bind def - end def - /$Oblique - 1 dict dup - begin - /$BuildFont - { - currentglobal exch dup gcheck setglobal - null copyfont - begin - /FontBasedOn - currentdict/FontName known - { - FontName - dup type/stringtype eq{cvn}if - } - {/unnamedfont} - ifelse - def - /FontName $fontname dup type/stringtype eq{cvn}if def - /currentdistillerparams where - {pop} - { - /FontInfo currentdict/FontInfo known - {FontInfo null copyfont} - {2 dict} - ifelse - dup - begin - /ItalicAngle $italicangle def - /FontMatrix FontMatrix - [1 0 ItalicAngle dup sin exch cos div 1 0 0] - matrix concatmatrix readonly - end - 4 2 roll def - def - } - ifelse - FontName currentdict - end - definefont - exch setglobal - }bind def - end def - /$None - 1 dict dup - begin - /$BuildFont{}bind def - end def - end def - /$Oblique SetSubstituteStrategy - /$findfontByEnum - { - dup type/stringtype eq{cvn}if - dup/$fontname exch def - $sname null eq - {$str cvs dup length $slen sub $slen getinterval} - {pop $sname} - ifelse - $fontpat dup 0(fonts/*)putinterval exch 7 exch putinterval - /$match false def - $SubstituteFont/$dstack countdictstack array dictstack put - mark - { - $fontpat 0 $slen 7 add getinterval - {/$match exch def exit} - $str filenameforall - } - stopped - { - cleardictstack - currentdict - true - $SubstituteFont/$dstack get - { - exch - { - 1 index eq - {pop false} - {true} - ifelse - } - {begin false} - ifelse - } - forall - pop - } - if - cleartomark - /$slen 0 def - $match false ne - {$match(fonts/)anchorsearch pop pop cvn} - {/Courier} - ifelse - }bind def - /$ROS 1 dict dup - begin - /Adobe 4 dict dup - begin - /Japan1 [/Ryumin-Light/HeiseiMin-W3 - /GothicBBB-Medium/HeiseiKakuGo-W5 - /HeiseiMaruGo-W4/Jun101-Light]def - /Korea1 [/HYSMyeongJo-Medium/HYGoThic-Medium]def - /GB1 [/STSong-Light/STHeiti-Regular]def - /CNS1 [/MKai-Medium/MHei-Medium]def - end def - end def - /$cmapname null def - /$deepcopyfont - { - dup/FontType get 0 eq - { - 1 dict dup/FontName/copied put copyfont - begin - /FDepVector FDepVector copyarray - 0 1 2 index length 1 sub - { - 2 copy get $deepcopyfont - dup/FontName/copied put - /copied exch definefont - 3 copy put pop pop - } - for - def - currentdict - end - } - {$Strategies/$Type3Underprint get exec} - ifelse - }bind def - /$buildfontname - { - dup/CIDFont findresource/CIDSystemInfo get - begin - Registry length Ordering length Supplement 8 string cvs - 3 copy length 2 add add add string - dup 5 1 roll dup 0 Registry putinterval - dup 4 index(-)putinterval - dup 4 index 1 add Ordering putinterval - 4 2 roll add 1 add 2 copy(-)putinterval - end - 1 add 2 copy 0 exch getinterval $cmapname $fontpat cvs exch - anchorsearch - {pop pop 3 2 roll putinterval cvn/$cmapname exch def} - {pop pop pop pop pop} - ifelse - length - $str 1 index(-)putinterval 1 add - $str 1 index $cmapname $fontpat cvs putinterval - $cmapname length add - $str exch 0 exch getinterval cvn - }bind def - /$findfontByROS - { - /$fontname exch def - $ROS Registry 2 copy known - { - get Ordering 2 copy known - {get} - {pop pop[]} - ifelse - } - {pop pop[]} - ifelse - false exch - { - dup/CIDFont resourcestatus - { - pop pop - save - 1 index/CIDFont findresource - dup/WidthsOnly known - {dup/WidthsOnly get} - {false} - ifelse - exch pop - exch restore - {pop} - {exch pop true exit} - ifelse - } - {pop} - ifelse - } - forall - {$str cvs $buildfontname} - { - false(*) - { - save exch - dup/CIDFont findresource - dup/WidthsOnly known - {dup/WidthsOnly get not} - {true} - ifelse - exch/CIDSystemInfo get - dup/Registry get Registry eq - exch/Ordering get Ordering eq and and - {exch restore exch pop true exit} - {pop restore} - ifelse - } - $str/CIDFont resourceforall - {$buildfontname} - {$fontname $findfontByEnum} - ifelse - } - ifelse - }bind def - end - end - currentdict/$error known currentdict/languagelevel known and dup - {pop $error/SubstituteFont known} - if - dup - {$error} - {Adobe_CoolType_Core} - ifelse - begin - { - /SubstituteFont - /CMap/Category resourcestatus - { - pop pop - { - $SubstituteFont - begin - /$substituteFound true def - dup length $slen gt - $sname null ne or - $slen 0 gt and - { - $sname null eq - {dup $str cvs dup length $slen sub $slen getinterval cvn} - {$sname} - ifelse - Adobe_CoolType_Data/InVMFontsByCMap get - 1 index 2 copy known - { - get - false exch - { - pop - currentglobal - { - GlobalFontDirectory 1 index known - {exch pop true exit} - {pop} - ifelse - } - { - FontDirectory 1 index known - {exch pop true exit} - { - GlobalFontDirectory 1 index known - {exch pop true exit} - {pop} - ifelse - } - ifelse - } - ifelse - } - forall - } - {pop pop false} - ifelse - { - exch pop exch pop - } - { - dup/CMap resourcestatus - { - pop pop - dup/$cmapname exch def - /CMap findresource/CIDSystemInfo get{def}forall - $findfontByROS - } - { - 128 string cvs - dup(-)search - { - 3 1 roll search - { - 3 1 roll pop - {dup cvi} - stopped - {pop pop pop pop pop $findfontByEnum} - { - 4 2 roll pop pop - exch length - exch - 2 index length - 2 index - sub - exch 1 sub -1 0 - { - $str cvs dup length - 4 index - 0 - 4 index - 4 3 roll add - getinterval - exch 1 index exch 3 index exch - putinterval - dup/CMap resourcestatus - { - pop pop - 4 1 roll pop pop pop - dup/$cmapname exch def - /CMap findresource/CIDSystemInfo get{def}forall - $findfontByROS - true exit - } - {pop} - ifelse - } - for - dup type/booleantype eq - {pop} - {pop pop pop $findfontByEnum} - ifelse - } - ifelse - } - {pop pop pop $findfontByEnum} - ifelse - } - {pop pop $findfontByEnum} - ifelse - } - ifelse - } - ifelse - } - {//SubstituteFont exec} - ifelse - /$slen 0 def - end - } - } - { - { - $SubstituteFont - begin - /$substituteFound true def - dup length $slen gt - $sname null ne or - $slen 0 gt and - {$findfontByEnum} - {//SubstituteFont exec} - ifelse - end - } - } - ifelse - bind readonly def - Adobe_CoolType_Core/scfindfont/systemfindfont load put - } - { - /scfindfont - { - $SubstituteFont - begin - dup systemfindfont - dup/FontName known - {dup/FontName get dup 3 index ne} - {/noname true} - ifelse - dup - { - /$origfontnamefound 2 index def - /$origfontname 4 index def/$substituteFound true def - } - if - exch pop - { - $slen 0 gt - $sname null ne - 3 index length $slen gt or and - { - pop dup $findfontByEnum findfont - dup maxlength 1 add dict - begin - {1 index/FID eq{pop pop}{def}ifelse} - forall - currentdict - end - definefont - dup/FontName known{dup/FontName get}{null}ifelse - $origfontnamefound ne - { - $origfontname $str cvs print - ( substitution revised, using )print - dup/FontName known - {dup/FontName get}{(unspecified font)} - ifelse - $str cvs print(.\n)print - } - if - } - {exch pop} - ifelse - } - {exch pop} - ifelse - end - }bind def - } - ifelse - end - end - Adobe_CoolType_Core_Defined not - { - Adobe_CoolType_Core/findfont - { - $SubstituteFont - begin - $depth 0 eq - { - /$fontname 1 index dup type/stringtype ne{$str cvs}if def - /$substituteFound false def - } - if - /$depth $depth 1 add def - end - scfindfont - $SubstituteFont - begin - /$depth $depth 1 sub def - $substituteFound $depth 0 eq and - { - $inVMIndex null ne - {dup $inVMIndex $AddInVMFont} - if - $doSmartSub - { - currentdict/$Strategy known - {$Strategy/$BuildFont get exec} - if - } - if - } - if - end - }bind put - } - if - } - if - end -/$AddInVMFont - { - exch/FontName 2 copy known - { - get - 1 dict dup begin exch 1 index gcheck def end exch - Adobe_CoolType_Data/InVMFontsByCMap get exch - $DictAdd - } - {pop pop pop} - ifelse - }bind def -/$DictAdd - { - 2 copy known not - {2 copy 4 index length dict put} - if - Level2? not - { - 2 copy get dup maxlength exch length 4 index length add lt - 2 copy get dup length 4 index length add exch maxlength 1 index lt - { - 2 mul dict - begin - 2 copy get{forall}def - 2 copy currentdict put - end - } - {pop} - ifelse - } - if - get - begin - {def} - forall - end - }bind def -end -end -%%EndResource -currentglobal true setglobal -%%BeginResource: procset Adobe_CoolType_Utility_MAKEOCF 1.23 0 -%%Copyright: Copyright 1987-2006 Adobe Systems Incorporated. -%%Version: 1.23 0 -systemdict/languagelevel known dup - {currentglobal false setglobal} - {false} -ifelse -exch -userdict/Adobe_CoolType_Utility 2 copy known - {2 copy get dup maxlength 27 add dict copy} - {27 dict} -ifelse put -Adobe_CoolType_Utility - begin - /@eexecStartData - def - /@recognizeCIDFont null def - /ct_Level2? exch def - /ct_Clone? 1183615869 internaldict dup - /CCRun known not - exch/eCCRun known not - ct_Level2? and or def -ct_Level2? - {globaldict begin currentglobal true setglobal} -if - /ct_AddStdCIDMap - ct_Level2? - {{ - mark - Adobe_CoolType_Utility/@recognizeCIDFont currentdict put - { - ((Hex)57 StartData - 0615 1e27 2c39 1c60 d8a8 cc31 fe2b f6e0 - 7aa3 e541 e21c 60d8 a8c9 c3d0 6d9e 1c60 - d8a8 c9c2 02d7 9a1c 60d8 a849 1c60 d8a8 - cc36 74f4 1144 b13b 77)0()/SubFileDecode filter cvx exec - } - stopped - { - cleartomark - Adobe_CoolType_Utility/@recognizeCIDFont get - countdictstack dup array dictstack - exch 1 sub -1 0 - { - 2 copy get 3 index eq - {1 index length exch sub 1 sub{end}repeat exit} - {pop} - ifelse - } - for - pop pop - Adobe_CoolType_Utility/@eexecStartData get eexec - } - {cleartomark} - ifelse - }} - {{ - Adobe_CoolType_Utility/@eexecStartData get eexec - }} - ifelse bind def -userdict/cid_extensions known -dup{cid_extensions/cid_UpdateDB known and}if - { - cid_extensions - begin - /cid_GetCIDSystemInfo - { - 1 index type/stringtype eq - {exch cvn exch} - if - cid_extensions - begin - dup load 2 index known - { - 2 copy - cid_GetStatusInfo - dup null ne - { - 1 index load - 3 index get - dup null eq - {pop pop cid_UpdateDB} - { - exch - 1 index/Created get eq - {exch pop exch pop} - {pop cid_UpdateDB} - ifelse - } - ifelse - } - {pop cid_UpdateDB} - ifelse - } - {cid_UpdateDB} - ifelse - end - }bind def - end - } -if -ct_Level2? - {end setglobal} -if - /ct_UseNativeCapability? systemdict/composefont known def - /ct_MakeOCF 35 dict def - /ct_Vars 25 dict def - /ct_GlyphDirProcs 6 dict def - /ct_BuildCharDict 15 dict dup - begin - /charcode 2 string def - /dst_string 1500 string def - /nullstring()def - /usewidths? true def - end def - ct_Level2?{setglobal}{pop}ifelse - ct_GlyphDirProcs - begin - /GetGlyphDirectory - { - systemdict/languagelevel known - {pop/CIDFont findresource/GlyphDirectory get} - { - 1 index/CIDFont findresource/GlyphDirectory - get dup type/dicttype eq - { - dup dup maxlength exch length sub 2 index lt - { - dup length 2 index add dict copy 2 index - /CIDFont findresource/GlyphDirectory 2 index put - } - if - } - if - exch pop exch pop - } - ifelse - + - }def - /+ - { - systemdict/languagelevel known - { - currentglobal false setglobal - 3 dict begin - /vm exch def - } - {1 dict begin} - ifelse - /$ exch def - systemdict/languagelevel known - { - vm setglobal - /gvm currentglobal def - $ gcheck setglobal - } - if - ?{$ begin}if - }def - /?{$ type/dicttype eq}def - /|{ - userdict/Adobe_CoolType_Data known - { - Adobe_CoolType_Data/AddWidths? known - { - currentdict Adobe_CoolType_Data - begin - begin - AddWidths? - { - Adobe_CoolType_Data/CC 3 index put - ?{def}{$ 3 1 roll put}ifelse - CC charcode exch 1 index 0 2 index 256 idiv put - 1 index exch 1 exch 256 mod put - stringwidth 2 array astore - currentfont/Widths get exch CC exch put - } - {?{def}{$ 3 1 roll put}ifelse} - ifelse - end - end - } - {?{def}{$ 3 1 roll put}ifelse} ifelse - } - {?{def}{$ 3 1 roll put}ifelse} - ifelse - }def - /! - { - ?{end}if - systemdict/languagelevel known - {gvm setglobal} - if - end - }def - /:{string currentfile exch readstring pop}executeonly def - end - ct_MakeOCF - begin - /ct_cHexEncoding - [/c00/c01/c02/c03/c04/c05/c06/c07/c08/c09/c0A/c0B/c0C/c0D/c0E/c0F/c10/c11/c12 - /c13/c14/c15/c16/c17/c18/c19/c1A/c1B/c1C/c1D/c1E/c1F/c20/c21/c22/c23/c24/c25 - /c26/c27/c28/c29/c2A/c2B/c2C/c2D/c2E/c2F/c30/c31/c32/c33/c34/c35/c36/c37/c38 - /c39/c3A/c3B/c3C/c3D/c3E/c3F/c40/c41/c42/c43/c44/c45/c46/c47/c48/c49/c4A/c4B - /c4C/c4D/c4E/c4F/c50/c51/c52/c53/c54/c55/c56/c57/c58/c59/c5A/c5B/c5C/c5D/c5E - /c5F/c60/c61/c62/c63/c64/c65/c66/c67/c68/c69/c6A/c6B/c6C/c6D/c6E/c6F/c70/c71 - /c72/c73/c74/c75/c76/c77/c78/c79/c7A/c7B/c7C/c7D/c7E/c7F/c80/c81/c82/c83/c84 - /c85/c86/c87/c88/c89/c8A/c8B/c8C/c8D/c8E/c8F/c90/c91/c92/c93/c94/c95/c96/c97 - /c98/c99/c9A/c9B/c9C/c9D/c9E/c9F/cA0/cA1/cA2/cA3/cA4/cA5/cA6/cA7/cA8/cA9/cAA - /cAB/cAC/cAD/cAE/cAF/cB0/cB1/cB2/cB3/cB4/cB5/cB6/cB7/cB8/cB9/cBA/cBB/cBC/cBD - /cBE/cBF/cC0/cC1/cC2/cC3/cC4/cC5/cC6/cC7/cC8/cC9/cCA/cCB/cCC/cCD/cCE/cCF/cD0 - /cD1/cD2/cD3/cD4/cD5/cD6/cD7/cD8/cD9/cDA/cDB/cDC/cDD/cDE/cDF/cE0/cE1/cE2/cE3 - /cE4/cE5/cE6/cE7/cE8/cE9/cEA/cEB/cEC/cED/cEE/cEF/cF0/cF1/cF2/cF3/cF4/cF5/cF6 - /cF7/cF8/cF9/cFA/cFB/cFC/cFD/cFE/cFF]def - /ct_CID_STR_SIZE 8000 def - /ct_mkocfStr100 100 string def - /ct_defaultFontMtx[.001 0 0 .001 0 0]def - /ct_1000Mtx[1000 0 0 1000 0 0]def - /ct_raise{exch cvx exch errordict exch get exec stop}bind def - /ct_reraise - {cvx $error/errorname get(Error: )print dup( )cvs print - errordict exch get exec stop - }bind def - /ct_cvnsi - { - 1 index add 1 sub 1 exch 0 4 1 roll - { - 2 index exch get - exch 8 bitshift - add - } - for - exch pop - }bind def - /ct_GetInterval - { - Adobe_CoolType_Utility/ct_BuildCharDict get - begin - /dst_index 0 def - dup dst_string length gt - {dup string/dst_string exch def} - if - 1 index ct_CID_STR_SIZE idiv - /arrayIndex exch def - 2 index arrayIndex get - 2 index - arrayIndex ct_CID_STR_SIZE mul - sub - { - dup 3 index add 2 index length le - { - 2 index getinterval - dst_string dst_index 2 index putinterval - length dst_index add/dst_index exch def - exit - } - { - 1 index length 1 index sub - dup 4 1 roll - getinterval - dst_string dst_index 2 index putinterval - pop dup dst_index add/dst_index exch def - sub - /arrayIndex arrayIndex 1 add def - 2 index dup length arrayIndex gt - {arrayIndex get} - { - pop - exit - } - ifelse - 0 - } - ifelse - } - loop - pop pop pop - dst_string 0 dst_index getinterval - end - }bind def - ct_Level2? - { - /ct_resourcestatus - currentglobal mark true setglobal - {/unknowninstancename/Category resourcestatus} - stopped - {cleartomark setglobal true} - {cleartomark currentglobal not exch setglobal} - ifelse - { - { - mark 3 1 roll/Category findresource - begin - ct_Vars/vm currentglobal put - ({ResourceStatus}stopped)0()/SubFileDecode filter cvx exec - {cleartomark false} - {{3 2 roll pop true}{cleartomark false}ifelse} - ifelse - ct_Vars/vm get setglobal - end - } - } - {{resourcestatus}} - ifelse bind def - /CIDFont/Category ct_resourcestatus - {pop pop} - { - currentglobal true setglobal - /Generic/Category findresource - dup length dict copy - dup/InstanceType/dicttype put - /CIDFont exch/Category defineresource pop - setglobal - } - ifelse - ct_UseNativeCapability? - { - /CIDInit/ProcSet findresource begin - 12 dict begin - begincmap - /CIDSystemInfo 3 dict dup begin - /Registry(Adobe)def - /Ordering(Identity)def - /Supplement 0 def - end def - /CMapName/Identity-H def - /CMapVersion 1.000 def - /CMapType 1 def - 1 begincodespacerange - <0000> - endcodespacerange - 1 begincidrange - <0000>0 - endcidrange - endcmap - CMapName currentdict/CMap defineresource pop - end - end - } - if - } - { - /ct_Category 2 dict begin - /CIDFont 10 dict def - /ProcSet 2 dict def - currentdict - end - def - /defineresource - { - ct_Category 1 index 2 copy known - { - get - dup dup maxlength exch length eq - { - dup length 10 add dict copy - ct_Category 2 index 2 index put - } - if - 3 index 3 index put - pop exch pop - } - {pop pop/defineresource/undefined ct_raise} - ifelse - }bind def - /findresource - { - ct_Category 1 index 2 copy known - { - get - 2 index 2 copy known - {get 3 1 roll pop pop} - {pop pop/findresource/undefinedresource ct_raise} - ifelse - } - {pop pop/findresource/undefined ct_raise} - ifelse - }bind def - /resourcestatus - { - ct_Category 1 index 2 copy known - { - get - 2 index known - exch pop exch pop - { - 0 -1 true - } - { - false - } - ifelse - } - {pop pop/findresource/undefined ct_raise} - ifelse - }bind def - /ct_resourcestatus/resourcestatus load def - } - ifelse - /ct_CIDInit 2 dict - begin - /ct_cidfont_stream_init - { - { - dup(Binary)eq - { - pop - null - currentfile - ct_Level2? - { - {cid_BYTE_COUNT()/SubFileDecode filter} - stopped - {pop pop pop} - if - } - if - /readstring load - exit - } - if - dup(Hex)eq - { - pop - currentfile - ct_Level2? - { - {null exch/ASCIIHexDecode filter/readstring} - stopped - {pop exch pop(>)exch/readhexstring} - if - } - {(>)exch/readhexstring} - ifelse - load - exit - } - if - /StartData/typecheck ct_raise - } - loop - cid_BYTE_COUNT ct_CID_STR_SIZE le - { - 2 copy cid_BYTE_COUNT string exch exec - pop - 1 array dup - 3 -1 roll - 0 exch put - } - { - cid_BYTE_COUNT ct_CID_STR_SIZE div ceiling cvi - dup array exch 2 sub 0 exch 1 exch - { - 2 copy - 5 index - ct_CID_STR_SIZE - string - 6 index exec - pop - put - pop - } - for - 2 index - cid_BYTE_COUNT ct_CID_STR_SIZE mod string - 3 index exec - pop - 1 index exch - 1 index length 1 sub - exch put - } - ifelse - cid_CIDFONT exch/GlyphData exch put - 2 index null eq - { - pop pop pop - } - { - pop/readstring load - 1 string exch - { - 3 copy exec - pop - dup length 0 eq - { - pop pop pop pop pop - true exit - } - if - 4 index - eq - { - pop pop pop pop - false exit - } - if - } - loop - pop - } - ifelse - }bind def - /StartData - { - mark - { - currentdict - dup/FDArray get 0 get/FontMatrix get - 0 get 0.001 eq - { - dup/CDevProc known not - { - /CDevProc 1183615869 internaldict/stdCDevProc 2 copy known - {get} - { - pop pop - {pop pop pop pop pop 0 -1000 7 index 2 div 880} - } - ifelse - def - } - if - } - { - /CDevProc - { - pop pop pop pop pop - 0 - 1 cid_temp/cid_CIDFONT get - /FDArray get 0 get - /FontMatrix get 0 get div - 7 index 2 div - 1 index 0.88 mul - }def - } - ifelse - /cid_temp 15 dict def - cid_temp - begin - /cid_CIDFONT exch def - 3 copy pop - dup/cid_BYTE_COUNT exch def 0 gt - { - ct_cidfont_stream_init - FDArray - { - /Private get - dup/SubrMapOffset known - { - begin - /Subrs SubrCount array def - Subrs - SubrMapOffset - SubrCount - SDBytes - ct_Level2? - { - currentdict dup/SubrMapOffset undef - dup/SubrCount undef - /SDBytes undef - } - if - end - /cid_SD_BYTES exch def - /cid_SUBR_COUNT exch def - /cid_SUBR_MAP_OFFSET exch def - /cid_SUBRS exch def - cid_SUBR_COUNT 0 gt - { - GlyphData cid_SUBR_MAP_OFFSET cid_SD_BYTES ct_GetInterval - 0 cid_SD_BYTES ct_cvnsi - 0 1 cid_SUBR_COUNT 1 sub - { - exch 1 index - 1 add - cid_SD_BYTES mul cid_SUBR_MAP_OFFSET add - GlyphData exch cid_SD_BYTES ct_GetInterval - 0 cid_SD_BYTES ct_cvnsi - cid_SUBRS 4 2 roll - GlyphData exch - 4 index - 1 index - sub - ct_GetInterval - dup length string copy put - } - for - pop - } - if - } - {pop} - ifelse - } - forall - } - if - cleartomark pop pop - end - CIDFontName currentdict/CIDFont defineresource pop - end end - } - stopped - {cleartomark/StartData ct_reraise} - if - }bind def - currentdict - end def - /ct_saveCIDInit - { - /CIDInit/ProcSet ct_resourcestatus - {true} - {/CIDInitC/ProcSet ct_resourcestatus} - ifelse - { - pop pop - /CIDInit/ProcSet findresource - ct_UseNativeCapability? - {pop null} - {/CIDInit ct_CIDInit/ProcSet defineresource pop} - ifelse - } - {/CIDInit ct_CIDInit/ProcSet defineresource pop null} - ifelse - ct_Vars exch/ct_oldCIDInit exch put - }bind def - /ct_restoreCIDInit - { - ct_Vars/ct_oldCIDInit get dup null ne - {/CIDInit exch/ProcSet defineresource pop} - {pop} - ifelse - }bind def - /ct_BuildCharSetUp - { - 1 index - begin - CIDFont - begin - Adobe_CoolType_Utility/ct_BuildCharDict get - begin - /ct_dfCharCode exch def - /ct_dfDict exch def - CIDFirstByte ct_dfCharCode add - dup CIDCount ge - {pop 0} - if - /cid exch def - { - GlyphDirectory cid 2 copy known - {get} - {pop pop nullstring} - ifelse - dup length FDBytes sub 0 gt - { - dup - FDBytes 0 ne - {0 FDBytes ct_cvnsi} - {pop 0} - ifelse - /fdIndex exch def - dup length FDBytes sub FDBytes exch getinterval - /charstring exch def - exit - } - { - pop - cid 0 eq - {/charstring nullstring def exit} - if - /cid 0 def - } - ifelse - } - loop - }def - /ct_SetCacheDevice - { - 0 0 moveto - dup stringwidth - 3 -1 roll - true charpath - pathbbox - 0 -1000 - 7 index 2 div 880 - setcachedevice2 - 0 0 moveto - }def - /ct_CloneSetCacheProc - { - 1 eq - { - stringwidth - pop -2 div -880 - 0 -1000 setcharwidth - moveto - } - { - usewidths? - { - currentfont/Widths get cid - 2 copy known - {get exch pop aload pop} - {pop pop stringwidth} - ifelse - } - {stringwidth} - ifelse - setcharwidth - 0 0 moveto - } - ifelse - }def - /ct_Type3ShowCharString - { - ct_FDDict fdIndex 2 copy known - {get} - { - currentglobal 3 1 roll - 1 index gcheck setglobal - ct_Type1FontTemplate dup maxlength dict copy - begin - FDArray fdIndex get - dup/FontMatrix 2 copy known - {get} - {pop pop ct_defaultFontMtx} - ifelse - /FontMatrix exch dup length array copy def - /Private get - /Private exch def - /Widths rootfont/Widths get def - /CharStrings 1 dict dup/.notdef - dup length string copy put def - currentdict - end - /ct_Type1Font exch definefont - dup 5 1 roll put - setglobal - } - ifelse - dup/CharStrings get 1 index/Encoding get - ct_dfCharCode get charstring put - rootfont/WMode 2 copy known - {get} - {pop pop 0} - ifelse - exch - 1000 scalefont setfont - ct_str1 0 ct_dfCharCode put - ct_str1 exch ct_dfSetCacheProc - ct_SyntheticBold - { - currentpoint - ct_str1 show - newpath - moveto - ct_str1 true charpath - ct_StrokeWidth setlinewidth - stroke - } - {ct_str1 show} - ifelse - }def - /ct_Type4ShowCharString - { - ct_dfDict ct_dfCharCode charstring - FDArray fdIndex get - dup/FontMatrix get dup ct_defaultFontMtx ct_matrixeq not - {ct_1000Mtx matrix concatmatrix concat} - {pop} - ifelse - /Private get - Adobe_CoolType_Utility/ct_Level2? get not - { - ct_dfDict/Private - 3 -1 roll - {put} - 1183615869 internaldict/superexec get exec - } - if - 1183615869 internaldict - Adobe_CoolType_Utility/ct_Level2? get - {1 index} - {3 index/Private get mark 6 1 roll} - ifelse - dup/RunInt known - {/RunInt get} - {pop/CCRun} - ifelse - get exec - Adobe_CoolType_Utility/ct_Level2? get not - {cleartomark} - if - }bind def - /ct_BuildCharIncremental - { - { - Adobe_CoolType_Utility/ct_MakeOCF get begin - ct_BuildCharSetUp - ct_ShowCharString - } - stopped - {stop} - if - end - end - end - end - }bind def - /BaseFontNameStr(BF00)def - /ct_Type1FontTemplate 14 dict - begin - /FontType 1 def - /FontMatrix [0.001 0 0 0.001 0 0]def - /FontBBox [-250 -250 1250 1250]def - /Encoding ct_cHexEncoding def - /PaintType 0 def - currentdict - end def - /BaseFontTemplate 11 dict - begin - /FontMatrix [0.001 0 0 0.001 0 0]def - /FontBBox [-250 -250 1250 1250]def - /Encoding ct_cHexEncoding def - /BuildChar/ct_BuildCharIncremental load def - ct_Clone? - { - /FontType 3 def - /ct_ShowCharString/ct_Type3ShowCharString load def - /ct_dfSetCacheProc/ct_CloneSetCacheProc load def - /ct_SyntheticBold false def - /ct_StrokeWidth 1 def - } - { - /FontType 4 def - /Private 1 dict dup/lenIV 4 put def - /CharStrings 1 dict dup/.notdefput def - /PaintType 0 def - /ct_ShowCharString/ct_Type4ShowCharString load def - } - ifelse - /ct_str1 1 string def - currentdict - end def - /BaseFontDictSize BaseFontTemplate length 5 add def - /ct_matrixeq - { - true 0 1 5 - { - dup 4 index exch get exch 3 index exch get eq and - dup not - {exit} - if - } - for - exch pop exch pop - }bind def - /ct_makeocf - { - 15 dict - begin - exch/WMode exch def - exch/FontName exch def - /FontType 0 def - /FMapType 2 def - dup/FontMatrix known - {dup/FontMatrix get/FontMatrix exch def} - {/FontMatrix matrix def} - ifelse - /bfCount 1 index/CIDCount get 256 idiv 1 add - dup 256 gt{pop 256}if def - /Encoding - 256 array 0 1 bfCount 1 sub{2 copy dup put pop}for - bfCount 1 255{2 copy bfCount put pop}for - def - /FDepVector bfCount dup 256 lt{1 add}if array def - BaseFontTemplate BaseFontDictSize dict copy - begin - /CIDFont exch def - CIDFont/FontBBox known - {CIDFont/FontBBox get/FontBBox exch def} - if - CIDFont/CDevProc known - {CIDFont/CDevProc get/CDevProc exch def} - if - currentdict - end - BaseFontNameStr 3(0)putinterval - 0 1 bfCount dup 256 eq{1 sub}if - { - FDepVector exch - 2 index BaseFontDictSize dict copy - begin - dup/CIDFirstByte exch 256 mul def - FontType 3 eq - {/ct_FDDict 2 dict def} - if - currentdict - end - 1 index 16 - BaseFontNameStr 2 2 getinterval cvrs pop - BaseFontNameStr exch definefont - put - } - for - ct_Clone? - {/Widths 1 index/CIDFont get/GlyphDirectory get length dict def} - if - FontName - currentdict - end - definefont - ct_Clone? - { - gsave - dup 1000 scalefont setfont - ct_BuildCharDict - begin - /usewidths? false def - currentfont/Widths get - begin - exch/CIDFont get/GlyphDirectory get - { - pop - dup charcode exch 1 index 0 2 index 256 idiv put - 1 index exch 1 exch 256 mod put - stringwidth 2 array astore def - } - forall - end - /usewidths? true def - end - grestore - } - {exch pop} - ifelse - }bind def - currentglobal true setglobal - /ct_ComposeFont - { - ct_UseNativeCapability? - { - 2 index/CMap ct_resourcestatus - {pop pop exch pop} - { - /CIDInit/ProcSet findresource - begin - 12 dict - begin - begincmap - /CMapName 3 index def - /CMapVersion 1.000 def - /CMapType 1 def - exch/WMode exch def - /CIDSystemInfo 3 dict dup - begin - /Registry(Adobe)def - /Ordering - CMapName ct_mkocfStr100 cvs - (Adobe-)search - { - pop pop - (-)search - { - dup length string copy - exch pop exch pop - } - {pop(Identity)} - ifelse - } - {pop (Identity)} - ifelse - def - /Supplement 0 def - end def - 1 begincodespacerange - <0000> - endcodespacerange - 1 begincidrange - <0000>0 - endcidrange - endcmap - CMapName currentdict/CMap defineresource pop - end - end - } - ifelse - composefont - } - { - 3 2 roll pop - 0 get/CIDFont findresource - ct_makeocf - } - ifelse - }bind def - setglobal - /ct_MakeIdentity - { - ct_UseNativeCapability? - { - 1 index/CMap ct_resourcestatus - {pop pop} - { - /CIDInit/ProcSet findresource begin - 12 dict begin - begincmap - /CMapName 2 index def - /CMapVersion 1.000 def - /CMapType 1 def - /CIDSystemInfo 3 dict dup - begin - /Registry(Adobe)def - /Ordering - CMapName ct_mkocfStr100 cvs - (Adobe-)search - { - pop pop - (-)search - {dup length string copy exch pop exch pop} - {pop(Identity)} - ifelse - } - {pop(Identity)} - ifelse - def - /Supplement 0 def - end def - 1 begincodespacerange - <0000> - endcodespacerange - 1 begincidrange - <0000>0 - endcidrange - endcmap - CMapName currentdict/CMap defineresource pop - end - end - } - ifelse - composefont - } - { - exch pop - 0 get/CIDFont findresource - ct_makeocf - } - ifelse - }bind def - currentdict readonly pop - end - end -%%EndResource -setglobal -%%BeginResource: procset Adobe_CoolType_Utility_T42 1.0 0 -%%Copyright: Copyright 1987-2004 Adobe Systems Incorporated. -%%Version: 1.0 0 -userdict/ct_T42Dict 15 dict put -ct_T42Dict begin -/Is2015? -{ - version - cvi - 2015 - ge -}bind def -/AllocGlyphStorage -{ - Is2015? - { - pop - } - { - {string}forall - }ifelse -}bind def -/Type42DictBegin -{ -25 dict begin - /FontName exch def - /CharStrings 256 dict -begin - /.notdef 0 def - currentdict -end def - /Encoding exch def - /PaintType 0 def - /FontType 42 def - /FontMatrix[1 0 0 1 0 0]def - 4 array astore cvx/FontBBox exch def - /sfnts -}bind def -/Type42DictEnd -{ - currentdict dup/FontName get exch definefont end -ct_T42Dict exch -dup/FontName get exch put -}bind def -/RD{string currentfile exch readstring pop}executeonly def -/PrepFor2015 -{ -Is2015? -{ - /GlyphDirectory - 16 - dict def - sfnts 0 get - dup - 2 index - (glyx) - putinterval - 2 index - (locx) - putinterval - pop - pop -} -{ - pop - pop -}ifelse -}bind def -/AddT42Char -{ -Is2015? -{ - /GlyphDirectory get - begin - def - end - pop - pop -} -{ - /sfnts get - 4 index - get - 3 index - 2 index - putinterval - pop - pop - pop - pop -}ifelse -}bind def -/T0AddT42Mtx2 -{ -/CIDFont findresource/Metrics2 get begin def end -}bind def -end -%%EndResource -currentglobal true setglobal -%%BeginFile: MMFauxFont.prc -%%Copyright: Copyright 1987-2001 Adobe Systems Incorporated. -%%All Rights Reserved. -userdict /ct_EuroDict 10 dict put -ct_EuroDict begin -/ct_CopyFont -{ - { 1 index /FID ne {def} {pop pop} ifelse} forall -} def -/ct_GetGlyphOutline -{ - gsave - initmatrix newpath - exch findfont dup - length 1 add dict - begin - ct_CopyFont - /Encoding Encoding dup length array copy - dup - 4 -1 roll - 0 exch put - def - currentdict - end - /ct_EuroFont exch definefont - 1000 scalefont setfont - 0 0 moveto - [ - <00> stringwidth - <00> false charpath - pathbbox - [ - {/m cvx} {/l cvx} {/c cvx} {/cp cvx} pathforall - grestore - counttomark 8 add -} -def -/ct_MakeGlyphProc -{ - ] cvx - /ct_PSBuildGlyph cvx - ] cvx -} def -/ct_PSBuildGlyph -{ - gsave - 8 -1 roll pop - 7 1 roll - 6 -2 roll ct_FontMatrix transform 6 2 roll - 4 -2 roll ct_FontMatrix transform 4 2 roll - ct_FontMatrix transform - currentdict /PaintType 2 copy known {get 2 eq}{pop pop false} ifelse - dup 9 1 roll - { - currentdict /StrokeWidth 2 copy known - { - get 2 div - 0 ct_FontMatrix dtransform pop - 5 1 roll - 4 -1 roll 4 index sub - 4 1 roll - 3 -1 roll 4 index sub - 3 1 roll - exch 4 index add exch - 4 index add - 5 -1 roll pop - } - { - pop pop - } - ifelse - } - if - setcachedevice - ct_FontMatrix concat - ct_PSPathOps begin - exec - end - { - currentdict /StrokeWidth 2 copy known - { get } - { pop pop 0 } - ifelse - setlinewidth stroke - } - { - fill - } - ifelse - grestore -} def -/ct_PSPathOps 4 dict dup begin - /m {moveto} def - /l {lineto} def - /c {curveto} def - /cp {closepath} def -end -def -/ct_matrix1000 [1000 0 0 1000 0 0] def -/ct_AddGlyphProc -{ - 2 index findfont dup length 4 add dict - begin - ct_CopyFont - /CharStrings CharStrings dup length 1 add dict copy - begin - 3 1 roll def - currentdict - end - def - /ct_FontMatrix ct_matrix1000 FontMatrix matrix concatmatrix def - /ct_PSBuildGlyph /ct_PSBuildGlyph load def - /ct_PSPathOps /ct_PSPathOps load def - currentdict - end - definefont pop -} -def -systemdict /languagelevel known -{ - /ct_AddGlyphToPrinterFont { - 2 copy - ct_GetGlyphOutline 3 add -1 roll restore - ct_MakeGlyphProc - ct_AddGlyphProc - } def -} -{ - /ct_AddGlyphToPrinterFont { - pop pop restore - Adobe_CTFauxDict /$$$FONTNAME get - /Euro - Adobe_CTFauxDict /$$$SUBSTITUTEBASE get - ct_EuroDict exch get - ct_AddGlyphProc - } def -} ifelse -/AdobeSansMM -{ -556 0 24 -19 541 703 - { - 541 628 m - 510 669 442 703 354 703 c - 201 703 117 607 101 444 c - 50 444 l - 25 372 l - 97 372 l - 97 301 l - 49 301 l - 24 229 l - 103 229 l - 124 67 209 -19 350 -19 c - 435 -19 501 25 509 32 c - 509 131 l - 492 105 417 60 343 60 c - 267 60 204 127 197 229 c - 406 229 l - 430 301 l - 191 301 l - 191 372 l - 455 372 l - 479 444 l - 194 444 l - 201 531 245 624 348 624 c - 433 624 484 583 509 534 c - cp - 556 0 m - } -ct_PSBuildGlyph -} def -/AdobeSerifMM -{ -500 0 10 -12 484 692 - { - 347 298 m - 171 298 l - 170 310 170 322 170 335 c - 170 362 l - 362 362 l - 374 403 l - 172 403 l - 184 580 244 642 308 642 c - 380 642 434 574 457 457 c - 481 462 l - 474 691 l - 449 691 l - 433 670 429 657 410 657 c - 394 657 360 692 299 692 c - 204 692 94 604 73 403 c - 22 403 l - 10 362 l - 70 362 l - 69 352 69 341 69 330 c - 69 319 69 308 70 298 c - 22 298 l - 10 257 l - 73 257 l - 97 57 216 -12 295 -12 c - 364 -12 427 25 484 123 c - 458 142 l - 425 101 384 37 316 37 c - 256 37 189 84 173 257 c - 335 257 l - cp - 500 0 m - } -ct_PSBuildGlyph -} def -end -%%EndFile -setglobal -Adobe_CoolType_Core begin /$Oblique SetSubstituteStrategy end -%%BeginResource: procset Adobe_AGM_Image 1.0 0 -%%Version: 1.0 0 -%%Copyright: Copyright(C)2000-2006 Adobe Systems, Inc. All Rights Reserved. -systemdict/setpacking known -{ - currentpacking - true setpacking -}if -userdict/Adobe_AGM_Image 71 dict dup begin put -/Adobe_AGM_Image_Id/Adobe_AGM_Image_1.0_0 def -/nd{ - null def -}bind def -/AGMIMG_&image nd -/AGMIMG_&colorimage nd -/AGMIMG_&imagemask nd -/AGMIMG_mbuf()def -/AGMIMG_ybuf()def -/AGMIMG_kbuf()def -/AGMIMG_c 0 def -/AGMIMG_m 0 def -/AGMIMG_y 0 def -/AGMIMG_k 0 def -/AGMIMG_tmp nd -/AGMIMG_imagestring0 nd -/AGMIMG_imagestring1 nd -/AGMIMG_imagestring2 nd -/AGMIMG_imagestring3 nd -/AGMIMG_imagestring4 nd -/AGMIMG_imagestring5 nd -/AGMIMG_cnt nd -/AGMIMG_fsave nd -/AGMIMG_colorAry nd -/AGMIMG_override nd -/AGMIMG_name nd -/AGMIMG_maskSource nd -/AGMIMG_flushfilters nd -/invert_image_samples nd -/knockout_image_samples nd -/img nd -/sepimg nd -/devnimg nd -/idximg nd -/ds -{ - Adobe_AGM_Core begin - Adobe_AGM_Image begin - /AGMIMG_&image systemdict/image get def - /AGMIMG_&imagemask systemdict/imagemask get def - /colorimage where{ - pop - /AGMIMG_&colorimage/colorimage ldf - }if - end - end -}def -/ps -{ - Adobe_AGM_Image begin - /AGMIMG_ccimage_exists{/customcolorimage where - { - pop - /Adobe_AGM_OnHost_Seps where - { - pop false - }{ - /Adobe_AGM_InRip_Seps where - { - pop false - }{ - true - }ifelse - }ifelse - }{ - false - }ifelse - }bdf - level2{ - /invert_image_samples - { - Adobe_AGM_Image/AGMIMG_tmp Decode length ddf - /Decode[Decode 1 get Decode 0 get]def - }def - /knockout_image_samples - { - Operator/imagemask ne{ - /Decode[1 1]def - }if - }def - }{ - /invert_image_samples - { - {1 exch sub}currenttransfer addprocs settransfer - }def - /knockout_image_samples - { - {pop 1}currenttransfer addprocs settransfer - }def - }ifelse - /img/imageormask ldf - /sepimg/sep_imageormask ldf - /devnimg/devn_imageormask ldf - /idximg/indexed_imageormask ldf - /_ctype 7 def - currentdict{ - dup xcheck 1 index type dup/arraytype eq exch/packedarraytype eq or and{ - bind - }if - def - }forall -}def -/pt -{ - end -}def -/dt -{ -}def -/AGMIMG_flushfilters -{ - dup type/arraytype ne - {1 array astore}if - dup 0 get currentfile ne - {dup 0 get flushfile}if - { - dup type/filetype eq - { - dup status 1 index currentfile ne and - {closefile} - {pop} - ifelse - }{pop}ifelse - }forall -}def -/AGMIMG_init_common -{ - currentdict/T known{/ImageType/T ldf currentdict/T undef}if - currentdict/W known{/Width/W ldf currentdict/W undef}if - currentdict/H known{/Height/H ldf currentdict/H undef}if - currentdict/M known{/ImageMatrix/M ldf currentdict/M undef}if - currentdict/BC known{/BitsPerComponent/BC ldf currentdict/BC undef}if - currentdict/D known{/Decode/D ldf currentdict/D undef}if - currentdict/DS known{/DataSource/DS ldf currentdict/DS undef}if - currentdict/O known{ - /Operator/O load 1 eq{ - /imagemask - }{ - /O load 2 eq{ - /image - }{ - /colorimage - }ifelse - }ifelse - def - currentdict/O undef - }if - currentdict/HSCI known{/HostSepColorImage/HSCI ldf currentdict/HSCI undef}if - currentdict/MD known{/MultipleDataSources/MD ldf currentdict/MD undef}if - currentdict/I known{/Interpolate/I ldf currentdict/I undef}if - currentdict/SI known{/SkipImageProc/SI ldf currentdict/SI undef}if - /DataSource load xcheck not{ - DataSource type/arraytype eq{ - DataSource 0 get type/filetype eq{ - /_Filters DataSource def - currentdict/MultipleDataSources known not{ - /DataSource DataSource dup length 1 sub get def - }if - }if - }if - currentdict/MultipleDataSources known not{ - /MultipleDataSources DataSource type/arraytype eq{ - DataSource length 1 gt - } - {false}ifelse def - }if - }if - /NComponents Decode length 2 div def - currentdict/SkipImageProc known not{/SkipImageProc{false}def}if -}bdf -/imageormask_sys -{ - begin - AGMIMG_init_common - save mark - level2{ - currentdict - Operator/imagemask eq{ - AGMIMG_&imagemask - }{ - use_mask{ - process_mask AGMIMG_&image - }{ - AGMIMG_&image - }ifelse - }ifelse - }{ - Width Height - Operator/imagemask eq{ - Decode 0 get 1 eq Decode 1 get 0 eq and - ImageMatrix/DataSource load - AGMIMG_&imagemask - }{ - BitsPerComponent ImageMatrix/DataSource load - AGMIMG_&image - }ifelse - }ifelse - currentdict/_Filters known{_Filters AGMIMG_flushfilters}if - cleartomark restore - end -}def -/overprint_plate -{ - currentoverprint{ - 0 get dup type/nametype eq{ - dup/DeviceGray eq{ - pop AGMCORE_black_plate not - }{ - /DeviceCMYK eq{ - AGMCORE_is_cmyk_sep not - }if - }ifelse - }{ - false exch - { - AGMOHS_sepink eq or - }forall - not - }ifelse - }{ - pop false - }ifelse -}def -/process_mask -{ - level3{ - dup begin - /ImageType 1 def - end - 4 dict begin - /DataDict exch def - /ImageType 3 def - /InterleaveType 3 def - /MaskDict 9 dict begin - /ImageType 1 def - /Width DataDict dup/MaskWidth known{/MaskWidth}{/Width}ifelse get def - /Height DataDict dup/MaskHeight known{/MaskHeight}{/Height}ifelse get def - /ImageMatrix[Width 0 0 Height neg 0 Height]def - /NComponents 1 def - /BitsPerComponent 1 def - /Decode DataDict dup/MaskD known{/MaskD}{[1 0]}ifelse get def - /DataSource Adobe_AGM_Core/AGMIMG_maskSource get def - currentdict end def - currentdict end - }if -}def -/use_mask -{ - dup/Mask known {dup/Mask get}{false}ifelse -}def -/imageormask -{ - begin - AGMIMG_init_common - SkipImageProc{ - currentdict consumeimagedata - } - { - save mark - level2 AGMCORE_host_sep not and{ - currentdict - Operator/imagemask eq DeviceN_PS2 not and{ - imagemask - }{ - AGMCORE_in_rip_sep currentoverprint and currentcolorspace 0 get/DeviceGray eq and{ - [/Separation/Black/DeviceGray{}]setcolorspace - /Decode[Decode 1 get Decode 0 get]def - }if - use_mask{ - process_mask image - }{ - DeviceN_NoneName DeviceN_PS2 Indexed_DeviceN level3 not and or or AGMCORE_in_rip_sep and - { - Names convert_to_process not{ - 2 dict begin - /imageDict xdf - /names_index 0 def - gsave - imageDict write_image_file{ - Names{ - dup(None)ne{ - [/Separation 3 -1 roll/DeviceGray{1 exch sub}]setcolorspace - Operator imageDict read_image_file - names_index 0 eq{true setoverprint}if - /names_index names_index 1 add def - }{ - pop - }ifelse - }forall - close_image_file - }if - grestore - end - }{ - Operator/imagemask eq{ - imagemask - }{ - image - }ifelse - }ifelse - }{ - Operator/imagemask eq{ - imagemask - }{ - image - }ifelse - }ifelse - }ifelse - }ifelse - }{ - Width Height - Operator/imagemask eq{ - Decode 0 get 1 eq Decode 1 get 0 eq and - ImageMatrix/DataSource load - /Adobe_AGM_OnHost_Seps where{ - pop imagemask - }{ - currentgray 1 ne{ - currentdict imageormask_sys - }{ - currentoverprint not{ - 1 AGMCORE_&setgray - currentdict imageormask_sys - }{ - currentdict ignoreimagedata - }ifelse - }ifelse - }ifelse - }{ - BitsPerComponent ImageMatrix - MultipleDataSources{ - 0 1 NComponents 1 sub{ - DataSource exch get - }for - }{ - /DataSource load - }ifelse - Operator/colorimage eq{ - AGMCORE_host_sep{ - MultipleDataSources level2 or NComponents 4 eq and{ - AGMCORE_is_cmyk_sep{ - MultipleDataSources{ - /DataSource DataSource 0 get xcheck - { - [ - DataSource 0 get/exec cvx - DataSource 1 get/exec cvx - DataSource 2 get/exec cvx - DataSource 3 get/exec cvx - /AGMCORE_get_ink_data cvx - ]cvx - }{ - DataSource aload pop AGMCORE_get_ink_data - }ifelse def - }{ - /DataSource - Width BitsPerComponent mul 7 add 8 idiv Height mul 4 mul - /DataSource load - filter_cmyk 0()/SubFileDecode filter def - }ifelse - /Decode[Decode 0 get Decode 1 get]def - /MultipleDataSources false def - /NComponents 1 def - /Operator/image def - invert_image_samples - 1 AGMCORE_&setgray - currentdict imageormask_sys - }{ - currentoverprint not Operator/imagemask eq and{ - 1 AGMCORE_&setgray - currentdict imageormask_sys - }{ - currentdict ignoreimagedata - }ifelse - }ifelse - }{ - MultipleDataSources NComponents AGMIMG_&colorimage - }ifelse - }{ - true NComponents colorimage - }ifelse - }{ - Operator/image eq{ - AGMCORE_host_sep{ - /DoImage true def - currentdict/HostSepColorImage known{HostSepColorImage not}{false}ifelse - { - AGMCORE_black_plate not Operator/imagemask ne and{ - /DoImage false def - currentdict ignoreimagedata - }if - }if - 1 AGMCORE_&setgray - DoImage - {currentdict imageormask_sys}if - }{ - use_mask{ - process_mask image - }{ - image - }ifelse - }ifelse - }{ - Operator/knockout eq{ - pop pop pop pop pop - currentcolorspace overprint_plate not{ - knockout_unitsq - }if - }if - }ifelse - }ifelse - }ifelse - }ifelse - cleartomark restore - }ifelse - currentdict/_Filters known{_Filters AGMIMG_flushfilters}if - end -}def -/sep_imageormask -{ - /sep_colorspace_dict AGMCORE_gget begin - CSA map_csa - begin - AGMIMG_init_common - SkipImageProc{ - currentdict consumeimagedata - }{ - save mark - AGMCORE_avoid_L2_sep_space{ - /Decode[Decode 0 get 255 mul Decode 1 get 255 mul]def - }if - AGMIMG_ccimage_exists - MappedCSA 0 get/DeviceCMYK eq and - currentdict/Components known and - Name()ne and - Name(All)ne and - Operator/image eq and - AGMCORE_producing_seps not and - level2 not and - { - Width Height BitsPerComponent ImageMatrix - [ - /DataSource load/exec cvx - { - 0 1 2 index length 1 sub{ - 1 index exch - 2 copy get 255 xor put - }for - }/exec cvx - ]cvx bind - MappedCSA 0 get/DeviceCMYK eq{ - Components aload pop - }{ - 0 0 0 Components aload pop 1 exch sub - }ifelse - Name findcmykcustomcolor - customcolorimage - }{ - AGMCORE_producing_seps not{ - level2{ - //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne AGMCORE_avoid_L2_sep_space not and currentcolorspace 0 get/Separation ne and{ - [/Separation Name MappedCSA sep_proc_name exch dup 0 get 15 string cvs(/Device)anchorsearch{pop pop 0 get}{pop}ifelse exch load]setcolorspace_opt - /sep_tint AGMCORE_gget setcolor - }if - currentdict imageormask - }{ - currentdict - Operator/imagemask eq{ - imageormask - }{ - sep_imageormask_lev1 - }ifelse - }ifelse - }{ - AGMCORE_host_sep{ - Operator/knockout eq{ - currentdict/ImageMatrix get concat - knockout_unitsq - }{ - currentgray 1 ne{ - AGMCORE_is_cmyk_sep Name(All)ne and{ - level2{ - Name AGMCORE_IsSeparationAProcessColor - { - Operator/imagemask eq{ - //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{ - /sep_tint AGMCORE_gget 1 exch sub AGMCORE_&setcolor - }if - }{ - invert_image_samples - }ifelse - }{ - //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{ - [/Separation Name[/DeviceGray] - { - sep_colorspace_proc AGMCORE_get_ink_data - 1 exch sub - }bind - ]AGMCORE_&setcolorspace - /sep_tint AGMCORE_gget AGMCORE_&setcolor - }if - }ifelse - currentdict imageormask_sys - }{ - currentdict - Operator/imagemask eq{ - imageormask_sys - }{ - sep_image_lev1_sep - }ifelse - }ifelse - }{ - Operator/imagemask ne{ - invert_image_samples - }if - currentdict imageormask_sys - }ifelse - }{ - currentoverprint not Name(All)eq or Operator/imagemask eq and{ - currentdict imageormask_sys - }{ - currentoverprint not - { - gsave - knockout_unitsq - grestore - }if - currentdict consumeimagedata - }ifelse - }ifelse - }ifelse - }{ - //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{ - currentcolorspace 0 get/Separation ne{ - [/Separation Name MappedCSA sep_proc_name exch 0 get exch load]setcolorspace_opt - /sep_tint AGMCORE_gget setcolor - }if - }if - currentoverprint - MappedCSA 0 get/DeviceCMYK eq and - Name AGMCORE_IsSeparationAProcessColor not and - //Adobe_AGM_Core/AGMCORE_pattern_paint_type get 2 ne{Name inRip_spot_has_ink not and}{false}ifelse - Name(All)ne and{ - imageormask_l2_overprint - }{ - currentdict imageormask - }ifelse - }ifelse - }ifelse - }ifelse - cleartomark restore - }ifelse - currentdict/_Filters known{_Filters AGMIMG_flushfilters}if - end - end -}def -/colorSpaceElemCnt -{ - mark currentcolor counttomark dup 2 add 1 roll cleartomark -}bdf -/devn_sep_datasource -{ - 1 dict begin - /dataSource xdf - [ - 0 1 dataSource length 1 sub{ - dup currentdict/dataSource get/exch cvx/get cvx/exec cvx - /exch cvx names_index/ne cvx[/pop cvx]cvx/if cvx - }for - ]cvx bind - end -}bdf -/devn_alt_datasource -{ - 11 dict begin - /convProc xdf - /origcolorSpaceElemCnt xdf - /origMultipleDataSources xdf - /origBitsPerComponent xdf - /origDecode xdf - /origDataSource xdf - /dsCnt origMultipleDataSources{origDataSource length}{1}ifelse def - /DataSource origMultipleDataSources - { - [ - BitsPerComponent 8 idiv origDecode length 2 idiv mul string - 0 1 origDecode length 2 idiv 1 sub - { - dup 7 mul 1 add index exch dup BitsPerComponent 8 idiv mul exch - origDataSource exch get 0()/SubFileDecode filter - BitsPerComponent 8 idiv string/readstring cvx/pop cvx/putinterval cvx - }for - ]bind cvx - }{origDataSource}ifelse 0()/SubFileDecode filter def - [ - origcolorSpaceElemCnt string - 0 2 origDecode length 2 sub - { - dup origDecode exch get dup 3 -1 roll 1 add origDecode exch get exch sub 2 BitsPerComponent exp 1 sub div - 1 BitsPerComponent 8 idiv{DataSource/read cvx/not cvx{0}/if cvx/mul cvx}repeat/mul cvx/add cvx - }for - /convProc load/exec cvx - origcolorSpaceElemCnt 1 sub -1 0 - { - /dup cvx 2/add cvx/index cvx - 3 1/roll cvx/exch cvx 255/mul cvx/cvi cvx/put cvx - }for - ]bind cvx 0()/SubFileDecode filter - end -}bdf -/devn_imageormask -{ - /devicen_colorspace_dict AGMCORE_gget begin - CSA map_csa - 2 dict begin - dup - /srcDataStrs[3 -1 roll begin - AGMIMG_init_common - currentdict/MultipleDataSources known{MultipleDataSources{DataSource length}{1}ifelse}{1}ifelse - { - Width Decode length 2 div mul cvi - { - dup 65535 gt{1 add 2 div cvi}{exit}ifelse - }loop - string - }repeat - end]def - /dstDataStr srcDataStrs 0 get length string def - begin - AGMIMG_init_common - SkipImageProc{ - currentdict consumeimagedata - }{ - save mark - AGMCORE_producing_seps not{ - level3 not{ - Operator/imagemask ne{ - /DataSource[[ - DataSource Decode BitsPerComponent currentdict/MultipleDataSources known{MultipleDataSources}{false}ifelse - colorSpaceElemCnt/devicen_colorspace_dict AGMCORE_gget/TintTransform get - devn_alt_datasource 1/string cvx/readstring cvx/pop cvx]cvx colorSpaceElemCnt 1 sub{dup}repeat]def - /MultipleDataSources true def - /Decode colorSpaceElemCnt[exch{0 1}repeat]def - }if - }if - currentdict imageormask - }{ - AGMCORE_host_sep{ - Names convert_to_process{ - CSA get_csa_by_name 0 get/DeviceCMYK eq{ - /DataSource - Width BitsPerComponent mul 7 add 8 idiv Height mul 4 mul - DataSource Decode BitsPerComponent currentdict/MultipleDataSources known{MultipleDataSources}{false}ifelse - 4/devicen_colorspace_dict AGMCORE_gget/TintTransform get - devn_alt_datasource - filter_cmyk 0()/SubFileDecode filter def - /MultipleDataSources false def - /Decode[1 0]def - /DeviceGray setcolorspace - currentdict imageormask_sys - }{ - AGMCORE_report_unsupported_color_space - AGMCORE_black_plate{ - /DataSource - DataSource Decode BitsPerComponent currentdict/MultipleDataSources known{MultipleDataSources}{false}ifelse - CSA get_csa_by_name 0 get/DeviceRGB eq{3}{1}ifelse/devicen_colorspace_dict AGMCORE_gget/TintTransform get - devn_alt_datasource - /MultipleDataSources false def - /Decode colorSpaceElemCnt[exch{0 1}repeat]def - currentdict imageormask_sys - }{ - gsave - knockout_unitsq - grestore - currentdict consumeimagedata - }ifelse - }ifelse - } - { - /devicen_colorspace_dict AGMCORE_gget/names_index known{ - Operator/imagemask ne{ - MultipleDataSources{ - /DataSource[DataSource devn_sep_datasource/exec cvx]cvx def - /MultipleDataSources false def - }{ - /DataSource/DataSource load dstDataStr srcDataStrs 0 get filter_devn def - }ifelse - invert_image_samples - }if - currentdict imageormask_sys - }{ - currentoverprint not Operator/imagemask eq and{ - currentdict imageormask_sys - }{ - currentoverprint not - { - gsave - knockout_unitsq - grestore - }if - currentdict consumeimagedata - }ifelse - }ifelse - }ifelse - }{ - currentdict imageormask - }ifelse - }ifelse - cleartomark restore - }ifelse - currentdict/_Filters known{_Filters AGMIMG_flushfilters}if - end - end - end -}def -/imageormask_l2_overprint -{ - currentdict - currentcmykcolor add add add 0 eq{ - currentdict consumeimagedata - }{ - level3{ - currentcmykcolor - /AGMIMG_k xdf - /AGMIMG_y xdf - /AGMIMG_m xdf - /AGMIMG_c xdf - Operator/imagemask eq{ - [/DeviceN[ - AGMIMG_c 0 ne{/Cyan}if - AGMIMG_m 0 ne{/Magenta}if - AGMIMG_y 0 ne{/Yellow}if - AGMIMG_k 0 ne{/Black}if - ]/DeviceCMYK{}]setcolorspace - AGMIMG_c 0 ne{AGMIMG_c}if - AGMIMG_m 0 ne{AGMIMG_m}if - AGMIMG_y 0 ne{AGMIMG_y}if - AGMIMG_k 0 ne{AGMIMG_k}if - setcolor - }{ - /Decode[Decode 0 get 255 mul Decode 1 get 255 mul]def - [/Indexed - [ - /DeviceN[ - AGMIMG_c 0 ne{/Cyan}if - AGMIMG_m 0 ne{/Magenta}if - AGMIMG_y 0 ne{/Yellow}if - AGMIMG_k 0 ne{/Black}if - ] - /DeviceCMYK{ - AGMIMG_k 0 eq{0}if - AGMIMG_y 0 eq{0 exch}if - AGMIMG_m 0 eq{0 3 1 roll}if - AGMIMG_c 0 eq{0 4 1 roll}if - } - ] - 255 - { - 255 div - mark exch - dup dup dup - AGMIMG_k 0 ne{ - /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 1 roll pop pop pop - counttomark 1 roll - }{ - pop - }ifelse - AGMIMG_y 0 ne{ - /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 2 roll pop pop pop - counttomark 1 roll - }{ - pop - }ifelse - AGMIMG_m 0 ne{ - /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec 4 3 roll pop pop pop - counttomark 1 roll - }{ - pop - }ifelse - AGMIMG_c 0 ne{ - /sep_tint AGMCORE_gget mul MappedCSA sep_proc_name exch pop load exec pop pop pop - counttomark 1 roll - }{ - pop - }ifelse - counttomark 1 add -1 roll pop - } - ]setcolorspace - }ifelse - imageormask_sys - }{ - write_image_file{ - currentcmykcolor - 0 ne{ - [/Separation/Black/DeviceGray{}]setcolorspace - gsave - /Black - [{1 exch sub/sep_tint AGMCORE_gget mul}/exec cvx MappedCSA sep_proc_name cvx exch pop{4 1 roll pop pop pop 1 exch sub}/exec cvx] - cvx modify_halftone_xfer - Operator currentdict read_image_file - grestore - }if - 0 ne{ - [/Separation/Yellow/DeviceGray{}]setcolorspace - gsave - /Yellow - [{1 exch sub/sep_tint AGMCORE_gget mul}/exec cvx MappedCSA sep_proc_name cvx exch pop{4 2 roll pop pop pop 1 exch sub}/exec cvx] - cvx modify_halftone_xfer - Operator currentdict read_image_file - grestore - }if - 0 ne{ - [/Separation/Magenta/DeviceGray{}]setcolorspace - gsave - /Magenta - [{1 exch sub/sep_tint AGMCORE_gget mul}/exec cvx MappedCSA sep_proc_name cvx exch pop{4 3 roll pop pop pop 1 exch sub}/exec cvx] - cvx modify_halftone_xfer - Operator currentdict read_image_file - grestore - }if - 0 ne{ - [/Separation/Cyan/DeviceGray{}]setcolorspace - gsave - /Cyan - [{1 exch sub/sep_tint AGMCORE_gget mul}/exec cvx MappedCSA sep_proc_name cvx exch pop{pop pop pop 1 exch sub}/exec cvx] - cvx modify_halftone_xfer - Operator currentdict read_image_file - grestore - }if - close_image_file - }{ - imageormask - }ifelse - }ifelse - }ifelse -}def -/indexed_imageormask -{ - begin - AGMIMG_init_common - save mark - currentdict - AGMCORE_host_sep{ - Operator/knockout eq{ - /indexed_colorspace_dict AGMCORE_gget dup/CSA known{ - /CSA get get_csa_by_name - }{ - /Names get - }ifelse - overprint_plate not{ - knockout_unitsq - }if - }{ - Indexed_DeviceN{ - /devicen_colorspace_dict AGMCORE_gget dup/names_index known exch/Names get convert_to_process or{ - indexed_image_lev2_sep - }{ - currentoverprint not{ - knockout_unitsq - }if - currentdict consumeimagedata - }ifelse - }{ - AGMCORE_is_cmyk_sep{ - Operator/imagemask eq{ - imageormask_sys - }{ - level2{ - indexed_image_lev2_sep - }{ - indexed_image_lev1_sep - }ifelse - }ifelse - }{ - currentoverprint not{ - knockout_unitsq - }if - currentdict consumeimagedata - }ifelse - }ifelse - }ifelse - }{ - level2{ - Indexed_DeviceN{ - /indexed_colorspace_dict AGMCORE_gget begin - }{ - /indexed_colorspace_dict AGMCORE_gget dup null ne - { - begin - currentdict/CSDBase known{CSDBase/CSD get_res/MappedCSA get}{CSA}ifelse - get_csa_by_name 0 get/DeviceCMYK eq ps_level 3 ge and ps_version 3015.007 lt and - AGMCORE_in_rip_sep and{ - [/Indexed[/DeviceN[/Cyan/Magenta/Yellow/Black]/DeviceCMYK{}]HiVal Lookup] - setcolorspace - }if - end - } - {pop}ifelse - }ifelse - imageormask - Indexed_DeviceN{ - end - }if - }{ - Operator/imagemask eq{ - imageormask - }{ - indexed_imageormask_lev1 - }ifelse - }ifelse - }ifelse - cleartomark restore - currentdict/_Filters known{_Filters AGMIMG_flushfilters}if - end -}def -/indexed_image_lev2_sep -{ - /indexed_colorspace_dict AGMCORE_gget begin - begin - Indexed_DeviceN not{ - currentcolorspace - dup 1/DeviceGray put - dup 3 - currentcolorspace 2 get 1 add string - 0 1 2 3 AGMCORE_get_ink_data 4 currentcolorspace 3 get length 1 sub - { - dup 4 idiv exch currentcolorspace 3 get exch get 255 exch sub 2 index 3 1 roll put - }for - put setcolorspace - }if - currentdict - Operator/imagemask eq{ - AGMIMG_&imagemask - }{ - use_mask{ - process_mask AGMIMG_&image - }{ - AGMIMG_&image - }ifelse - }ifelse - end end -}def - /OPIimage - { - dup type/dicttype ne{ - 10 dict begin - /DataSource xdf - /ImageMatrix xdf - /BitsPerComponent xdf - /Height xdf - /Width xdf - /ImageType 1 def - /Decode[0 1 def] - currentdict - end - }if - dup begin - /NComponents 1 cdndf - /MultipleDataSources false cdndf - /SkipImageProc{false}cdndf - /Decode[ - 0 - currentcolorspace 0 get/Indexed eq{ - 2 BitsPerComponent exp 1 sub - }{ - 1 - }ifelse - ]cdndf - /Operator/image cdndf - end - /sep_colorspace_dict AGMCORE_gget null eq{ - imageormask - }{ - gsave - dup begin invert_image_samples end - sep_imageormask - grestore - }ifelse - }def -/cachemask_level2 -{ - 3 dict begin - /LZWEncode filter/WriteFilter xdf - /readBuffer 256 string def - /ReadFilter - currentfile - 0(%EndMask)/SubFileDecode filter - /ASCII85Decode filter - /RunLengthDecode filter - def - { - ReadFilter readBuffer readstring exch - WriteFilter exch writestring - not{exit}if - }loop - WriteFilter closefile - end -}def -/spot_alias -{ - /mapto_sep_imageormask - { - dup type/dicttype ne{ - 12 dict begin - /ImageType 1 def - /DataSource xdf - /ImageMatrix xdf - /BitsPerComponent xdf - /Height xdf - /Width xdf - /MultipleDataSources false def - }{ - begin - }ifelse - /Decode[/customcolor_tint AGMCORE_gget 0]def - /Operator/image def - /SkipImageProc{false}def - currentdict - end - sep_imageormask - }bdf - /customcolorimage - { - Adobe_AGM_Image/AGMIMG_colorAry xddf - /customcolor_tint AGMCORE_gget - << - /Name AGMIMG_colorAry 4 get - /CSA[/DeviceCMYK] - /TintMethod/Subtractive - /TintProc null - /MappedCSA null - /NComponents 4 - /Components[AGMIMG_colorAry aload pop pop] - >> - setsepcolorspace - mapto_sep_imageormask - }ndf - Adobe_AGM_Image/AGMIMG_&customcolorimage/customcolorimage load put - /customcolorimage - { - Adobe_AGM_Image/AGMIMG_override false put - current_spot_alias{dup 4 get map_alias}{false}ifelse - { - false set_spot_alias - /customcolor_tint AGMCORE_gget exch setsepcolorspace - pop - mapto_sep_imageormask - true set_spot_alias - }{ - //Adobe_AGM_Image/AGMIMG_&customcolorimage get exec - }ifelse - }bdf -}def -/snap_to_device -{ - 6 dict begin - matrix currentmatrix - dup 0 get 0 eq 1 index 3 get 0 eq and - 1 index 1 get 0 eq 2 index 2 get 0 eq and or exch pop - { - 1 1 dtransform 0 gt exch 0 gt/AGMIMG_xSign? exch def/AGMIMG_ySign? exch def - 0 0 transform - AGMIMG_ySign?{floor 0.1 sub}{ceiling 0.1 add}ifelse exch - AGMIMG_xSign?{floor 0.1 sub}{ceiling 0.1 add}ifelse exch - itransform/AGMIMG_llY exch def/AGMIMG_llX exch def - 1 1 transform - AGMIMG_ySign?{ceiling 0.1 add}{floor 0.1 sub}ifelse exch - AGMIMG_xSign?{ceiling 0.1 add}{floor 0.1 sub}ifelse exch - itransform/AGMIMG_urY exch def/AGMIMG_urX exch def - [AGMIMG_urX AGMIMG_llX sub 0 0 AGMIMG_urY AGMIMG_llY sub AGMIMG_llX AGMIMG_llY]concat - }{ - }ifelse - end -}def -level2 not{ - /colorbuf - { - 0 1 2 index length 1 sub{ - dup 2 index exch get - 255 exch sub - 2 index - 3 1 roll - put - }for - }def - /tint_image_to_color - { - begin - Width Height BitsPerComponent ImageMatrix - /DataSource load - end - Adobe_AGM_Image begin - /AGMIMG_mbuf 0 string def - /AGMIMG_ybuf 0 string def - /AGMIMG_kbuf 0 string def - { - colorbuf dup length AGMIMG_mbuf length ne - { - dup length dup dup - /AGMIMG_mbuf exch string def - /AGMIMG_ybuf exch string def - /AGMIMG_kbuf exch string def - }if - dup AGMIMG_mbuf copy AGMIMG_ybuf copy AGMIMG_kbuf copy pop - } - addprocs - {AGMIMG_mbuf}{AGMIMG_ybuf}{AGMIMG_kbuf}true 4 colorimage - end - }def - /sep_imageormask_lev1 - { - begin - MappedCSA 0 get dup/DeviceRGB eq exch/DeviceCMYK eq or has_color not and{ - { - 255 mul round cvi GrayLookup exch get - }currenttransfer addprocs settransfer - currentdict imageormask - }{ - /sep_colorspace_dict AGMCORE_gget/Components known{ - MappedCSA 0 get/DeviceCMYK eq{ - Components aload pop - }{ - 0 0 0 Components aload pop 1 exch sub - }ifelse - Adobe_AGM_Image/AGMIMG_k xddf - Adobe_AGM_Image/AGMIMG_y xddf - Adobe_AGM_Image/AGMIMG_m xddf - Adobe_AGM_Image/AGMIMG_c xddf - AGMIMG_y 0.0 eq AGMIMG_m 0.0 eq and AGMIMG_c 0.0 eq and{ - {AGMIMG_k mul 1 exch sub}currenttransfer addprocs settransfer - currentdict imageormask - }{ - currentcolortransfer - {AGMIMG_k mul 1 exch sub}exch addprocs 4 1 roll - {AGMIMG_y mul 1 exch sub}exch addprocs 4 1 roll - {AGMIMG_m mul 1 exch sub}exch addprocs 4 1 roll - {AGMIMG_c mul 1 exch sub}exch addprocs 4 1 roll - setcolortransfer - currentdict tint_image_to_color - }ifelse - }{ - MappedCSA 0 get/DeviceGray eq{ - {255 mul round cvi ColorLookup exch get 0 get}currenttransfer addprocs settransfer - currentdict imageormask - }{ - MappedCSA 0 get/DeviceCMYK eq{ - currentcolortransfer - {255 mul round cvi ColorLookup exch get 3 get 1 exch sub}exch addprocs 4 1 roll - {255 mul round cvi ColorLookup exch get 2 get 1 exch sub}exch addprocs 4 1 roll - {255 mul round cvi ColorLookup exch get 1 get 1 exch sub}exch addprocs 4 1 roll - {255 mul round cvi ColorLookup exch get 0 get 1 exch sub}exch addprocs 4 1 roll - setcolortransfer - currentdict tint_image_to_color - }{ - currentcolortransfer - {pop 1}exch addprocs 4 1 roll - {255 mul round cvi ColorLookup exch get 2 get}exch addprocs 4 1 roll - {255 mul round cvi ColorLookup exch get 1 get}exch addprocs 4 1 roll - {255 mul round cvi ColorLookup exch get 0 get}exch addprocs 4 1 roll - setcolortransfer - currentdict tint_image_to_color - }ifelse - }ifelse - }ifelse - }ifelse - end - }def - /sep_image_lev1_sep - { - begin - /sep_colorspace_dict AGMCORE_gget/Components known{ - Components aload pop - Adobe_AGM_Image/AGMIMG_k xddf - Adobe_AGM_Image/AGMIMG_y xddf - Adobe_AGM_Image/AGMIMG_m xddf - Adobe_AGM_Image/AGMIMG_c xddf - {AGMIMG_c mul 1 exch sub} - {AGMIMG_m mul 1 exch sub} - {AGMIMG_y mul 1 exch sub} - {AGMIMG_k mul 1 exch sub} - }{ - {255 mul round cvi ColorLookup exch get 0 get 1 exch sub} - {255 mul round cvi ColorLookup exch get 1 get 1 exch sub} - {255 mul round cvi ColorLookup exch get 2 get 1 exch sub} - {255 mul round cvi ColorLookup exch get 3 get 1 exch sub} - }ifelse - AGMCORE_get_ink_data currenttransfer addprocs settransfer - currentdict imageormask_sys - end - }def - /indexed_imageormask_lev1 - { - /indexed_colorspace_dict AGMCORE_gget begin - begin - currentdict - MappedCSA 0 get dup/DeviceRGB eq exch/DeviceCMYK eq or has_color not and{ - {HiVal mul round cvi GrayLookup exch get HiVal div}currenttransfer addprocs settransfer - imageormask - }{ - MappedCSA 0 get/DeviceGray eq{ - {HiVal mul round cvi Lookup exch get HiVal div}currenttransfer addprocs settransfer - imageormask - }{ - MappedCSA 0 get/DeviceCMYK eq{ - currentcolortransfer - {4 mul HiVal mul round cvi 3 add Lookup exch get HiVal div 1 exch sub}exch addprocs 4 1 roll - {4 mul HiVal mul round cvi 2 add Lookup exch get HiVal div 1 exch sub}exch addprocs 4 1 roll - {4 mul HiVal mul round cvi 1 add Lookup exch get HiVal div 1 exch sub}exch addprocs 4 1 roll - {4 mul HiVal mul round cvi Lookup exch get HiVal div 1 exch sub}exch addprocs 4 1 roll - setcolortransfer - tint_image_to_color - }{ - currentcolortransfer - {pop 1}exch addprocs 4 1 roll - {3 mul HiVal mul round cvi 2 add Lookup exch get HiVal div}exch addprocs 4 1 roll - {3 mul HiVal mul round cvi 1 add Lookup exch get HiVal div}exch addprocs 4 1 roll - {3 mul HiVal mul round cvi Lookup exch get HiVal div}exch addprocs 4 1 roll - setcolortransfer - tint_image_to_color - }ifelse - }ifelse - }ifelse - end end - }def - /indexed_image_lev1_sep - { - /indexed_colorspace_dict AGMCORE_gget begin - begin - {4 mul HiVal mul round cvi Lookup exch get HiVal div 1 exch sub} - {4 mul HiVal mul round cvi 1 add Lookup exch get HiVal div 1 exch sub} - {4 mul HiVal mul round cvi 2 add Lookup exch get HiVal div 1 exch sub} - {4 mul HiVal mul round cvi 3 add Lookup exch get HiVal div 1 exch sub} - AGMCORE_get_ink_data currenttransfer addprocs settransfer - currentdict imageormask_sys - end end - }def -}if -end -systemdict/setpacking known -{setpacking}if -%%EndResource -currentdict Adobe_AGM_Utils eq {end} if -%%EndProlog -%%BeginSetup -Adobe_AGM_Utils begin -2 2010 Adobe_AGM_Core/ds gx -Adobe_CoolType_Core/ds get exec -Adobe_AGM_Image/ds gx -currentdict Adobe_AGM_Utils eq {end} if -%%EndSetup -%%Page: 1 1 -%%EndPageComments -%%BeginPageSetup -%ADOBeginClientInjection: PageSetup Start "AI11EPS" -%AI12_RMC_Transparency: Balance=75 RasterRes=300 GradRes=150 Text=0 Stroke=1 Clip=1 OP=0 -%ADOEndClientInjection: PageSetup Start "AI11EPS" -Adobe_AGM_Utils begin -Adobe_AGM_Core/ps gx -Adobe_AGM_Utils/capture_cpd gx -Adobe_CoolType_Core/ps get exec -Adobe_AGM_Image/ps gx -%ADOBeginClientInjection: PageSetup End "AI11EPS" -/currentdistillerparams where {pop currentdistillerparams /CoreDistVersion get 5000 lt} {true} ifelse { userdict /AI11_PDFMark5 /cleartomark load put userdict /AI11_ReadMetadata_PDFMark5 {flushfile cleartomark } bind put} { userdict /AI11_PDFMark5 /pdfmark load put userdict /AI11_ReadMetadata_PDFMark5 {/PUT pdfmark} bind put } ifelse [/NamespacePush AI11_PDFMark5 [/_objdef {ai_metadata_stream_123} /type /stream /OBJ AI11_PDFMark5 [{ai_metadata_stream_123} currentfile 0 (% &&end XMP packet marker&&) /SubFileDecode filter AI11_ReadMetadata_PDFMark5 - - - - application/postscript - - - Web - - - Adobe Illustrator CC 2017 (Windows) - 2022-11-06T13:04:23+07:00 - 2022-11-06T13:04:24+07:00 - 2022-11-06T13:04:24+07:00 - - - - 256 - 256 - JPEG - /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAAEAAwER AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE 1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp 0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo +DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7 FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq 7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7 FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FX Yq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq 7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7 FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F XYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYqgdZ17RdEs2vdYv4NPtV6zXM ixKTStAWIqfYb4q8k80f85V/l9pbPFo8Nzrk61AeNfq9vUdvUlHP6RGRiry/XP8AnLP8wLwsulWV jpcR+y3BriYf7KQiM/8AIvFWEaj+d/5sahX6x5mvE5dfqxW18en1dYqdcVSWTz957lcyS+Y9Ukc9 Xa9uCTTbqXxV0fn7z3E4ki8x6pG46Ot7cAiu3UPiqdad+d/5safT6v5mvH49PrJW68Ov1hZa9MVZ vof/ADln+YFmVXVbKx1SIfabg1vMf9lGTGP+ReKvUPK//OVf5faoyRaxDc6HO1AXkX6xb1Pb1Ihz +kxgYq9b0bXtF1uzW90e/g1C1bpNbSLKoNK0JUmh9jviqOxV2KuxV2KuxV2KuxV2KuxV2KuxV2Ku xV2KuxV2KuxV2KuxV2KpN5o84+WfKunnUNf1CKwtt+HqEl3I/ZjjWrufZQcVfOnnz/nLLV7sy2fk 2zGn25qo1K7VZLg/5UcVTEn+y5/RirxeSXzl511r4je69q83QfvLiSlewHLior7AYqgtc0TUNE1O bTNRVY7+3IW5gR0k9N6VKM0ZZeS/tAHY7HcEYqn35e/lj5q8+akbTRYALeEj65qE1Vt4QenJqGrH sq1P0b4q+nfJX/OMn5e6DFHLq8TeYNRFC0t1VLcEfyW6njT/AIyFsVeoadoWiaYippun21ki7Ktt DHEB8ggXFXajoWiamjJqWn216jbMtzDHKD8w4bFXl/nX/nGT8vdeikl0iJvL+ompWW1q9uSf57dj xp/xjK4q+YvzC/LHzV5D1IWmtQA28xP1PUIatbzAdeLUFGHdWofo3xVINE0XUNa1KHTNORZb64JW 3hZ0jMjgVCKzlV5N+ytfiOw3IGKo6Obzl5L1o8GvdB1eH7S/vLeSle4PHkp96g4q9o8h/wDOWWr2 his/OVmNQtxRTqVoqx3A/wAqSKoif/Y8PpxV9F+V/OPlnzVp41DQNQiv7bbn6ZIdCf2ZI2o6H2YD FU5xV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KtMyopdyFVRVmOwAHUk4q8H/NP/AJyf0rR2 m0nyaI9T1JapJqjfFaRN0/dgf3zDx+z/AK3TFXzfPc+c/PXmIGVrrXNbuzRFAMj08FUfCiL7AKMV e6fl7/zicWWK/wDPF2VrRv0PZsK/KacfiI/+CxVnn5qa/oH5S/l3JB5XsrfTdQ1E/VdOjgQK3Pj8 dw53ZzEn7TV+IrXFXy/+WvkHVvzA83RaVDIyxsTcanftV/ShB+NzX7TsTRR3Y+FTir7m8t+W9G8t 6NbaNo1strYWq8Y416k/tO7dWZjuSeuKpnirsVdirsVSzzJ5b0bzJo1zo2s2y3VhdLxkjbqD+y6N 1VlO4I6Yq+GfzK8g6t+X/m6XSppGaNSLjTL9ap6sJPwOKfZdSKMOzDwocVfUH5V695f/ADa/LyOD zRY2+pajpxFrqSToGYuF+C4Q7MhlXutPi5UxVgX5h/8AOJzKsl/5Hui9KsdHvG3p4Qzn8Fk/4LFX hkFz5z8i+YiYmutD1u0NHUgxvTwZT8Lo3uCpxV9IflZ/zk/pWsNDpPnIR6ZqTUSPVF+G0lbp+8B/ uWPj9n/V6Yq94VldQ6EMrCqsNwQehBxVvFXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FUu8w+YtF8u6R Pq+s3SWdhbCskz+J6KoG7Mx2Cjc4q+Qvze/P/XfOkk2laUX0zyxUr9XBpNcgd7hh+z/xWNvHltRV DflT+Qvmbzy0eoXPLSvLlfiv5F/eTAdVt4z9rw5n4R7kUxV9aeSfy+8qeS9O+o6BZLByA9e6b47i YjvLKd29h9kdgMVZHir43/5yi80Sav8AmVJpiPW00KBLZFH2fVlUTTN8/iVD/q4q9q/5xk8lRaD+ XsWryx01HzA31qViKEW6Erbp8uNZP9lir17FXYq80/5yKsI7n8p9WuPVeCfTzDc28kbFTy9VYypp 1DLIRTxoe2KvkXy9+Yvnny9cpPpGt3dsUNfS9VpIW9nhflGw+a4q+sfyR/O628/20unajEln5ks0 EksUZ/dXEXQyxA1K8SQGUk0qCD4KvVMVeQ/85N+Sote/L2XV4o66j5fb61EwFSbdyFuE+XGkn+xx V4r/AM4u+aH0j8yU0x3paa7A9s6k/D60QM0TfP4GQf62KvsjFWOedvy98qedNO+o69ZLPxBFvdJ8 FxCT3ikpUfLdT3BxV8k/mr+QvmfyM0l/BXVfLtdr+JSHhBOwuEFeP+sPhPsdsVRf5Q/n/rvkuSHS tVL6n5YqF+rk1mtge9ux/Z/4rO3hx3qq+vfL3mLRfMWkQavo10l5YXIrHMniOqsDurKdip3GKpji rsVdirsVdirsVdirsVdirsVdiqS+cPOGheUdCn1rWpxDaQiiqKGSWQj4Yol25O1P4mgBOKviX8zf zQ8xfmDrn1q9ZorCJiNN0tCTHCp2/wBnI37Td+1BQYq9h/Jj/nGpeMHmHz1BWtJLTQXH0q10Px9L /gu64q+kY444o1jjUJGgCoigBVUCgAA6AYquxV2Kvz6/Me7lvPzB8y3Mh+KTVLw060AncKv0AUxV 976FpyaZomn6ai8UsraG2VR2EUYQD/hcVR2KvNLD/nIv8p7mOQ3GrNp88LtHJb3ME3KqmlVMayKQ abb18QMVeLfn3+fdh5vsB5a8tCT9Deost7eyqY2uGjNUREPxCMNRiWFSabCm6rwvFWR/l15hufLv nnRNXgcoba7iEtK/FDI3pzKafzRswxV+guKoHXdOTU9E1DTXXkl7bTWzKe4ljKEf8Nir4I/Li7ls /wAwfLVzGfij1SzNOlQZ0DL9INMVfoLirsVWyRxyxtHIoeNwVdGAKspFCCD1BxV83fnP/wA41ACf zD5FgpSsl5oKfezWg/H0v+B7Lirx78svzQ8xfl9rn1qyZpbCVgNS0tyRHMo2/wBhIv7Ldu9RUYq+ 2vJ/nDQvN2hQa1os4mtJhRlNBJFIB8UUq78XWv8AEVBBxVOsVdirsVdirsVdirsVdirsVdiqS+cP J+hebtCn0XWoBNaTCqsKCSKQD4ZYm34utf4GoJGKviX8zfyv8xfl9rn1W9VpbCVidN1RARHMo3/2 Ei/tL27VFDir2H8mP+clQBB5e89T0pSOz15/uVbs/h6v/Bd2xV9IxyRyxrJGweNwGR1IKspFQQR1 BxVdirsVfn1+Y9pLZ/mD5ltpB8UeqXgr0qDO5VvpBrir730LUU1PRNP1JG5Je20NyrDuJYw4P/DY qjsVfn1+Yvl658veedb0idChtruX0q/tQyNzhcezRspxVjmKuxVkf5deXrnzF550TSIELm5u4jLS vwwxt6kzGn8sascVfoLiqB13UU0zRNQ1J24pZW01yzHsIoy5P/C4q+CPy4tJbz8wfLVtGPik1SzF etAJ0LN9AFcVfoLirsVWySRxRtJIwSNAWd2ICqoFSST0AxV83fnP/wA5Krxn8veRZ61rHd68h+hl tT+Hq/8AA9mxV49+WX5X+YvzB1z6rZK0VhEwOpao4JjhU7/7ORv2V796CpxV9teT/J+heUdCg0XR YBDaQirMaGSWQj4pZW25O1P4CgAGKp1irsVdirsVdirsVdirsVdirsVdiqXeYfLui+YtIn0jWbVL ywuRSSF/EdGUjdWU7hhuMVfIX5vfkBrvkuSbVdKD6n5YqW+sAVmtge1wo/Z/4sG3jx2qqhPyq/Pr zP5GaOwnrqvl2u9hKxDwgnc27mvH/VPwn2O+KvrbyT+YXlTzpp317Qb1Z+IBuLV/guISe0sdaj57 qexOKsjxV8b/APOUXleTSPzKk1NEpaa7AlyjD7PqxKIZl+fwq5/1sVe1f84yedYte/L2LSJZK6j5 fb6rKpNSbdyWt3+XGsf+xxV69iryv87vyRtvP9tFqOnSpZ+ZLNDHFLIP3VxF1EUpFSvEklWANKkE eCr5O8w/l1558vXLwavol3bFDT1fSaSFvdJk5RsPk2Ku8vfl1558xXKQaRol3clzT1TE0cK70q00 nGNfpbFX1j+SP5I23kC2l1HUZUvPMl4gjlljH7q3i6mKImhbkQCzECtAAPFV6piryH/nJvzrFoP5 ey6RFJTUfMDfVYlBoRboQ1w/y40j/wBlirxX/nF3yu+r/mSmpulbTQoHuXYj4fWlBhiX5/Gzj/Vx V9kYqxzzt+YPlTyXp317X71YOQPoWq/HcTEdoohu3ufsjuRir5K/Nb8+vM3nl5LC35aX5dr8NhG3 xzAHY3Dj7X+qPhHud8VRX5Q/kBrvnSSHVdVD6Z5YqG+sEUmuQO1up/Z/4sO3hy3oq+vfL3l3RfLu kQaRo1qlnYWwpHCnierMTuzMdyx3OKpjirsVdirsVdirsVdirsVdirsVdirsVdirTKrqUcBlYUZT uCD1BGKvB/zT/wCcYNK1hptW8mmPTNSaryaW3w2krdf3ZH9yx8Ps/wCr1xV83z23nPyL5iAlW60P W7Q1RgTG9PFWHwujexKnFXuf5ef85Ysqx2Hni1L0oo1izXenjNAPxaP/AIHFWe/mpoPl/wDNr8vJ J/K99b6lqOnE3WmvA4Zi4X47dxsyGVezU+LjXFXy/wDlr5+1b8v/ADdFqsMbNGpNvqdg1U9WEn40 NfsupFVPZh4VGKvuby35k0bzJo1trOjXK3VhdLyjkXqD+0jr1VlOxB6YqmeKuxV2KuxVLPMnmTRv LejXOs6zcra2FqvKSRupP7KIvVmY7ADrir4Z/Mrz9q35gebpdVmjZY2It9MsFq/pQg/Agp9p2Jqx 7sfCgxV9QflXoGgflL+Xcc/mi9t9N1DUT9a1GSdwrc+PwW6DdnMSfsrX4i1MVYH+YX/OWJZZbDyP aFa1X9MXiivzhgP4GT/gcVeFwW3nPz15iIiW61zW7s1diTI9PFmPwoi+5CjFX0h+Vn/OMGlaO0Or ecmj1TUlo0WmL8VpE3X94T/fN7U4+zdcVe8KqooRAFVRRVGwAHQAYq3irsVdirsVdirsVdirsVdi rsVdirsVdirsVdirsVSbzR5O8s+atPOn6/p8V/bb8PUBDoT+1HItHQ+6kYq+dPPn/OJur2hlvPJt 4NQtxVhpt2yx3A/yY5aCJ/8AZcPpxV4vJD5y8l60Oa3ug6vD9lv3lvJSvYjjyU+1QcVQOt61qGta lNqeoust9cENcTKiRmRwKF2VAq8m/aanxHc7knFU/wDy9/M7zV5D1I3eizg28xH1zT5qtbzAdOS1 FGHZlofo2xV9O+Sv+cm/y916KOLV5W8v6iaBorqr25J/kuFHGn/GQLir1DTtd0TU0V9N1C2vUbdW tpo5QfkULYq7Udd0TTEZ9S1C2skXdmuZo4gPmXK4q8v86/8AOTf5e6DFJFpEreYNRFQsVrVLcEfz 3DDjT/jGGxV8xfmF+Z3mrz5qQu9anAt4Sfqenw1W3hB68Vqase7NU/RtiqQ6HreoaJqcOp6cyx39 uS1tO6JJ6b0oHVZAy8l/ZJGx3G4BxVGxxecvOutfCL3XtXm6n95cSUr3J5cVFfYDFXtHkP8A5xN1 e7MV55yvBp9uaMdNtGWS4P8AkyS0MSf7Hn9GKvovyv5O8s+VdPGn6Bp8Vhbbc/TBLuR+1JI1Xc+7 E4qnOKuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxVA6zoOi63ZtZaxYQahat1hu Y1lUGlKgMDQ+43xV5J5o/wCcVPy+1Rnl0ea50OdqkJG31i3qe/pynn9AkAxV5frn/OJn5gWZZtKv bHVIh9lebW8x/wBjIDGP+RmKsI1H8kPzY0+v1jyzePx6/Vgt149Pq7S16YqksnkHz3E5jl8uapG4 6o1lcAiu/Qpiro/IPnuVxHF5c1SRz0RbK4JNN+gTFU6078kPzY1Cn1fyzeJy6fWQtr4dfrDRU64q zfQ/+cTPzAvCrare2OlxH7S82uJh/sYwIz/yMxV6h5X/AOcVPy+0tkl1ia51ydaEpI31e3qO/pxH n9BkIxV63o2g6Lolmtlo9hBp9qvSG2jWJSaUqQoFT7nfFUdirsVdirsVdirsVdirsVdirsVdirsV dirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVd irsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdi rsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdir sVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirs VdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsV dirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVd irsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdi rsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdir sVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirs VdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsV dirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVd irsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdir//2Q== - - - - proof:pdf - uuid:65E6390686CF11DBA6E2D887CEACB407 - xmp.did:37d8353c-8884-7144-be77-c5d54880a4c8 - xmp.iid:37d8353c-8884-7144-be77-c5d54880a4c8 - - xmp.iid:9add332c-ca0d-c84f-9434-b38dec6d3b17 - xmp.did:9add332c-ca0d-c84f-9434-b38dec6d3b17 - uuid:65E6390686CF11DBA6E2D887CEACB407 - proof:pdf - - - - - saved - xmp.iid:a8b69cd4-c13d-1d4c-9131-4e439ea2f3c7 - 2022-09-01T19:44:47+07:00 - Adobe Illustrator CC 2017 (Windows) - / - - - saved - xmp.iid:2ae90662-edb0-2a44-952c-678c5a8dd6d5 - 2022-09-01T19:47:05+07:00 - Adobe Illustrator CC 2017 (Windows) - / - - - converted - from application/postscript to application/vnd.adobe.illustrator - - - saved - xmp.iid:b0179cf0-11b4-1e4c-bedf-4f2884d65a85 - 2022-11-06T11:36:40+07:00 - Adobe Illustrator CC 2017 (Windows) - / - - - saved - xmp.iid:37d8353c-8884-7144-be77-c5d54880a4c8 - 2022-11-06T13:04:24+07:00 - Adobe Illustrator CC 2017 (Windows) - / - - - - Web - 1 - False - False - - 2000.000000 - 2000.000000 - Pixels - - - - Cyan - Magenta - Yellow - Black - - - - - - Default Swatch Group - 0 - - - - White - RGB - PROCESS - 255 - 255 - 255 - - - Black - RGB - PROCESS - 0 - 0 - 0 - - - RGB Red - RGB - PROCESS - 255 - 0 - 0 - - - RGB Yellow - RGB - PROCESS - 255 - 255 - 0 - - - RGB Green - RGB - PROCESS - 0 - 255 - 0 - - - RGB Cyan - RGB - PROCESS - 0 - 255 - 255 - - - RGB Blue - RGB - PROCESS - 0 - 0 - 255 - - - RGB Magenta - RGB - PROCESS - 255 - 0 - 255 - - - R=193 G=39 B=45 - RGB - PROCESS - 193 - 39 - 45 - - - R=237 G=28 B=36 - RGB - PROCESS - 237 - 28 - 36 - - - R=241 G=90 B=36 - RGB - PROCESS - 241 - 90 - 36 - - - R=247 G=147 B=30 - RGB - PROCESS - 247 - 147 - 30 - - - R=251 G=176 B=59 - RGB - PROCESS - 251 - 176 - 59 - - - R=252 G=238 B=33 - RGB - PROCESS - 252 - 238 - 33 - - - R=217 G=224 B=33 - RGB - PROCESS - 217 - 224 - 33 - - - R=140 G=198 B=63 - RGB - PROCESS - 140 - 198 - 63 - - - R=57 G=181 B=74 - RGB - PROCESS - 57 - 181 - 74 - - - R=0 G=146 B=69 - RGB - PROCESS - 0 - 146 - 69 - - - R=0 G=104 B=55 - RGB - PROCESS - 0 - 104 - 55 - - - R=34 G=181 B=115 - RGB - PROCESS - 34 - 181 - 115 - - - R=0 G=169 B=157 - RGB - PROCESS - 0 - 169 - 157 - - - R=41 G=171 B=226 - RGB - PROCESS - 41 - 171 - 226 - - - R=0 G=113 B=188 - RGB - PROCESS - 0 - 113 - 188 - - - R=46 G=49 B=146 - RGB - PROCESS - 46 - 49 - 146 - - - R=27 G=20 B=100 - RGB - PROCESS - 27 - 20 - 100 - - - R=102 G=45 B=145 - RGB - PROCESS - 102 - 45 - 145 - - - R=147 G=39 B=143 - RGB - PROCESS - 147 - 39 - 143 - - - R=158 G=0 B=93 - RGB - PROCESS - 158 - 0 - 93 - - - R=212 G=20 B=90 - RGB - PROCESS - 212 - 20 - 90 - - - R=237 G=30 B=121 - RGB - PROCESS - 237 - 30 - 121 - - - R=199 G=178 B=153 - RGB - PROCESS - 199 - 178 - 153 - - - R=153 G=134 B=117 - RGB - PROCESS - 153 - 134 - 117 - - - R=115 G=99 B=87 - RGB - PROCESS - 115 - 99 - 87 - - - R=83 G=71 B=65 - RGB - PROCESS - 83 - 71 - 65 - - - R=198 G=156 B=109 - RGB - PROCESS - 198 - 156 - 109 - - - R=166 G=124 B=82 - RGB - PROCESS - 166 - 124 - 82 - - - R=140 G=98 B=57 - RGB - PROCESS - 140 - 98 - 57 - - - R=117 G=76 B=36 - RGB - PROCESS - 117 - 76 - 36 - - - R=96 G=56 B=19 - RGB - PROCESS - 96 - 56 - 19 - - - R=66 G=33 B=11 - RGB - PROCESS - 66 - 33 - 11 - - - R=0 G=0 B=0 - RGB - PROCESS - 0 - 0 - 0 - - - R=26 G=26 B=26 - RGB - PROCESS - 26 - 26 - 26 - - - R=51 G=51 B=51 - RGB - PROCESS - 51 - 51 - 51 - - - R=77 G=77 B=77 - RGB - PROCESS - 77 - 77 - 77 - - - R=102 G=102 B=102 - RGB - PROCESS - 102 - 102 - 102 - - - R=128 G=128 B=128 - RGB - PROCESS - 128 - 128 - 128 - - - R=153 G=153 B=153 - RGB - PROCESS - 153 - 153 - 153 - - - R=179 G=179 B=179 - RGB - PROCESS - 179 - 179 - 179 - - - R=204 G=204 B=204 - RGB - PROCESS - 204 - 204 - 204 - - - R=230 G=230 B=230 - RGB - PROCESS - 230 - 230 - 230 - - - R=242 G=242 B=242 - RGB - PROCESS - 242 - 242 - 242 - - - R=63 G=169 B=245 - RGB - PROCESS - 63 - 169 - 245 - - - R=122 G=201 B=67 - RGB - PROCESS - 122 - 201 - 67 - - - R=255 G=147 B=30 - RGB - PROCESS - 255 - 147 - 30 - - - R=255 G=29 B=37 - RGB - PROCESS - 255 - 29 - 37 - - - R=255 G=123 B=172 - RGB - PROCESS - 255 - 123 - 172 - - - R=189 G=204 B=212 - RGB - PROCESS - 189 - 204 - 212 - - - - - - - Adobe PDF library 15.00 - - - - - - - - - - - - - - - - - - - - - - - - - % &&end XMP packet marker&& [{ai_metadata_stream_123} <> /PUT AI11_PDFMark5 [/Document 1 dict begin /Metadata {ai_metadata_stream_123} def currentdict end /BDC AI11_PDFMark5 -%ADOEndClientInjection: PageSetup End "AI11EPS" -%%EndPageSetup -1 -1 scale 0 -2000 translate -pgsv -[1 0 0 1 0 0 ]ct -gsave -np -gsave -0 0 mo -0 2000 li -2000 2000 li -2000 0 li -cp -clp -2000 2000 mo -0 2000 li -0 0 li -2000 0 li -2000 2000 li -cp -false sop -/0 -[/DeviceRGB] /CSA add_res -1 1 1 rgb -f -1000 1121.84 mo -1067.26 1121.84 1121.84 1067.26 1121.84 1000 cv -1121.84 932.741 1067.26 878.155 1000 878.155 cv -991.644 878.155 983.291 878.992 975.492 880.661 cv -983.569 891.802 988.302 905.448 988.302 920.209 cv -988.302 957.807 957.807 988.302 920.209 988.302 cv -905.448 988.302 891.802 983.569 880.661 975.492 cv -878.992 983.291 878.155 991.644 878.155 1000 cv -878.155 1067.26 932.741 1121.84 1000 1121.84 cv -cp -.129412 .129412 .129412 rgb -f -1221.96 1210.82 mo -1274.19 1155.86 1306.35 1081.64 1306.35 1000 cv -1306.35 918.433 1274.25 844.269 1222.09 789.314 cv -1390.49 848.169 1521.43 955.961 1570.33 1000.02 cv -1521.46 1044.13 1390.58 1152.02 1221.96 1210.82 cv -cp -778.044 789.176 mo -725.808 844.144 693.647 918.364 693.647 1000 cv -693.647 1081.57 725.754 1155.73 777.912 1210.69 cv -609.508 1151.83 478.566 1044.04 429.675 999.979 cv -478.537 955.87 609.42 847.985 778.044 789.176 cv -cp -1250.65 1000 mo -1250.65 1138.21 1138.21 1250.65 1000 1250.65 cv -861.789 1250.65 749.348 1138.21 749.348 1000 cv -749.348 861.789 861.789 749.348 1000 749.348 cv -1138.21 749.348 1250.65 861.789 1250.65 1000 cv -cp -1630.83 980.486 mo -1619.33 968.771 1345.14 693.647 1000 693.647 cv -654.857 693.647 380.672 968.771 369.167 980.486 cv -350 1000 li -369.167 1019.51 li -380.672 1031.23 654.857 1306.35 1000 1306.35 cv -1345.14 1306.35 1619.33 1031.23 1630.83 1019.51 cv -1650 1000 li -1630.83 980.486 li -cp -f -%ADOBeginClientInjection: EndPageContent "AI11EPS" -userdict /annotatepage 2 copy known {get exec}{pop pop} ifelse -%ADOEndClientInjection: EndPageContent "AI11EPS" -grestore -grestore -pgrs -%%PageTrailer -%ADOBeginClientInjection: PageTrailer Start "AI11EPS" -[/EMC AI11_PDFMark5 [/NamespacePop AI11_PDFMark5 -%ADOEndClientInjection: PageTrailer Start "AI11EPS" -[ -[/CSA [/0 ]] -] del_res -Adobe_AGM_Image/pt gx -Adobe_CoolType_Core/pt get exec -Adobe_AGM_Core/pt gx -currentdict Adobe_AGM_Utils eq {end} if -%%Trailer -Adobe_AGM_Image/dt get exec -Adobe_CoolType_Core/dt get exec -Adobe_AGM_Core/dt get exec -%%EOF -%AI9_PrintingDataEnd - -userdict /AI9_read_buffer 256 string put -userdict begin -/ai9_skip_data -{ - mark - { - currentfile AI9_read_buffer { readline } stopped - { - } - { - not - { - exit - } if - (%AI9_PrivateDataEnd) eq - { - exit - } if - } ifelse - } loop - cleartomark -} def -end -userdict /ai9_skip_data get exec -%AI9_PrivateDataBegin -%!PS-Adobe-3.0 EPSF-3.0 -%%Creator: Adobe Illustrator(R) 10.0 -%%AI8_CreatorVersion: 21.0.0 -%%For: (Maman Suryaman) () -%%Title: (Eye vector.eps) -%%CreationDate: 11/6/2022 1:04 PM -%%Canvassize: 16383 -%AI9_DataStream -%Gb"-6CQB`4EZP")JGp)TKtsje/V^lmH[+ll/l7s=7BJgq(HY9H(PFJUp,$ttm)PcsLXbV@?TZ_uBC;dF)Ti=Z&E -%\&U5p^\E`IRibsdqr7;;O)P$L0+ZOj(NGn@"+O$@^A]YAcm"\Zg?bcK_gGdHMJ,fK3c-&%a^]3ESoZ*l5%tF3C -%p[ZSX_uKK/ji]U_H8rWdqWsj9T%dW6DsguFI")+XmAm/R%cq:H0n$s/s6b6E9.Ia7UbCX'lBRIFIfAc+]S=q\kPk1YNoMASC+)=D -%LYk;qrJU.%]m]bF`LGKZj6*rEp/a\`rqcG7:\>*pm$EJMj_+/GiV`VGT)S6MSNcYlYED--rVV0qro;thhgt>]mjdn$^bT'?:SBhC -%Q!X[lf.Xc6$\-2a3m@Gjhu)VqB10G+9SYXOf?nIA(CpN-B7*;Ci:!8PqX3IoGL&9O5mHR#bObDamDjC&Mut^clRZD>[2_N%b2F.J -%RdH8%_U&8D`UeTXjl*s:J,8R([l0>WDr6!Aid].%q7NpbIf%%+kAUCgoo"%BB8*]m8)\CCI/Ei<]Nq`!roI(=ld/'![OZh$o^2+> -%^QYYlk2d*jKO5e#5NQg5GkKZas7dR40%`O?rS@(s^O,S0po;(793_s@abT+-8f*^G+6kE5>P'@"P[Tu8+`-hG&ld7.?SFOUO_OUV -%[kE41iq4tJKX"8F*m6Klp%HA6I>0BE;"YXZEDqYmfCltmXu-.6]B?BPqhOskl#2ZM1a/*6cE)lNmo,D(nII6>]C6c+Tj=e.qAgK.hm`lM_Jclr -%Fbeh4G2YADTi(TEWjK+>C,?:4flm8o1>7G[C7jc1i%d+u^N%Ns4_S\sq"!.fg6^MnpoV#?la6ciqYGC3I(jtIWcj6ui%hYO^JU7+ -%UpaOCZ[p"9\.!4j,HY7H2kuB-NDF5\c3+!QQNmi3E>dJdh`@,c?*n\G%IhS"(\mQ<-FKPr=4Ft)A_MF3Dm]2k!5?+[RQam?DSr?< -%Zl`P*#.?OL#4cqS\UKMri\rL=\W/R_^Z`r;NGHm+\\68Y[Z\#poGK^=gN7=sVTh3:]M9?8'Q&u>Z.7^_pX?k.-Yqo8jkISXp?Co' -%ZM&[J?7XCkouCBF(TPbs*II/rXl>p:3gKU-f6cTP[X.g3CRs#-J^3nr#5V$Sm*DolV>c]Mn,khVPl?]l&2Yp11:-D[k>* -%jTkf(Wsn\8UOLbneXq-5=mdG)[D-bH13QLjnrHXiuoDQ5TiEK.Rnkk&@q't:RiSOtlDS*#k6e33$AaTNXl+Ct. -%hLXj)`9(j&3FT5HRHJHTqE!(:74N&B0(M*;S=[f]l);ApS]2b$-s%o -%0"TW$p+NS;n$oO0:W78>haYL^6U\Q@p\.[ki6rXeCVA7k[t?'caH'"9qeSD;0V&")pQoB_Qd%rhI/Bksb*O2c[9&Wng)/!lpTRloj*Pdb9kW%'Ska.4pr^6k4"C)5WEhacSEK!,)]W(7-iJuMA!?4ZT<1JY0>D>$ -%Lcs^qeGDsEVqU#=9u64pr_.7hg2H,#ea90[X3tahY!8C7o+d$nT)30(E!=M?:;ST/H98:/N8sY)c2h1Y^7U4T4c$aN:2pfR_(+`WG1<8d,n(D4j%:$5FEP$,KPKkD2Y[5([rPdOG.pie>G-,\=1,rWAVPZYta/r$P>gr=6Am4E1AV01RC7W-u;;?tK,lh3nSSi\j8F2+F9i9V[Y!L6G2RqZYd!iaJV:*geMp4f1lq`TsF[or;\mVVQ2 -%01>nQi2UY7gMWjr7F&Nuk0LLg]$KtE`s*HkRCL.Q2h)/`o:D(als6+u"qL;9K6G!E<-jbjj\!jg89!IqITDlGliZ/2>Ae&D8J@Rb -%g0W>70=/6sk=466+ -%^9Ua\Vd&/(%X`fYoiFO=e=TDT)Z.K!lH>YsRU`tUjj]P,]JOq&qrGdp"$cVTFY]rT0CE.r$QH,EH$]&h2Xg+j^A=>.DdL0R]m\X" -%n@Plr^\ctO1E;VJc/66t)d^13&bjCKJ#hJWDgq#dNeiU!nd_Ej^:M!LPQ+6>Z]>&hpS^62Bs.+6>CY93?#;6q.HIS^]^AGh,q""7H -%Dnl&#oj`JmZpnbjRS83YooF#t^A.\mf/HTV,LbnrZ^9"QroMT@*r>mb8Pp&0G$Ln%IlLIsiddqlaB)is->L -%](qt)]`(sgqs,>1]R/Med[O=q_2!O8q@?B:Hd:a,Y5Gk4RD4l4D;;ULnVd/1BV?E+YK'<8lL!&=?c\i7bJV[*lHRLjT>*Sf(7Tlf -%gA(1L%a3i+m?=aQiQ50Mn6]l/c%j(/k4nYl=8uFEf7(S5i_U92]IS7Y;Ic<@:mRfVRrUTT,KkrDT<6o=Ih`:t-r7S*IoZ3LZ4>u>-q>jb^A<=$)H6%/BfE%/ -%c0`#INc0Z?EBhT(``^<'*9D=C;Qc#N3fLHDQ5[du8*OND_U38]/h`7BqD2CtF&uju]$UtIJ='9XP.`P'"<6#>UG-Z.#\[-=;P&*B;20NIJ3*NZ]J$j_gBocDhb\S_3L\@86f"p4Kn;VZJ\KZ4*RG8fl,;PVa)BNDa8nZK5n$0B:75NBcT#3GFU._nX6cg^[m99&5_C-tOg4 -%l,^ZI12fc'8fUG?b1')Mp*X5#?Xj2XT@6Vs>1um1N9>?u[q"#ZD*(YMd?,$')Wu*.L6:-^s0gO][s(!ZI[0odpSmiHV@U07[coB9 -%T_:)(YAM$fTA3UQ=fRa@V-(i?AsQsrjrG7JYej\^Q\%,t4fnT%=`1@C/CfV/G$4adWE:=q&iQC/=](dGFo^L%_jK;#*02)Kb&PQD -%(Q?APhES?UD`M_Pp?'TU$gb&YpaMbWQ/j159_U;InD9K0iPFI9Z7:CK4VD>"9UpEk6 -%$u^hO&\&-(a0_;S\ -%@I$LPHOs?G$Rn*ZAs-]f$mKKBbJZKcO;qiL=_6Vrjs"$V/6bu9%;CtO -%E$s,p,b*;cCf^+eZ>C?0O(R(`U?qc@/<;l\3%&UMfQaY=6aX^2*T@ctr=1$U?&<@OQ0hc2qB>:_;C&?LZ)U&4@Rch+Er!,@Z6i_M -%]nUu#7?n=s\0#kqSS,"IYut\jFEM3;]Ge3jmS^utaC[5JYDR?,p+%\0h6F3^\S#?kOtB6.L@tu,)gu'Eg_\S#SM>+sD#<3DT%WOU -%)'bOP]/2O#'$_NZN*qf=61B8UG*^o+`WdMJ^$nBP8]W>"8u)bJ"mWpAYMHuCokN26tHETT1:L([*^Lec=U,W\*hDE0;cp)f6$RYkFGm')G@_@lpke1J#:E; -%27#SA]/0EQcLlD9ZR=]EVWfsD:Wr,-AUUem,sc9NG,;j\m'YH'6G%r;]m\p.-!_3[%B2'GZ0NEZX'52gVR8@09OA/([G>BNe#q?'jf33!KP":fYH6DdV6ANhQg,?e#gqYLlP05l02f-?W24$,Rr*;> -%\MZ5`b@t(N8%6B@?_.(Zl8B[:E;$??mac1HZG'tbij5f(O'&YgClfHKPEr6[Xk8E\Z*38,09[(6g@IZ(?=h8f#o-#2l,Z5'lGm\t].nHc+eMQ3Mq(=]Ibl4t,;ZRK-L.U8uo'iDNWb%0q-g3$3!$]::N?FQYV62er*^LjKQ+lCJKJlUd" -%:&bqS$u4E=O2[riBo._5X9@70m\l5&%#S1dc(LRQMAc/oM!c\AWEdIf*.4T1#75=BPZMf+6\n(hm`*r+cIKNHf6OmK -%C,7mFaL_\[9n'3&K4`H[In-)8#&[+[8bh\#S^1X3dZ%eTE`I^R("5-O/#/s=+[5WA5'9;cpe7j\Kib[_U0:"og%_m2$4`rYd1/[[ -%LP73J0U9)5Zmf4K?f%'R.3\b./;_Qqb#gSm6";WG&5ot=r8 -%5S9,fB@jjuNfPaPpep/:OlcMN+uN\)Y79TgMq%OKGG"YOZ+YVWcX7la>jdU67+'G!W4J`\qs%Xefj@f2At>2*eQU^V)QW'pW!uD[ -%\'5Q@V#FsT$Y:,AL4\c,Y%0MUn*!MILN7t\\n&C;eZjKp;&RYj/1,Kn_o3&[PA]M1?d[D/+dLO4Hkc9rG,OpW;BdA] -%31e[n>h4TQr$p_(/Y169@39^UMOn]s`JDk_.K%(4S`0=?CDtL_m[dGaoc5FB6oQu6gdGd4gsqMB(HS\!W#dHpf=/dFg#SPRloRtr -%`ebWFDS3Guh8X;sdi+8^IbVAJkGjN2G!=WjBBP_S>E1gD\`:I?2r(Y/^o^9gEk\fkk -%O!Vhhk1;?KZ<@_--;AdR&,E;1oKB'?oYq"4SO=^@c-f:"0Bu^'4KV:%,0Y"<8e_-Wg66D$@3ibFI"#Ap:3iti;>;@ApZ,%ab#'Z% -%X\idi$3s!g1-g-XMXiU+j%FfLAY1qkEOi%tXf/,ZAc8--gK4'`/6pdGiR[IeKQ[Oe5FsqHZU$#^J62aHmB]$ip_LqCqb&Du,H111 -%P`XfTO`!oCdags.V5ta3/?cm7mh_hVH"]-O.NZ4f?oR>^M`O'\m3D),/plqjF1Fjk,AYUQ4L3lBOWFDn5Q;>/N.9pN\TRFl[f'e0 -%JL5ST[iK"%J*>#J$$0q;?8+GhX#-57R!g[8fh=s;Yd5Q#J:!aIFQY=4o5D1ohf0S8kU[\:XNI[U"5rt^jAOs%bp^9P#d.b_Cq8$7 -%0AQKKk7(*<^B_i*m:U>=\dmB;K9:n]%>AX1\Dbeoo3apb!/Em#'Z=E6%U'J5%*3G2mMgU>5fM\2Ns)BI]t5orN1s*8.s/G@#pPCd -%2\!+?7%1OB(=#*_"4g=<=,d\mVOC@q.BZ]PWZ8$\TZH>Z)r+BjkR*.*q.!r3T6s(mUf&LQ9$(3N',kW'?8WnGFX>2tV:rVad;f1,s1e5L -%Nh>jN@htec8RoYq'A:a-"Bqlls#4foSHg-[qfft^./K[J2kaa)g[BkMD^b5-OldnF>Z'40&g?PQ,L5`^[!B]\pP=Ce=EBH4W")Di -%\,[_d:D`fs8Pui@`l+5p)Tblm^c'?!="'6DB;Ro3e[L$k:En@h_%',n:`HDdb]g[+q`0iZ4i,/c1>k&h' -%A2!@#h%t:tlRC^jcImH?F&1tkNIqiH8M2K?oZ:1S8Om)JEmkU/\V3Cg!KdkKI.EQjVUS6l6'2\o,2WK]jDNQ<<1eiB$GMt4JYMn3 -%htMYq]1LP3XKob!]'4>F"F_0r4MZNM$t*JBnbn!rLZ`;-j7Efg/2OnjJO_-XjE(%Olk=%'';$]A[+VMOG9sHR/=)^+1V&U2pA(3e -%WhrHT5o+HX -%@/KU>Jpebm#8:?n^0_'YN)99["Vi:,;Qg<@>R`:[^`#69D'*I(rRPip@4Bn[r.W_O=nnl-GqO,A -%)!kP#*d]]5,ic -%+]*M2B9Ti)^1srQO4McS@4Nl$#YV0%LA=d'Di`',Z'/Z3hYT/EPEZo/cukT'Fd1XXUTiN24[h1B#`t7$%^i(+78^g#cr/I)Q%tcGf3X`/K<1?Hoa"9,eD^Om'HT[q@WFWn-$4 -%MYGWQ-Y_r6qRX6N=*Gp]c+F=J(b*-UID&J&K@G+@`_I>EC$aZ8W&f9L,BcT:W3&Ef*?Brg$W3_VXV7sU>`%:)fDup$ckrDnd:-`' -%MQm=nN:+VFa=Z!d(aJ+Y_%ro/1^Qh.C6Ql1`3tG@?,@llLr;cg]S&m>jI_?iU"P7se-Y["n'%*`pjekT3X5%43)@@?Z2QbhJuL;-WCUii"*5L,`q&k5O4PL=bf.(L#cm,;bt<+Al@FE2sdm -%28cP6W&B[T[6r=P74N'k@b26^SesUYBH"7sqa"l-o>Tc&YehpE_u%dFV0_C\>2Q-^Qamp30b't7=bTQfTs.a>qP]Kq:k_8[L2bk2 -%j$gN7Q"rUYiK;/ubLMTC2P>h`$VF<,I\=n,?+@9sZb[G+T+mmprW$M!ouRQr`qKn4qND.?Y<.DclF&g]k1q3B+;qtW949\"M;mol^J$5+h.*ndR5M19#!S@t1WT"Zl9"=gZfXJ.%iR$L\"$?] -%p:k2?bU1L\=ooq=afl#u,'\%[5XX]VbrU*mM,jkGI\Ekt>9a#6Rpi,K:l<=k'CCSLN6#i1rNk`C8(nVpc)0-Tr$.NBR,VOH%F,9Q -%[a`/B$VRc(lcn=D.74lCE`U-V#THjI_*ldeFQq.90pk=I"K;U!2"duIfK -%a=pDCDQ(&P2#,-r5LQFuGHY@seToPe(CIrJ#bmM^kJ0;:;o_#kT^-7sWh.!U&('*Vs%07N&]aIcr@NCZ3+ds0Z -%F=]n34q-Q)Z95]bO&KLsBo+GV"0I4H/-]q<"gU`4'Wt*eu]2oXqgoP@L#+js#E6bV.Q\"^FQf -%-DF4O,do.EIZ.5H?S#'pX`0/hW8gBC0_3[sn)&G$'2O.mJYC&Z:'!k>`B&pkISf)=$s?[2\E'$L>7pWXQu&>uhX6'Ck-!0TS\GLP -%ce*49KqIR,a-p>%;!^ULR@$STlW.&'R`o_L\OImKh)Dn`H4bSgpg$S>IIAK7Rb;R8?")dG3")o&MYT^Tr -%!F-)H28k`8P1G.f/Z,Om+1*Vp)c90+,7be6!bC=$.lAP\uee#'Td/Ea^3H(9-g+=+"h0FH)@\OW)"(ci5"CIYaa-qudKX\t;+><\Z2$Bm@uW -%9Y1suEhZk@XWgud;b/M7%Kc(?:-De*i1S3IT't\fNMh_?AK.PUO&Sctk2uDZV2*70WMIO,me-SM0MhR"fDDB7;iQ:,)F$"&imC!ZXmn.MpXZXUCb.)K$Xt;J[B+2M -%$$o@`Q;:>Z5>?$10(i[s/-8^KEcUJ;:[WVF8a`[2&%C[b^Gjbi1<2DB8-<\`.hLa_=*0f[bQ=jL`cM[>!H'%-I.-Gn_b?Nag$7>9"-iI3s$#CM@RsNG2m1c10=A05=_8P'T?+6Ts@XHLfV3"ndrZC?'bhTBh>1WN32"CMp%?31A."]g&slP8mm\Fu[?obO*9AQ.ne4OhM5,I/)L%U)hL"8;Vgh9fr?=n!&Po^J28H3P:mbd+OgRkTQk9:?jc:p0q_(lToA57EaPg_DhR;t5&*.nF#rdZ7 -%5G\+PKH\%V[I;g4Mq!l!3Q1//`HBkhZiBI6`Y68qn,s>JJi)BlG4=]*OkuDQ_kla$)__'P;i91K$&ZHFYNP&bbN(t;%F!7n/0.'h -%#Hhhkq_D7ra.qIV!S)AZl.O+am6e>&jEV&c2mDgQOk6'jnCF5+bPUB9Mcu -%5cnZ[2ZqBL]Jr`DTZYA3KJ7[NK7Z8gb.0Kro4Up7dCAp4+RSZ''*rjNl$K&,D,#(d1pH2PmS1=[S=FZ1qc$td#GHkXO`01f5=-1j -%T-@(8+Gp[li?KJ/gLp.DNCuH6D8Y7OMimkrM@&P4r(m4cmobF?S_L+]LT6p%H#&h&md(A.IK$Eu#-]?De!rQbYpGBI#u6DL@+I8l -%+WD7=?kX9k7&=k"K")6RC/5U"X\mO@N9CNL(a(m_5ZH,Y?PSQDL2Z!dOj"`O*":bDpmoI'5Hg5oP>Ydk22CGYsFn+WWE.I!O=d&c;pPcsB\n6p"lreo1 -%-KanDhK-baeWc[112b7X2CD=Zg@UBL'qDkIEk$9+di!nM43njV/EdjZA`qcHB1*OjGlI%b4DC:aBRF"QB[OHJ1N0a=c_E4=XNr*j -%)#NL:(;NT]Kl'*BUleRO3ZWkF-d7dT][\RZT6OPc8s4/1p0L@*pNA*Mu1>B+Y3on&k8NTFV1="HB3)bSeI()4(#ID=/S(pSJ -%O$=TTiGb,)GdQm*O"Bn=^[#MCCMcVnh>qC$ikN`r\E/7-4O=eg.leE7e.O^Uq[l.ZK&6f(oDn>a2R'no#7Fo#[F_o?o6L#QO"Dfo -%KBu(;gcgg.KZlKiE_MeVi.npg][#'V"^g`Fjl6=c]XrF;C[\hD]Ps.lB?CJ]D_NMiQlamEo#2(?JNt%''Za^/6Y;JcF9cP -%>*opYl;DdRZ98@`1rml::V2g_`k5Mu"(/f:3Fq<)i"UF,]?ZsM-XFYB&lXsL0]2e6r>CtJ$qkD2p"9r/_7o\^T]+K%tS9b>qIe6ODOlgWe?.d[nY4d:uo9$(/X9P_k[;EhMX -%KVL2(5/'LY,FU"X-!2_To-+-T%"UOr0ci-$AbnO#$p*f%j)0U%una.mnVmk>`A3=X#>NYq]7@J)kLkGK4?HUg;]@Zohu.QFiE -%n?gn@j?H1b31C\(?_knijr(NVV7i:0cGJ#(3Nkq%:E_P*8U5rYkE=]T?m)qEZb;n?gWjP)%)?O:j]`MsT"Y+[S=dJX`P.oBH?&BG -%E8pfpjOa-u6N,gKYRdi6pD/!Um_n/AW[nUkb1`cRjN"]GA^5A -%>@,[O):i^h]2USk=#74mT-8J0:MLcjHr8;o-!i5eQ/YsRT3?IDobT2%?_[]Y]'EdH4uE#O,tt(b1of^R*-2HRaGcU9Jj%HX@kn@. -%EsXTpRYTlJ04Quf(7DT=%D$kCjW..:H)OsMgO,ri%&i\"bF_.]HQ1qY]cd9KeG*@86u'C6c,2cDM[?]25YhW,?U<;iF4d)H&7(,3 -%=&iI'7ii+eC[St&-]-(8"RLD`hLF8/fhP>i1D?u',hi+`%>*pHA:kuabbQFF4]^H]rp9mRc`6NH@PL*?MKf?h$e=?*ak:7-*f%J1 -%9s.(p5B"/=gY$];d[`nI,#.'D.P2J38fruR;4K'K7LEZk98FMKR1iYc&QMG^,-GWd7+_\YZjk3Ob)1D-'lQfE<,8.!M7:\_W"L:c -%6^%d!#t"WD]E]nSQ3mu[2>=6OgIk*;mVCUXFr"D$!6,dh*A5j[1anJjV6V>4ZH;HphcE`hX/i=+7CH'ZY4N2Rc=cjs`Qt0T`qLtt -%&"PdqL"^k.FEd3I?:HfneK\._W`o[.%`)leeo?I2D23nSm"o.16t5!m,#P?#kn+OUM`\H?]TCBHq*(/,ATl.d)c@2e=PY"J17p.1 -%\%:TcK!82tofS9IoWp"Hbm!@XWpp+Tj+1Zs$F9qQbGCB.i@-)(TdUOnTDN&EacGD]b]]c4niO1DX0'%_Z$5arafs,hjh%;!?'T0hgNO"VW/>^$X^t#dC0WKC -%`R9f=O;ca,\a)aa&t9DAlc!NbY;b?-o30Z+V%D&.i/-_nYg_-tSZ8jUi/VI.T!'9sQM"AlsI=k>,rGs!&q5V=bmnpGnYr8)R -%lXNiYcL[E.f2#6acVPWX:doE+l\U65,/!l7p:L>^8n<:l-Z,PTj1H$Ag@)/rOIN&S4fu"U9g9\4CAR$e]9M7o:GY2kIdfI0#LAF. -%BA=$\gg-MCYmr/2D9pOqrVR(LP6]F\3,QNoRZ0u%d="hsRcCF6.FpO=B^-in.Pb7\Vo)k'OSkmBZpW06k^U6,5`_'#H(fMreEIu;JjPqqt7Ka*Wir\1nR^m(QIDNmsfTPmeM>n*+(mXp)piQ0o^PYRm4%+#dcW53HQm`tOS*GE-6qEYPl/@.o".llAocZQHiB8.OR[G?4&*utWGs*9oErJJ(Y=gd -%>Y3N9O`TOP#74+3l6meXT'g70rT6N$rJW]H1Im=KM>A7kp];mG+`:WDrMSL*rC2SZ;[&giZg -%[+3LMKah8='&B+*W]TH`2/+c#SL;$25:YLF2VFWi:5R3d=g:mD]53j<`_Q'"qbN0B,+]PeMIJPK+DA$gmWU+$QKsBMI[Up7c&&(T -%`(tI6]lRYP>jKcTW%R[TII+(#MXa:ehu)l2f=uV.iq9o"YCHS1?];#]ps##+rq8F&Qh7oI4FQtlq:jMq`S\E-j7hFqL&Pt>*S0mq -%/STrlh[`UaRh]cjlZ -%qWkDDX2JiYYOUp3Dr88j^NfJ?`LGIThu<089/V7tjmgTbQdQ\bZ@;W3mb8QHhRrgLq"36(9CI<#],*,mJ+MFXceeWun=O[?s+=\8 -%mf2d/eoK>2s&s&+'X<'Ao4H7+1S"o[MD;or%`b^=PfJ'O;d']]s&A=EkP&=(g':"4/7UGLV1Lb^)hqJgdl;XO;I/3 -%+<=;?qARg+kF3U;mdQ20eU/Sl],l"*.2hm1F>M*l43[#MW!l*#jX/(&4O!%ZQ=4V(XZ)I5N'ibH(KS<7o4#CAi,PjI9h'5C>],3N -%"M8T?Da]MGb6m6hj`s:d1X5$CU:qBK.G+6SUa73%gO2BtTe6Qfq&3d-PiW+4.fApSK%%FZ).-N^6AVVLk*>08MToQ^2`RGo&>al. -%YdM@gDN^qh#JVJES([6;2^7;uJ+Zo!ZHd1T3@&o$j^uM1%p?nQ`klUD2ettGJ4G:(nsuROWN=B)of+<:MQ1*s_=*O&Z/^9FDM3k? -%a&B[>EXde,H;Z_u&EGu.21j$fd1Ye8l$@kW%q2`?bee="]XA53\l_/BL]GH1YAN21(5-e1[$S[fC:IO0WOYQ(e#_Rfk8S^"2Jsu! -%a9S,.7CkEKgZ8>`$H]!c14E@I3_+IS<*\L(1;n@.9YV_+G?>1rdOVq-Gkd6pAEsk[/D$,=<)dDFKr**K=Z$AjjY4g2:"#t?-:",5 -%^h(#d)/qX[oTX4/7S_h,VG,G21)jkJ7>c>[['%R==f,8`M9#G*7%JjST8^.U8!0M-MtB>&+3N'nor">>iF:@-[XZ_*Ib)oM8.h5. -%$Q%*h%998CiY+=ps`D'mBJakkl-P-lPBi_YOFg;A&]n[,;YD*o;=H4T=B-DIT^HE=0uaJDgi&W&K.8g -%#q(gKp1d6kFdaVEV6YfY+NT9gN'eG&7YlI;fDs'q$aNn2A[=S2=4@NL4M.doj,N9<14W\.\='T>pZEF1mVB#fQaIY(MK\CQ:&b`R -%LYmUU&UVX'^6bt^]B;uI4ob3p\\kk;lPKQF;q\WUDnc,/2fJ\PS'YNUIIk@#qd!htr9WU%^]3a5Cd9a[6o&5/b-bc1TOdW95/W@M -%Gh#.4XD^4Z*m\^CcWkCS29UH+[5?WkmSr7\J.#F*9rbK8$aV?`33dS:?@ddJ+u3ng"lVNT<1-$uT.Eu1;B2"(eN73I/+gPF%F]&N -%7dTTLV2%m+,5e^aFeIs#ZgI_i6CH/GiDfL+S?c01&+n.:'e[H#n#`a#MX05qD_B[.R*dM&B53\1'uoi[9,.I3Cb5qE'F?KQ[MH)# -%aY^GeedgB-6jWO&d$72r0X&D$p8m-2U]q^hMJ'>C-=+RhY\@4hrJg`Tpfs"KhR7(nScb_/`a?[&qXD;W6Qr',SFls@fFGQ$;AFZ@'732RtY-0%L#\TRRh!Pj@/?LtS7L@g"+'5I5 -%*O>@h)$8@&;_Ieg//i?Io'AK\41s9Fd;81.dbHr4:+XVa.*OBD55,Er6Y3:X^@u<))<(EH2j@aS1HFMFTFiA?6]esFb4Tf&[Q%<%$sP(,-O\DW"JBAG$h!s2c02Y -%]crTRZV6,Q4TE+Y'iYjRKf\'pa)5GOL^Pu5[t91qp`?5l@Btfa>f%O)MIR;0[*T,9>i"i::,hY-*)@2K!>V+o+!lc -%G]^sl(KpS]@\LoL.$H3L:uUdod0\MQclaGl[B!guOiOBL2?tI_.Pu#H7MQ6.'O_FOE[k5lD"ic[o798:R!q_UDk&DLo@f7L0 -%/_m2.9$!P9AP19tX-5ulL@p84e;?Nnl\2D%JEg2J;EI.f,&>9eej_!5&_.@SQIl>AjW'q-'VGr_ -%KV2hO\&q<:SCOpI([hQeg/^cOtB*l[r&fe)7h7l1028=3?P6gaToAO#%"fI\PLcqdlQj'S-BhV0EFlPi:I.PA)TBuo.$pq -%HTFIu_5QZ6g6.UpU3t"6.*)^!KPYANBGE%Ub/m4L5-\dDY:L1$bZRIftO;r1IV8nDScgSE\tl["'m]B9I#J0/[G9WMG/a^D^^NYEAfXK`aZ"E0N9AL"9?4G1!6b+,bcWg!DS]J=EB^9'aeaMM@-M8Dpipsk[f5_=r+QaFBfWqq/UPp9^@2M/7ajRDE#Q)Z(q'fj+%pT.(Q -%V'_T`OI*YTBW^jg)8VVeHS*"6]m-SkhnBVWH_4m9JgNMbI:M%6qh$BMCg57?Eg"PsCg1<`!D_.SX_eI*X_a9'gU:&d&J!3)>EF!* -%BqDfB/_%3qi+obQ0N10=fsUs!-Gi,.[Oq&K0Z@YY$;n5[=Z(*O![5RSBe.,)`BZ4rJcCTq&DXW]egQF"f!Ilk.e9L,[]ll)f?J3e -%ngapn(7=ALfDanUMA3JHlD1kj&7ml'>K[dq9,0)9/6a_i1tre3>toItg:"edEtVgI[OkWbCP3SO9NtV5ZH$c5>I#CCK`3dFQEUO\ -%aKaF+jC=WmR2kQs?k`pFhj@P>l:@nUc)N)&>m>,u)RVt>?RG#iB%'p4BJ48OP5QV_fWd/EOYs:7E.\oe&5m2JB?AV@i2,)[Z[t<, -%bH0C'K$7M46#9/aE+;Z%NBJdW3F99W$TkHr[Bl@/6B+%&2s)Z-BbZPr3D5qp41MqGZY*Pp[*)1(JOj5+g9[='/5_cQ22`SoVQ(2q -%kV7#B=kM:LjMH(;JGg0?^K*uPD!XfcC1\ltV\uN4BcDDb^JhnK[A?m1DqpYLM\nmb>K*^j1Y^p>.@Ocj2d_1hurWa5i,lE/@9UB)4Jr1bT%MBZZrHX9[];8S,OgW_6j#XAR\Mh5kMT`S?>W)0@Wo -%UHc.`m+1lVIUR.tX6cR_5GFt7%LEEcV6':6%g_9PSDG9;\1g?:^mc\_Ec01A?$bW?PV!r]ZEa9.KA7'g4(tYs)j.'-bn\dAJWpl_ -%Ttc:t\d+G1UUL.fb--)NmN@0YDO+qILG2P@BjK4NKN-p(gUN"M!j$3FEGuN8k`dDYF<@4CI+kU_,Ri=PA^K4, -%8Adn,mThY6+^2'5T]RYU'k!#gnBFsh?CYWjNQkNqX_C3cS$OeD#r:f"]nO=47;cl;Qb*VMrAc`WIj&`!S)%KY,B'2Ec!cD8lOlkb -%(rBTO`Q*C]Z5&7mf.9P^1lN%#VX1;M22kq4Jc7j+oOb4]\ci_#0XB3BP!k=^KQLJuU6Ftq(8]S,_.CP8fGZ!V,?e52?-m#bLr -%,)/0Hi9k_Rdg:#=U_1'7`.",h][sN/jhDTL/>Sr9du[t.D"AVc.!8%-0.JAnisE^lB_p0!d$SMQ-Uh,_.B^srGH`4>M,K:OrYa9. -%@3ms)j^DnLC_Y@>OualcL%#mV3rmUK/%DJH[?/4urDldalrMfPpf+eH9!B/KA;e.eU8aIdTkei2N"IsZF&%ZL'r\u<@F'EY"kAhDUceV&DcojZiK,l+9MqG@W -%@E/X474d8Mm2Kn`/3@;+a6qP:(Nlp^;s^2^?T'iR=q&&!#hu`S[>-ZWet"s/k7-plp+?754PJ_,_D^[S%s;pA6esTPoMEaFg2o6! -%.+l]gRZQj/:tGd>h)%8/V@FLt2gVFW'Up0/L;B`q_FVD*\8:h7BU@2@Xhn$rb62`uB`#Hi66"=;:fu*QglnmGdUAQpZI;-K9Nu,A -%SmU^[fSsJE+F@Zpg$"%jfbDJ5=]6sM;`@lnJ%^<)\'-AW\+O20ph-#[ -%kA2gl=N079I^LCRVGPNYo5YUH9sEJ$#X2"'HTgc!_hF0Si)o?23Q7TTXMr8]R4Z',fsZR]Q/S^%imrSM[eb^7"KuY!efW@F*jLC_ -%C6i.XWe7;RU6M_e!EN'oNgOKs?g*O^!Hf^/?P[r9J5KGi_'7?^DD[aZ@o2m!!fQ]Yk[BTmN&=(A2/S&-j+qZK@M;g)&)F.87+qVF$03-lYjQ5@:,('88tp -%Q\ncYkoWY$aDo%]QN5;=PI`1;C]q2G9##)Vg8^$i/Ltr)APu7X'Qg>,<94+f11i'ZHKo1?LJ:Qtf0giR9!2Z:3[n[T=k++T(&L8< -%;H;9GA@PS\@o905DOQ\Xj401F$l,-qZpIF;/.l@u79C-+7^;cP'SA5I.,/F6H*#4=p/JZSaiTX]]s=TKlgWC`m'jmuq1[Z.YAE+I -%+&A,[\Y1%@AIp/Y]M>>Mcb[t[D-^Vp8B<_gCebjAYZbH2Kb\7OO9?:LVfj<7;E?X'2=(AbACcGq%HL)k0bOs@ -%9\k0VZ8VL=WmBT[6\73>@m-!Q@U^ZIA%$^;canWTLs,[Jaj$iLS#.&. -%[?j@h)'T2geMR;]VNQP_dJs;Z=sq8NI:ko:;F@9Ld&2/rl$>A[06n$S.+!?T'('nHG%B9UlE$;;105L():hUM+$'Uc@`q,bHi\0Q -%(G=te*\)5')QeabS8XLnpFoPNP8(kBqGWA_\,,FdL#)s9Cu:@sfIQ8qZmV&eIjAh2>JE>.Q#>7L_^SLoQ8na8_%*0"pXYa92 -%CH1HNAPTM.qQ34nbfJq3_=7oNCO^)ofWFQ6qM!c/YAE+ITc[g$er9!!'MH;"?Z!p;`tu<"VIlI:TQ8Yc7!CW,)8S^C6bdM.ikRD# -%jcoI8]@G#bR-=3ZPlW;=K`4[BC^d,Q>.^dnW`=/gbh`LW!EWaeJ:p_CF$,Os8C.]G%!,G(+NoC7:7-mD"tAR5+e>JfFNUp:a:Q!<>R6Q!gmVQ9 -%;qaTEUbK)W8:"ja=og8C%lJt70^RWLgKYG -%3>t)=m#]g;qJZET"^/79g#;Ga1A/[G4?Tc?fc<\>LSrg:/oq99;_eEk`Y%`K\S9kEimBg(ZlB\hPFOdNha:JR/AmJ-&#sbV<'4-S -%UmdB2d(-UfG3_tIV`aSMa2Tft4^6IlkEl)rR"K><8uMfTG-lKPa!L8->/;=i@L+"b^BCLpj7e0pi>jRT_gJ -%BKIq"aNIi2E+,1D_!4o[V*3:qQBG\4"3dlKL?US!j&6o9`'Sl4^W^'BX1E!-O(e]9$oXCeZ0.UD!D7Di>IL1*XIl$HT'7h8Gc<;jhR#Jao_SF5nLnG]I\d_Z&>&em\pV8/2O[lRXp -%+_4^CnH/bI&UE=)"&:Sual3R%Ke4hu/dA!4P\/ckWQWBAL>_;34qQt=!q)b9%fh8^qYR_j!I.2c6J''Zi;?,=aZY"O]#gVi[."(r -%#D`fYn,Y!n.Ae.OJEja)irK8_;p`&'iWh.KA@rsKJGf\?OIBus&HpJP9-#2^YbU_?/uS079tEXV0q87V.Bdo*;=.g6U'TEDFU01) -%"J7BdrV+Jd1gm9(.J?](KtLf:mk7j:N`tXSlb&KfXH"eLPE(S<*ElmVK]=b2ZeFH>[PEW=kf&()m%pGcEmlWmh`D"%UG?J:fF?Y!j3(5Zj#lsAK8fEK"%U@Vlp5j6\*/Gr19Q@cMS2EY1O!,.0I%hmRqj#id'?Y8g46Ua`f;/-3di,$(Z6bN(^NkdW(0u(kU@Sm.X -%PLh>kKJ@7<%:#\u0bZq/#Ps.k_9s=Cb+)p:mFDRib;oa3+"B&a@=Weh('/]Z@WDY;]E]Ig0UsifUC/;gUD=`[U,=0od'm9>h#edE7tg:N[V?P;O_Vf/5@EBR$BeS/^+m[EF;*Bgqo2NrAc69#.%KWCFte=,RiB[3Gc_QSd?"Es0Pq -%00gdZpSSGW.&R#=MCA#\C'+Tc?(GF8Fg&3878F;UO'5gCoU=!3cSWeNVEt>1__Y7W=-f^6W-W?G':FDr6V`-FkQmc@PCMVq.mh):DruTVDcW("Ag( -%Wr/PnnJ]B7>Y-B((SVSo4BCSYH`Ak^,;4q"+"F<uTu%CE1eV -%YN(;BZ&_;Zh"oTeeElWT1QG -%@JW&b[leQfkVl -%lA4kd@DB$mVP -%-19^GTJY^f'EgpCf=](<09!;1%bDIsNl4Bsen/*Y\:\P64VKC(,*CRj`&m`4P9"d^0\Wh8='4LRRZJV1^g/1:CCe]c,AHG!ltH^D -%SiR&pnE>`Mc61aO>0S+=%5khOYG8d&6W>9T<[g,gount@SVZA)d?(e)?-cQp#'4WX%2,siX^eJaI:-71dFXHT\E(1&XfK-/K3;\f -%9e#F*ekp+Y4X@%GPtR*F2qe)p%OY"#CG&`R_9DS:1oJ]pXcpM]N:@2EtIP<-P?.TUA"O5cBF##/@kP -%;e)uUFeC@C(C6_ddg77r\Pit7gab.)Zp/Fr;>6D4C4C*$kG!+4rNP2@S9G8(:2QA2g<'Y"1kHL/4a:/Keg7CBG$=Up103Fg/TSF" -%)qMQ"jD\dZg_Mban'm0lV6-2E[e45[7U-JVj]_V!mhUPY&,A_nRSSA/f'ChJ:,Q!,3])e?kfami!=>l+!MUg;Njd-h;Phsu.WWC^;smW&1\Zb8o%]ir6DOEn[EJKe>=JG_oqoX>PaN)+ -%KLIu1+dlo\XGIgO%."D'f0\Zt#`9C02ofL&_D=:8!FG/H%6h=$%EIfM):I1[2o;9eV:nApQ<)2CE=_m5i4P,p"gEPNG&kJ[,+:I7 -%/NOh18D1+bf%^`g$1E.A@]*8&l!=VQV%Yc&7Ai%oUK>r!OT)m%;R4&=,PQD#ffW;rp2RCQhd6mo>U=8-Q%+4B?s<_.V'ME'h>,p&-AR+i([7;&Jj`4.`'Ln1Ek*f`_*SqA@5M"Yu4d5cM#+QJrkE/4VJ`HjLG9=XY]oj$!Ei8 -%A6ONG.3$)),RXa\faTN(GQI:KW2grr5Qm8^N!BUhlr=i"nZ@<3g7B -%_-ljM(9WX\%:IGCTUqES!&u2+qNXWSP7j62%LU&=+Ms7'Q_8Q"Gu[K!YiK2[ZmH]ML0J^Fl\d^OGX,+d&f5-fP1&FBW.$@9"Hg#1 -%5^sbtPr6@DVAc7o.%9L\.Om3CPV2VO#_>l&E]t5_6H\W2PXJj#$i;]+=".a2W1j!l[cqZ95-p0:34-G8LD?_gTULoKu=sCC]k($`[MdSpMSCeEAp.\H7@NZWp#iD9;8t;? -%_Ca,PKA?SU%h*kDI%]UXSD\gI8%4qe[DG$Wf:Moc=gY#j=mQmVQ6mk'=lEXeX;(b[#hbi.#F[sT6q.jB@L,f"1nk-jhAXoXa':!F -%j>@H0WQ`s%3*t+g0guBndqH/5.<@Q+ECX-`KXK -%"iF;M<)-:n!/:U<0+O)1V-?56@0e?W9-.'.kEF4"*6>(6TKNkKUoB$.-<;LU'#s9=kE^T@(iI]I[:V'pW8*(Gki9-AG:p?3Y1sb9u>:mIb)M(p3#(G"%Etl>d@$@fVFh7SpFS@ -%QW8/=CL,cqq+qnpK1[X.tkS.5.u3lVL_>3(=Zm//R;H@"L!N]+EC53l-a`+rD7`:HIRB)AOR:KG?gEMo2'u18JNc$;#s[S[hPhX]J@`cjJ/TAo!lX -%XNhNW,[P/ERZVP$N[JWYOS:629pa;Wd`]''f-1WlP8`YQ126j1.%6*+,>;FrVC3hm',4iXp#@Z:NL,QVCJk.g.j2>&=n4H.R6+#O -%2X8qK%LqD42@?$N!^PqiRmb@*"NISKE,:S-JEf]>&iRt6B(q-pBH^lsaoZ"GJuF?89clo.F+,!e"(9F"%";G=V',,Y8_P9?VT)Vh -%OJu5]4@.F)>K'oZnbE<>7DMe@1g_el&2LAUJ21+o+8P*8Ge.%[-na.c/16+L75*-b;4]P<1/aV[:Eo]r4&W7q*[jG?L9.s'Kh]-i -%ip[gU(PLS?>6ngs"Oa72.@ebCK*arueaTf2k9-5!CN#VS6A8Df7l..f_^YrAV'/cG89!>E.J"-eL/YULgr>:-4Mu.C;q9Y/A;b0Q -%XjYp(eXMG!:TI,XFB)eqH=Jp3SV:2#FVuI)=S4?K#FFknJ0-fPoD4?mX>sZ]r\=fO[m+DF"Zb4cUb8D_UN/j7;!E7rfZ)F -%]L:hs)$2ZE]?ufUX.!'b:"0^;\P+#9nXgJ*/Z>K+DR3d2B3@?k"Le1S%@j1gOUQo!`JjSn3,.M_AI1XsGK'`bk19]XTlHlCKImHI -%M]fhHLE.-$2hc_<"E5a^-JEZ/!*WTHi#74[+Q>#;[a4_QYYHjOJ'>7]FGAPS(-VDPrIi/"->.:PL$&XYl.&o&/OaH_A9JiG0cE?M -%-;/\S1oOc9cqj"9A4b\s1eY[60FEt*;+R(U$k_(u3!=F'3SVj#PYdJiF!MQ25[E;4"Z7G.)oC4;`Xo3gPeb(["G8;TddL\k]Qpq/ -%"p*oTY]GCC_.+lA#h?cf5t/0)1sMF(5O'KS)0G(34hh5,)Hr[)V21Us?-YDeC!t-?+JWRac"``2H)UUhB:#moBcqG5,!?!.$OF.O -%YRDiHG'Qn=i5!c9.GJEb"HbT!@2hOWn[WsQ,!u@_*2YI_;@G5m]hPTBCo[,Fa[B_":L/?DD-@4cOE3Lu`,+p\7D1h)G;_TQd6'g+*;'^&0%/!$F`OlLU[A/-c -%o\S#7UMCj7jeNe:!ps' -%;k!@nhHUU?[SE.)')/Lb]AtGj3IugKBA*jGd5bB"Q2c'\CC15"4eU3brUnA;oEqUGOIKb19^HoL6*ogX%Z7Otsa&b<1GOE]tWpYZRc'c0r.Z#6dE>`)="en"ZVMM(gK_/E?=< -%gQSm&19&_(+j6SVPiH0KONksX$$fDrr,k`"08RG3#U7bghcr%5!r8FnJk]3EJiRjO1b@,)2hGg7[#Xk'M+3Gfh/]3U".XE`l@V?KGYF'K.Op/bT4NL4=;9+\I>_Q7RW>2 -%%_=A/F;lWr_9rpS%"UXaT?.KATM0g!is`D$RCBX\n\.2^lE*q0V*]91>;1F/O"7!O`==e6S/1h=Jh77q?"-.:Lp0Ha92i5(>%G'H -%p&"nQb^c-@RXl/>=';\3Ha?O"rY:S@O,IOksCS:?a2dK1P*ARH>mCr7qX%g/$6\0bNhVu`4>,p);#U77[U=s:'(b+ -%@UQ7eb0=bkAV_j6ZRs7>YlGJACse?W.Xmk[)GmC'qlQ(q6-^tnP+j]Qr5:uh;E*=N]S#$^g<<&cltWr@/NS^H?9i2mj!J@^m6<Mo6"IcXDtaif&XTQWUVH,QG=a_UZI3*kaHWs\7&"M -%R5&[E>TTcQ.fUWk$fQ*\R'81M`!%rj/[d]bYTahd&rA>$!:e!mn[lV>!,A([7fYV#j&4McN#mU,PB?EI>oT\\17Dre'`F,T;$;*V -%0N'f8:$1HL^LX*Y3^^DaI%t3]gKI]FS!Ba.t_*j^S]I]gPRW)',eWaU"@iU[asppEmh=@$R,dJj55b -%9JFGIn&hjVJJ$7[_47/9I[g4f8at:=b&b*ZX<;S0/l-0PpDO -%q;^sejPl"(drMR*`hNb^;=7kqT/Gj:-6H6q[NdHl`"^O[)uWr7>U#PYV9^[(h$);c%*tSYG\+2B3*o\Z<=u>u^[0r`0o<[j^miN, -%"I1e=ou+YMQ'>25pg`9DhR[*G>f^doBg7:*q'07p%1"X.A/Kcju,JoUq:FZYP+Xo6bAaT\j1[cV:J`/3@UPDC3>+X'.MXr6%.[d84RBHN$p'VCu"F -%'P40T^f]ph)GYH=3unp6=A5qi:6:BY4:TjT%B!?MXTQ#^Jdp?$-6S-R0JPcNKRb]/sUuR -%;#j+YS)2p58&U-f!^[ErI1Q\4cR.T/9PAZF$:6/3T*H+n@+A2a+,BpXR<`rl[jr"f8c:OK?pP71bJ=+8b+[bb1]:iqcuYR"!3U`P -%IWA?DUkT<%.YuI[.$l;&nD*(>RX&UD$5Vp9Jh7a?-VO_A^R5[5C-W[NoAStG8@O*Z.?KKG[YFnY8F8UOI2#ZQDOqOK$==M0AY.Bk -%%*)$thR.V3,'Qi$j3q>E6oE6BVXT1!s[kYC^")/P3aR_fXE73/0&h^%7MFI=KYs,iU,QEu9^Z@[4bBp1%">7&JYP4\QW:_GgouCE-F#&1Dt5Vb<9fhO4bDbY#tTr2L1i0bmTgR%F)#c:`jA"pTg!/K;\gdOF^m-LEZbRS%^9\#s]Ko*.e_/EF4&P,N+[=Y$@YbW.CVaYru_[U2/*In.c+Suh#;oQ&b -%J;qs%2='kpAT?U"=-LBFAKZ5#;c/&=7$G3(]7QM'1(gk+T2lFO=9m8&&kif;UfS!SRE(1?oh0Y'q,?6bbcBmgU;q!5*+:Pkc*]EIR/'OK/L+t%e0-c7*`J"SuBRiZ6dAQ'O6UY$gC]jKV1maPbGdL7Qa?Csf -%Mlp^V(=@50R*Qo!Bi^0J:a6ag=X)WO4S]>`%9eFpCtcL##)`]"_:^fUPLE+"$a^bVMPe8+b6f(B/V)A9]!b.#&HJA5[Z&>04>@C; -%P8gTF>%7Fh(Iic_pJY&'C=\kD'l8LVF]+sU;AjFJ\\o@a+DV'Huc#l9AsMcqfuT'@^unlHM"4qb\o#I+[ra36tU\]=gk@t2+R]XJZ3]? -%0"nEBbQtdJ#hstlPBeAg9rLKL9GV,WoE+Ar1dKJMat/(L?A@8!CUKZE9W'pT?3*3ak9lZ_&$;t4_arD!UhQ9RZC(qj'(_!"V9YOH -%X6SZ>aq/e$3)ntO0>i4VqFlY5$td4B-dK%]%r]J^1pB<I#dd<8Z#e6$eq2+J1Q"Bp54!QFMbU5; -%&6tW^o70)m-jf;^>8@r!iC#"tTu'hYK.-(]2AJlW$lI![lV8D>6ablEc"^XH -%c?^R,*Ol06[GOKe!iXXIH;jenah2[;5YW@*e4&&LoRE;,Qln>^hVbVI12H%MRiOf2Kl?@Zl4S]+6Z#-jJhuHE$-E;n$*G?Mg'<". -%Us`+l@BK'Fj_"b\'FT@A6,d-A/#g8f.Eo]281c$da8:O:7BO(P2[b9&7HMa^/MQat6PoP&TZ0Np_8@>0A]P!RPC -%;bJcDfCQ=,jBQgm3]$QFfVShJ1Qd!Fjbn`&"ueMJZ7<_tkXBT43oUg+7?Q5Jl6f;#VX[I?!%[^db&k#O;<+XE?QlUfmP%42os/$r -%9KhJI[aLm8;.>KX?\2pdm^pRJ`W^.O*tLk'iVDCsQoH58'`rtkR3qu&jde]5[;%JG53f+j6r[l]/,^0pRN5p24^2@ -%\o@YDrPgQH8HZ'q.oGWt7H'?W'ZQ[J'.g>>mi2t7:7l-5T/6Y<6_C,BW%_73]6G">%9a/\#E`BqP,?_U11IY&:5\%%6r4cA"=gm[ -%Qoli?O]"f=[:V@5oZD-W"%2QH^7c+Y.`Zh6dg$ -%TDa@%nmhh"r:$%[^O,k;p$WDU4!&=44o=3gDr83SMMq56BC5I-#St?j^^(>>aK%e5N'@VI'=nrPS.d4Q-W67+(ioFR%W-q.5hB3P-,<5no(]j/gLW(p0aR-;r')#"D>>li0sTupGXLuI:"`&X"#eA%A:cLmjMdVq[CR5q*4),]V5_,rMSOc-Qn@#6'N4 -%XlE-3(RqpF$/aiUA3EelLEn!sV-'=O/pcOE6.L5j1f.RKKn;Er6X`$n'tsiLpZ:h*Q*UMA#ApkNg($:9;E\c:&YE;G/s_]T7q#W) -%M\][%52*g%IL.]U^Q$oXR(*/qR6&bgQ8R.>!([o.:ROZkHSPkLR>c&N<.oN#QZ4kH%S?G#-Vn%W,&C]?"K,tB"%Y3O"dnUX%4(-M -%ZuL9DA6kd$Q\cKp\H(Roq&XQ9'5%;/?(7/eTF-LVgo=H;LM@o<2=r"(SI4E<3lE6#F:UdZpf5so&Lo;OKfYMC^#0kA`&,!R'0-)H -%$c0?FGt(>1(="nqJrt@#nhGda]Q"2^J7`'@nq:\sA[[tmS4DP>%"jW>81gXH_5`)uS3&#&!&g&e60KGqRAPbi(:H]b7gOa^=BikclmWdPH]?%!%!_JWiI#*]cN;9/,Tike`'EYc&[7)]mg]9BQ$Bp_hA***/-SG`=6\%XNuC -%15L@sfQA6i7DI8r4h"Fg2WLd)#9^ch+g*YuTA#*Za;&q7$mZ](/*^EOJ=**.?1V>J!gSNC_I:c6+K'NtTVY9%N2_\V\b@NE8A2%/ -%1*X_05ctq`nB'<#A]5&>^3n;`Mk2nh8I05X!GV.6%,j9lV2t<"U)-:Q-rs?B8RXE=`UJsE?iXn#@90[6:K1**"m1C]'DH3 -%,W0t6JOp-1!T9QQb!A]0Y>uL:A(Q!(&nb6AcOC0f&$Xt5hFMT`R"mADOuZ4?OjB4<_d@[c"=W!-P;5I&"rlBm`rA;l@b#k'A0+F* -%U3]4,kF`!,jM'MdE'C@JC_o?^`!uk/BNa_j3k5j6_2Tf;G1gE9MEk"s4AqhOXEB?n1ifjW?HbZbBnDqjT[N=1=T@rp6n!':0?<(IF23'G@D&[2-?D -%g0KU`phQ-F@A5!G$]fZRr@bE%<=B4>",`;f3JLLR$E8kW>6ePajY8^Zf7tS=.]leS"K`SO/Xa(>T>lDuQ#Got&UF"[ic:*GTEB(S -%!nofq,b&Et9FU2r69%$FU3bic#j@I/`0B7q$%Bo_P9_b)7'"(5[7"Ph>+"q?Ci__$)[a0R4O^qK/Yir?5rg^k8k_>aQt!O0gd51 -%4AArf[=7!7Ka?sQF)]Sf*_K(^;([QYV%W1X2NI+O;LLt+@3S[$$!+?K@gc-NB"+9jo4,-YQI+2jD$-k::$e&a-lY\2?3Q"HVn\\h -%*oI>fo2WW_,XCs]RhuI)%LN^n6A1Vq5fU_ni9-#h1rf>0RG_R7"+$faE,G-OQH59%\"35G4=uOsTA%pPIYZlu6)-pVKLod/V%XpD -%jV.sUR8/53;F+lm'sRdrc5h3l'td@VXf"ab)^279`tUDrdY$RYZN;eG3Wl9)%!*_nD)`9Rf&\X18bFZp+,/3V2LKB!]II`ZLGghm -%(r;#b\=R5Na(43i'QKRr]ISqZ9.aZr2JI"!aj`CY!B;P?TM%M5d'?iQ$cS(e3Mj;RoDKVX7#nO]%/+KMQ'T4--gMcqt(2V:HO -%?"Kb*2)nY,+>(^]CtUBOU^J@&`XXL.%M4W?iDnOAB[OfMQ"F=:Go9?VE:Yd*k+^!S#W+Yo_!iugi9gW^m;/Fn-p_^/RmsnG9WTAD -%k:-1C;)mXC[T-5kS<8W'C.<98@[61]Ln4_c9:!(SD[T6FY1.!5$*aC`Vpei:F'puddX>c$,!)J&)3R8'g![`KJOY/kCsaPGpFVhA -%!U&iM9@-DN+1&4-cF)l8/e"\M)Z,.tXAOM9q(1Q:)gH,&^I9m>!'n)?L8#`jkj\8J-Mo+fXM-Km,R'nY\T=F88tY[U -%T*V2a(+*]M:/DcAe<7m$VJO&EBW7Gp"eIT*/)fo_DFIIsp20&+7+Kg$JTo[RY"f!6*OR8?Z3L[092F+B6igG&EnRF3O#Wp/JGi:Jd0l6m-4R$gM;U1VHS_47o`9I/$"r@3J! -%Vkc`q<7BaEbdSkjiSW]g9mqeD\&uXrC'OGlS'hIQle?:V)lsH%9&nC@9"a6@1\:4HiOr^TcE>A@VrH*U*qi]>gB;il,k/mm6a2Xu -%h$>pU`U6_@jCD_-N[''i]Js=NCP10u%*"QPoG.WXqV#_EKVMJ&J8G#P\8;;q'ElKU!1CdM6<1mgbV0(OKr*fuZR6rO;ZpiU1JCl< -%5Q:%li3Tc:g1h)S'p[RS]aT?R.13SkLiUe)k8\;m[i/+//1XR0J>+qY7m?nRap(Q:'Vui'8-]%*)%@EsE1F&B5['67Qf05=^8#,X27HN:n]Td'`3eQIN(bB2iZe-@h -%-Bl[Oc5b0)O^jRA@6Cg'WhZWD!GgKRmE??2(X?j*_6f:1P"LaZppm*s:=pP!703Un&GNFN%Y`MN+Pj/CKN`db#GY?65cDsfTR]2+ -%Lr*?p?L'sZCJ>!iO%+n*I#WAMoWVahIN?[;3M$=jLti]Dq"oDD`soo$J&Eib,fl'>lK6k -%PhBe=]UQ5V6l!+NXM;WA4NQ_YMKMXkgAHRp!M/JCTDLp'K"*rZ^bF,NS?=s2q_@OK.l,#DZ$U`=)iHV\8n^cICTiD&7N`-O2:Z#6 -%O\me='266sb8,MOBMIj:1VXB2XcQSbcX9%(;rrTrg`ZBs-/^hj\Ju9Nb2SW'5g/56A4_.d-s7oJQSiub/C&S#!`WaCo6m.&"L]D# -%A98uo1g?N]/^BUs:anD@KC7M9#Wfh,F41K'j -%?,'q2o95hXP]:e.cZN08X/1%*>Gu`@+[jXU1^dPXI)7@=8[?ipVP&:i, -%r12u=5"8MlHqBN,,@A^L^qr]G9e6X;W)iJ#(j4Z:WnS*5+JjC5_g"sED7C%%h*LqccI14b&&aJs.I0W,i@'`J`(^CP5pjoX9TW64 -%J,o\/6(VubG(T?6OX>A*:A;(?Kbl8ik`pcA;sg#nTguPD_NRo]54;,ADLXeReFsBJiq6G5bFhc02KV+d:)ImPBsHka772,DaI4SOrY]9ZB+6YBTK! -%Z-rUKo#;tc/-8Jd*c#o,h'FpAu77;$rPhA=_V&p+$ -%l_qgS+SQa/X>^5!.u.T]'kc8UUoOq+18\mhs5*fe:@Gk;r\<`m!]Z080$<'hqJk#*)1RSh\p;rKr6mOJ-U@_;=a=/6O3q]3F0<@" -%UG_+h'a9!+G5rZf?ZuWF2+V.s77VH:Z$',QhGq[*cPjQ3#`XA&]/T%XFhkM)h@n`e&6b\u.+Nh9D&0o)0aZBm) -%EBC\C1G1PC)1uQ1%Kq5=E5kU%`X?D6'P%T90l!KR4$bXAhu'$(iXhLj.&2E)gnU'rF!>QQb.&S6h/.[o@GIEY%"p>:mWa(2JhaoGnqAVaD$ZkD-5M6QdDRCZYdh7(iPd;oHK1D4=57'#'sqH:Pc5sX'cgfCU+Va@(#tWA -%]@Mm+gp.\5Dbr0^'/,kq2;U;H`Q4r%`q?2CULq9"\fo%kHtNH6N8eMcFs2`o>f@(_,&q[rg%-T1Ii"^o39kPJ`%=']C,dsIAek*1 -%9jF4n%l?"*>#`P#9YCCQK8JnnH8*.QT=(##L<[_P/u#k[`5ofJ`u8(>juSBm'#Sq4c+fpiE-cid87IN3bbQ(IN.5^H)':%WcA%iR -%",W/U6NM?!Lg+H[n=gN4`fJ>'@f24T+#IGc.ZgW70Of9?"M1$j%#H-Z3PcmD_kr9ZIqB4e6obC.6k%`p@NPUp-EFN'RmTm>`TL8* -%L:B:s&/8S]K/%IT&7U_S?O5ZVe9;I[5n2r-r<4W3k=l9\0`FhJh"9R<"P!nTE)sV+d)28:p_u>#g]H0aiPM["hUpdR -%m;'G8_oUqNeUt+R)b=h:RWM1C+S^((LQMqc#=AnC#oA?t*/4ZL&Cqd[r-mBgisG2N3@-1Ce3qOm;p8 -%%0M)=`ZYfO(;2]F%u7oX15s<_`N)9BL7klO4eetM.b>"D@MknK9H5!+N;SJK^`j1?+e$$DRY;4eZ@!/fj4H$Lbae7,]g(:`*2/3:>o8qj"d4_Mb8b -%Fjl#[,Ci,p0]@f1C%4`S+ENI9JgLn3$?74T'7M?W.pk,AI';&/"ASZPb]@2m)`Zf3Q,Z-OT4&!?Zb="b_JmE^G6%9H^ANm8%/_A! -%:.>P>hAZrb)^S/eBDE_X@kN8Z"poo*1_DYUO>'-5#$*@<0`/c6GsK4WB\l8j"A'G'ClF_t86A-`F?%-u_1$qI7e!;!Rj*fIF[ZSX -%&7MMbSlUFdN7$i,q*kX"`p"nk2*i(X#$+Vjq%1D>V;2",gb^aQ+3`/P'n9-uJA8!C/=bc;%TM07n6dNV"`^gt[4,e]7L-hPl`+;= -%4,Y]$B&2BQLaNei\[]Ia$u@Us/T[d`%H^q>hrH)ELJ/&Y9e_3n?,5A8aC+p-gOd(p_(\WmA!.t4\/7DS_9`;FG12&:$6U#7Yi)h2 -%UbsY>&7S^iT5qte8P>.s1#d0^@KLL!;ANN-@!MR)$&0$H6K/#?$')bR8FSO+&WD1U&(AaKV7uo`is6kPD+<4u&Zg^8UMiP>W\-*^ -%Lg]EoKI2$XJl?ZdGnYe7R4,\bHuV&uWVDXI,7-UhWOF+s00h596H'iSN;m;.FT[6k+3\t8KOB@^b<1Gc?6S;lRh3en9'.TFRTQ.60FU9%1Lb`%Je6-R6uq*P -%#Y**3q(WP7EO25tb97#S'js)j9aG@BNWI6E";=Cco)(`UZekamU_b3l5Ck;W9aJ`f.;]lS?lkN*hMVq=KbgGO5mV)_KC"'1&s6et -%f5u^Oh9aG@J:>_bq8C/L",4tno7LCT:'/8&N)*#QL752flO1[Lsl'!m./.25b;CuD`!>m)'j,nUqP)&QM5<55rYLdnDlS?]l9#lh?4^bB0LH:*6r -%NZNOZ!lH."UQN@7S#AoDQ+>Bu\5Q(S5q$?dr"qVX,;M77f*q43tVK'D-KJD_!)DM/nrF,fF6p6K+ -%^c93+p`2rA`1qcFY6tK'-kJp`PCOC;GC"o'':9kq]6ofm3OFpN*@,%Lql5uPr!V:3N;"+qQr3dT^6h:hdsu[LTR^`16MR4(PlkcH -%UO\W*R:E"BQ2XqX7KMPVWHJX`0^Fd%PoS%8;4icMj^J7sW@VbZm'1%(,0h)#^HX_(^=S*/f$.BJIj.9 -%Qj*\/Jd"gM44q5L^m&n<&7cV3>Jac5#T,7M'FH*<)R(KYH#=NS2oF\l1uOUh0"GZ2YVNHq1uPJ='b*-bQo*Mk",<()8'ld#5bp)I -%^bi8id$k5u!M-#r_gp:O@ATUtZSsn!Z&8hq.r1%F#b8t^/TV#FBj_hV)[IuFng"D@o0=kN1_:K.deYU>0UlE7)%]&@Q&F]<5[\c# -%jU;"k!io'%>[7G_dCY2JHOtb%o;6d,+p(^AD)+)-^o0VWMOk4JH@cE]l@C=2"+alTX;_Tm0J&g3SnMbD:X8PSJ^\=7@3dN;`a0g>"@b*GjeFaI(tU4//:>gYj-;AnuIPEb*2K'Ed`]<3BC$a6F<@Hdc@HX%;#oL\&aPNn5Lk?9E(_YnT;h3Q7n8n1&!o.'Gl##o;L5?9=gtaJ?#f$Fa -%4UOG!p4Od2Qos7'?]oM4%3(cB\%_+Anb4"%]5;0[:/B(7o`aKD2+qlYmq<&*mu<21/-5a0^Ydi(D):n[F8ckmRef)fJ]$?kh`r4f -%o63A:o)e_L+86Fq'7[9N_7bg&9M8ZCpH'J1`u"/f\0k2$I[Qs0oS^(`^_o["I)CETIP#WIIY.eCW*b4i5GQ+"qLoC9UfigXiLKiC6j-MLjgi(,L[jr&H?[R?eFnYD$7WaE1'7PSh'nBY55XKWOpqAma>4BQ/dT5q9qdLX&,7XANCl'Uo(Yfg7 -%Z8+>l(Wf[Q_F=/%PDlX0lCDEpq,;6\OY!B<``V-WFlc'bAWL(sj9k2,[6t@tD`1S4,jRW -%GV;JaXQ_LP(H>lg1;:lDMdb\P_7`sXZF,HCf5Uf11XHC3OJqD]8Z58]EL\*k*_?hf`f/nm3rIsRV64;_)T_7l/*c7`GBm:?@JDF-\!NuQk)n937'LEh@ -%SQg+NiX=@RYG,i<0+8i^!nU'I9>BAo?M\4qH/j4mUqhKp]\]9NP@(cUo!d]Q1.VXnd`(OK("(7`odXu`ncn_A*_27jS(Pnt$^ft72S,CB5Q>0A&.!52bg#i:UZGMatmS -%dY7$VSI1[X60q%B'f"@@!ab;rEq+H!V_Tlp*]KTlN"1F)ARqg@:#s.`15aN14'P72a/r\Nf1SJ0$0/'#Lt:9=Y*TA[/2_C[r4P42 -%=t]u/CrC0o03=I)FXX>=A,qN]a;:oo&K\CbB?:jd=]fPGWg=GG\_a,g<)O>*CJaJeK'Mu%D`=MS93??Wo_AHR3\Xe,.HnUf?rcg\gA_HY;H/Z.p^B!UVu#ii$>QFp>4=G@;#>1,.- -%Et`qhCV\ish_,Noj=_q5%Lt.=.-7`h]KjM(BQI$q;(G7gh%8GoZr&N%+iM3#qa0ehLm:4JGTl$[,3NuT$AjfUHD_1dE*Kf,610D[:L*r)R^n$]cr*cjY5<=f2QDtYfBplkingH>?9Go(*k%.;jfAE_h]cSKe^q9b#)a13+CNbjI5u0dsZWn`("_MfaVYP)*PYn3'a\,&64Z6[!/i,MLSL7-nWj)m[X(3df]jZHK]A#VcNo -%(Xp.`NF_CQBM7l-m%.^TYmUYr5Jbu`\H5)<(Ln6k:V7UgQGIo\cZV*fSM"5-A!_W_4+EX&bCh9UV-rZhjPQMIfO(&O]A1Kj7dM>I -%b6!GAllsjsFW4R%@J3JDmN)\[,!=0#>mqu4W.*<>?0oT_c3;g2&Z=E)U30PqE
0k'41+aN?K.&(E:QY?YV$rA -%8dYX$b=**9h>u2=YgE''LQ9Q6+j3I%e`Ed(i-]Tgknt.gp=#VHWjk7Fe5mLiX*,/e"g4%]V,i'\?\k?*7$b4,Bn0$-#k>9#$Ea@k'9WW4H6?inai>(G@d@'nWHdHtTE;gcqnna\s-DA'GXSQ)N#rSLlubeWjpC`%ff0;Dn2jYj9?rb%>W;W8U'Enl9^qjW+ -%RJWJ/W=.et_]]gp(Mkm>chD&@1.\])<#;MM^*sjt(KS!E'iYtp-@-.&eO>d[+fGdK9,\dNY6!1-JPKN:F_Q@Kr.=3sNC6*bTt5h% -%II:f7Fh&S%IbmoWeEkil<#6js>a>Ll=2!Y1K76+/R6tK+NM3pGmjbet:gHojaBj*IF^`e'RAl[s#HDo&F_O*7k$mVm8e>5]Fh&B. -%Jsj24E`,hd_ph+I;A]s$Fn(:0&IYK(2I&r3@l71$LM)\n@(D*ql9'!^/i'tZe+RBV9;"Q8m_@XIh(T%02\DG^ab55Vqo-3u\kL2> -%^-."XXL1Oc4Fk#eWO_-,;%1majO*4]7Rdj1RK2V.0rD]]I0X-VWb9[X`VkV#621W_'arEIVb>B=PNSppFpS@[!-K/!RMSbdeA`k/ -%#;l(L#VlrR?%-#'Cqj25<&kNPl/M/lP[a-(@A%+PnT82NOs#"\1q;!dH+Ggp3`(6Q3a(]O'6T`:V*HPe]$T6;<:D7"id#acoLUb` -%'4Iii/:kBsT+T9;#3o+2ON"c^2icFu'$UXGiWWkNYa_R!1Ki%nW(RMibXUmG6;cTneE%;.1guZQ)0C?Zh[QA6/<#J"Oh,X-R?]X- -%QRK+)h,NlHP,Y$kVX??[VCq$]8kjr;b8W@_2cLT*]j6BX_SGBOL?`dml?k4_0$ScA!S%pED&BT0_J7XeGXHVQ"al9@lC(qh7ZS#/ -%-2BiiK/Zbr&Rq&J#?7$YU=@qcQHN'SfD^NiEn-A6ECCDOJ2D/]7FXJ$duD_m6u3Y1FFS>Trru,HcRl*tH+\+-Wle,,V@,nd/%'ol -%,';W+(J>Q1.+TU^V;!:@h^%#,#/C\rr>5cb[jL*$jaj@@J98%)8,&m=UPfjqJ+#1d\(hO#b?/\;/rCrP)e"CP)Qehk,(_FVUFk"8 -%TF5a"0EpV%,.rXKj$;&p%1L4uL!PHmP,TsX/n0CXh!A8[&tie!6K^[kNp;cmkMkra'SFN=1]O2:i[2Z&q$[:hEc%TbcjDYR;ASM&QA8^XJao:Ga_V<.6C`&M^Y'j+!Zs6uDlSH:`\YVj,YZ\LJ^,Nnb>R^`: -%C8l)K0!#W%"t6sbUHq)6gk)b9.:8ItZDSs;\W!ksYmIss!H:M-Y4. -%(b(Y(*#C[g,to&?I8"[+UN)b\>!^/FmTp`f&;-+b@ -%ghr.h"i+]QMm>8@Fr/1;Ip6%&SSn:@21I18\%o)CDDXk=rX,7=>=ll>:Z< -%5sTAIG-Tkp'6tu1@q3S=ns9-.;)[q[$l"([#2\>t5Tb=BDIIonhmcn;18eYMUtlgK?IB:p%9Q?/D@9+hF.dF@B?$4M8[l2WO(;#h -%h%mYX!l[uk:rkRD2s(nK:TT7K;+\lu>lo&)qC84bhi(c?530-a\"\td9t3XW[#^\pS%C.I")j+46"C;5/cL4a]&C(8R@'lm[Ooj$ -%C2Z;gI(8b%^W_p2FjfkYfaCg1'o3.iD;jKUs7$E"CHAZ0"4jVJTmIl9X-537Ai>,2+r+Kf7=:H!3)P -%(,&*N2pN1W'-*4/fg61+oL[DG0lccIh_87g-QptGQ7\hqb*lc`JeT>gDiu\_5OEu;&HgD+&?j!3XsJR+Cd0Qj#TfIECGG11fL!/S -%b88&3+cTA1_A4q#3<38o>uUd_f-9@jk/#[/]k+qadq_2I5ul=r$XR&ukQJLUHi=Ls/aK)"6G:LKd":np\[>OiOAm(L>1>r'l'kia -%eplN&=sWJV3FE\'\bMj:ps#moUk8#S0P_9"FH:?s>oo:8b6L2W>/]rb!B7D%#'Br#$0`i+poj.:@o+1PmVZ\ij9neE"g^+SeVpH\f(3h*^*<^fj]q6f/Nh>1+AT\oG+pT\rq>JAV!o_UifmJ.S66Q`YYt#.bT[*[(4#&u;HZISB(mJ*LtNY;9bV-:dlbI1 -%NN`G7(CJ4^L?[cR\R;8r;r(*qK_&_:R7eu[FL2`eBVYoY;sgi"$/9l=uf[5d[X -%a.d:BcJ5D6a>a>]p=kT&jfe)#r?l@H5E6Z*Y$D`2@*&9T`YJiHk,ucn&,,(%?:u7.ou5(,JU8\1)ja[JN$jWj;CRBp?lWO_X8(*WpL%jo1&QBGRdP4D+alXEGtRgE-- -%\7etm<^d:AmbSAs*R<>?(e\UK!oo+'JG_+Vs(HLc(ZVV6kZ(bm[MgENJVZpX"5KP*!5'o0UH3A4^h(eut]$ke,W?c?U -%YX&WG^R6\.47p"I(.n\u2UiUh0=7;ncBaM!_/hH*&E=7a'u:I1Q$'TtI-aUN=S'\iX6sT;0j;MIq<^q,=L=lP_JgF,,LS:@S!?&4 -%"[Wr3_,LD-g,K:aa=L$*U\?E`(#\'D.!Q;rktfF1a'7]CV%c>Xm!t)!9r6.'QFb_ug\o([&WI\"43WqXcj]Cf/VCgc8IqQsNd55b -%a_>D`W2:PHP-D7=#W`_GNVRQ=*[io<\!27747-8E=BM(!9_OKUb/B;E($n-.miq&,e`S+fYA=<29"qA8rs_1a@P;le_P=$l!A%cMb4<3g:Lra8g#TnQb$2PWWDHp -%G'9?$31rj2<"EU/b_#R`8OV,U%Lmmk!C4j/C.$bPHQ7^,@a7Fq49!f6@'1Z4VH`7X9A,LgW]dm\U)B,EmLFe1'SDR=A)]GjL19eV -%'OINgc0rSV$JDWg9,p?p&/)mM9BT"qBqbOe!(g7]+bpfgiHF+JVrN?d15CT3mRf'VnHT%MKemEVX81sG#F^r"N/+@55% -%_*V56#e(V^2K^%eMEIkbQUjiC2>cZ-mY8@5fOFR_i0p'@)^91Cf==k%`hH*Q_$t6t=0oI#1$[4/G<9NWca.=jG&K0mVkB+jI2>7; -%ilTdd_Dsf\*e^2qKo@qW\gMfu27k\hT)h_h>_k5)>P-M&Ym,(((]1Dp5Ob1O+_.Xdb80j-*u/RQfN5C-[mWlO@I`1>Y)u\5i8%Y?"Tsb/<@Cb)h,K1\2cff+CF4HAK#4L@cY?tbl6$]P#kdi$NIJO6D(>76Yh=h[>>$Q/\ohnt,Z&tFD9:Do-gX8ThL[f)R4"ilA8B%kfe.IiJ)%2VnFd.+!'!',FHr>1Ql-@#%jD\1d -%Bd8@]5+.l!8T_.n#c?^MJs\2,Yr2EuF[W\sF/M!D`7_`opp)c%1+W,^jY%"8 -%.f(*KNY:&6?)qp(qtikNM\.rLCIV_*Wp)H98s8q5EY$Ag3P.m]85'Kqf@'kB]Mb"W*&.8U/6jQI=$)>%d,`59ZReuKe0N+soQ.O$H_t-KjpG%1T[\b5ttr7IfeLk=3^Wm"VV*SL7]kL!B=FEDf,Ur -%Fm=F^),cM7,OhSS+;_A,qQ@U`?;]+6#> -%p4Vg!(T.d\Wh3#ERY*IA*7qtO4s:kmTCc)"8nBCe13Y.J#>.4Klg=h5<=K3(9#7JtD*Q$`N?Tn"@HQnIJ.,O$Jku\!HBbkXj`%S4T"cpqRrSsT,g8ujH43KY^4VUXlUYFJcB/&%OZ66*-72VaXIlP]^X[L0Cm%=ft7=='%I^4cI -%@Ydn\RIo"9hIo$06X;`>Dp"fM%mlTtJSpG,Q\b/:?2-(f*FS*VVp=_2b[&-d9#J@^C;:GK9WcYP6#'[Y4 -%QG'6OD>Lp(:>ZJ7[pKn!'3F)Jk;FOj9b1qTTS%P^^6d_-KZ2)Rg*:[2_TDN4B%3He(]t\.*(j"TYPW -%Hb!7iP4?LcE^cGRg!;#h7j44E_PaV]nOG9*TcF?EF+ljrZj\2HKh^s@(26ojih7>lJ^P6D.M+8p(o)5Q\-#..!4u4:G*OcYZ0T?B]h_ZuM:'EYMk!.C=[k@#;:qkG -%%OYS2O7AOQ%6P^lb_$dbWPW*c9VHTf+jgmIB[==u,Bird%$/gOiN9)AmD@Mn2he%U4K9bS.QJG)a)i+aA[i>jg,oqUnX2P3$p^su -%HNZb66O)3c@t\oD'.`c90%uLk38UYL'JGosaiDp`VJ@75miFje1>=4;@7u&tC$a'h>F!ZX;Fb@SPqX`N#sAi@7/JXMB**^\P`?gk -%12.F/biR4opP>qdai`JBTCLkdG7r5h,lMT&6>\-cho_`/[",b)"9<("W -%C+JhW_Dds1p0;uU`1A`f'A?j_L[I`MfH$M_6!(&=K42Y:$VPiR:#@5t1/H^cG.->67[JfR++CI0rT8G)AsJ)c3O+k=%O6eJ@1/?d -%nfbT5F5li&NI@h+6j%KIE-j>HO\S*faWc"ABoGVF1^*D$?"4H3a'`&rFE3LH4`%Hn-_C8H&\J3!"j8bu6YrIYZt.4'&!l(C.]43> -%]36ip1Rn-s\d26p0NO$pbMjBfB,IUDG`SS85r?k9$rIg%;&EQ"5fng.[@ql?kL4,TqFXuBn<\_/c,K%*!^gJ3G[4;Sk[-95+(q+5 -%LME?t*j#J=S!a`o+V4+4bo@1'/Qok\s&$W82pBD1=4TP$,#i=_de"L&(L0qeZf)J@Sk!n,aYC\O*fP:QKec,uK#e:*\FmY>JiFh) -%pWUu;hJ:U`79'l"D;oQO[mdhtB':&m:#+$[_1;X7V%Vdr9QkLf[" -%P#*oeT9L+(D*0S/P_Hsbft#$;=WVlsjh>6B;<%kSWtN9"__aBR;X+bZ_TZ5Eg:6JY"dC@=kE2T0R.76n@-2:,-Lc:K$LY;F'5>Yj -%p.%p.]/IQ1TX&4/4BT@Sdj`oRIOJj(Yh8+gEg+e'X-k.6BaUKo[K$u*2AknM+86FPFokd:cSGfPJnshZp^S*O"jV;ED(KGOIVoO' -%oUE^:ba!Ud'-YUa\H,\]-;B2-gO,iuQ#1@;?/r7[,,SPnNWP=4CqRG@lN5]/O9d:0?0EM/n35_m0C -%Kp(Y-KgZ2lL59t.3Mb"+Z7h/*[0ZNB14?kf9r#XWfc^WZ2H=NDICsfTBH5)E.YI09(1Ee,])a`<"Lk:qfI2(0fdlq-=pf>DKW>iY -%Y$-\?@!/6FL3ss&`n7\M\Qm(T8sa%F/*Aie,\:4lP6;k6Y,kuXKMl6]KDtt1@]t#no)<#<1RCBbLL,QO;O"?[90m8aG$uff4dC#B -%);upJVORAUPEI.mfImNtW*VL8mY9K(34-\#hTU_LC<:]Gc;EhChbJ.'j>]nNc`i@%FY4N)+15_b".>Xn5)N9o(Zq[6-<%?:HWhqbd@AR:\)ZL?!WN[5Ld -%:Es>e:QHtgb]b7T+LX4tf=2ee8n`Cr`]nPK7e_5Qm?S_VKZ,VO[fqLT.;*Hq?h,f>l?GSj=Km$?:-(4NXN83!`I>EBeVI=#&^ubk -%HH>3D>f0iXSSg7t_f_s[(_d4bk?LdQFu.bZrs'RKP&p]37&P95H1e9/YOWF-dA$k<7;C[-.T8%9S6]-e?M&9c^ekoAHYVTHjf_W4 -%e@'l!EJLRj6oRAD"VD#gUd;X6Z%SR,/VZG&fG' -%VC,KCe@Zm\??%bQ\U2n"4;65kjgr,,c:%n49Nj'#0I$2GFs+6I&ScM4[OT?e@2,2'i[6/05fkdEI^oTZ!1*Vs_PpEYZD'G&=_;@R -%5QHf0=Z&UF#%X84%A0);R2LZKN[+Vr^p,)qolsq7I%'4eZ?^39U4m:kLhp1_T-#Qa.D%%hm&K'+iYWJs`b_tJIe8lQ=NF6UN#9P=6 -%Man@s_m,3Ro_FBY\M)cK@;g2aR^qb;r1b8#@2XFZak5q+\M2ISJ/r*eZuj=+L05JNFcZ8F3`nF)q1Ge@JiQFm@6X?nIfsfRG`gOH>2[qsOm&ig:3eERc(YW,bXbL$@:\&aWf"#[m$%<@pq8jhu78 -%ea+sG#fKI]YF=m8<0O0JO;,$,!#!88b7BA,nI8@A]@Tdg"+b9H_=a]N[]jF#*SDoIbU.U^F>.bkXjn5Fhr'u-CH+M?;242./]Y)N -%Mu7.pg6O=2ODq<)J>"N9=M+4l-OQgoF/AY//h!rYin)f+:>gWCrQQ6ooV4*!b:Jp>7E1N75:V"31f1MF=N^%V#DiaW&ZRLjeZ8=6 -%WW';m5mnX3J%+,OM\TW4YmdO6Oo!&p=MqqcMbujO@doD]Fh1Es(2-qRp#6EBbJc"[,7A:_pYr0A[0h!s-2B5G)'k`hl#9P.b0pr_:Nk)$=jX(]*TfT,:q/UhscRpf"g7qFITs1smAL?t%ASQR7ANjg!f]?gS1J\/tu&T5\&#A4nR-qR'YaCaS$lYInP,"[t8Ei^_j>I-n0`1,_:\%BEkP#bUF4OH$o-\Vdc -%Jaj39oB6hFW9WL04'.!3c3S^&K73$)3i;h+5=L;sQ++X\8,+3&Z`;Hf/*Q@pcRa"".Ej90)q3=I#Zn+Op!iHbc -%hp>i%Q_kt^pHRElhTdE9+k%_"@ZRV8sYK,VM[h]&"obmHE^&9l,+NT/N4 -%>60b"p?2mh/lfP=/h&NC-k,Il@ifcroTJ'VQmpbPkmdL5,Jq1:]d^[=I@OY=gc[Su*NCU8- -%D.+T!BRd:b+I5REEV5Ns`+%/cDMiW?)&g:tI3#_K6\5@AoT`DG^AV -%?G(KIkpGQ\ZF`mU#W#=FUZAog%1BQ^HV^mMckq]*Zg;;@M>[q:S>:CG6>5k!-q]6IN[6XMRl?$;t#a*ehS4/1NeigEEQGPL:IDn&%$*0"jGT -%<@5C!1I(FWLm$b"Et#aHRaIU=*Jlp'p8+L.KM2.VT/.m;qC%,A$g@+KL%jj>r9di*5mNj/;_BUhPb98_auYpH?W`o1Ihf+6X37_r -%`_S-3g>JpYdm?)t\k-rSpI"--DP!GR6G7P8VPgf$_>9)*9g0\r8&gA'u:>bU/<:%>+?`*QigF;]ncGWPD8FbMRA#D"3_:@)/p1Fr;Ch3(D@A4[iNO6KZXI@6>Kp$Ml`D0DOtqSe6kBeH36VI";QFOhF0^.E_l?&LieD0*#^LE`Wo -%I1e064irCW2* -%G]*amAo=k1_i[gEAa.:?j]du`7^b'LH8/r?]aAH -%,Jk+Kk&2_:Q*add+IK/sp+TZ&nQdWY@+\?.M=_41!%_E#<*?8Ni^4;j"Bqco<)`9la]DcBc"kBMZ69WJ9b^5TSH`fnBJAj[S+DKi -%amme'Q+4@YNU=Q-Q"-k*nXD((__6!S.IGE[:+KrGGsA4A_ddm%P+XWHOsC26V7S3iXkb05oEI;:@[3%Eas3q+#/0"'U&@]):j225 -%kS%@*nLDj]_Cd.P(/RZQSK"FZc^69t%tS0ZXs)\R\IO=6'gYWV@[#T%Y<8%bkuHsrIhoRhL32r!N:4PK%S][[\mZ1kEl^KK($DQ] -%IR^SDMPj;,+5ThsnT*KN2tC#RoW1ED7#X!iLn]TifOXAL@DJU@3r(c[LOHab!%_*>^qpc19i:/gX*PIf>na4>jT]`5/BegGLAc&= -%QDPdJW/!M;G*AI)7V*Wt6VT?Z5@.kK*1*f(3q.ESW7#>B&BQZ')'4;-W$OFn8lWGQQ^T1lJ>@l!,Bdn1`eF)Zjf4f$!//K7_JcdG -%>mVuQ_)(5VI%Lf,:HM72*(a5"\]_UC\nNOdOrm\@Z_:3Q_>]dGVCMM\2^Mp$1s2g.2cBgpW-Z^lKt[Vt9\ZaAgTgm(ck#sBT -%a=.]5CmT26S+#C.#!o8Sb:K#npSZ9O#u6geL&BRt6YSW8#W'.9RT]2gW^FnlEM_R"e8\"lqkog9[43MVjRH3G2fMrQKKpK3_.n^_ -%G"%3[jeBY=W2*<0hE5r:$e7pnTPa.s4uH3n.S3X(`O4Lb/]hP_cnOB`LVY0rJ`GjG.[OW]hNQ":d1bt3Fi\a-b25_JBj0k&p=Ms8 -%,tc\!$P\[Uhn^Z5>%&0IAmutrQF0"-a5g:NSFrIpTj;LG30!M*E3-$B9;\#R3D%>Y?!EMVok^SI)Q@taWTF?qJ!Qk21%LaeJJ?Fe -%"`R,Rm=g!'bLeWrX*+KdY;<@jU'>aAA[6/tl@+K2A8@1HgglZC/kf<4$a+6A-?FS==G2e'on8Q(bE?qCEq7S',j"#'DM_r!C`:+u -%70E";64EBVE)2=[pK7t9iXfLSn_-r'`cV6KL07rM`ElD.(FlfSG$i`&YbIYQeaR(098?pGoR'C+4kB[>_uP*@1f/<#bL*GGn:X5^ -%O%S)jU%_j.r#QeO:@VXF[UFH"XP$,:Uo[V`c->&FQnW#SrX>`0/Lm&ce#Vj'kb1Q!b86KXpim'\E,=V&R\X[G9XZ>sS<>"/YmH^/(^r;NJ#K(HddlEG^YN,>0[G[fUL/q$n9rj9219WZ)jK8ij4%IS!6i/ -%GCLuE4JE5tDYJmQI[F&ao1CC%71NVgK2_3XC'_h%+_H0+LO>?Y)[+`28'qCXNJ71Q^TZlSCU=_B"UJg;?k<,Z#Ha)[MXn/**M^olq/N.c1)_s -%nn'\L\;bfg't'soZaWg:WL*eo'GGHjn@L[M;k;N>I!,inOtjA?U1.5=D?H!R067CE,;q*)79c"pV'g0]mNu!8TSodehCD>&8d\Q+ -%6NTsMqP_0mGnB?tnRD8,DcZX24L'Z-/f*Ik1b17]3F&N*_M<&jm$GJue+]Iokl3UPH5'H9(j#oAdSQO+&P[r-)=T?`*H?0j<%\B$ -%=\]>0"!,J_eQ(#:=q^VRllC$Wcr%a(1,&gWUG(<_T47oCG"`_O4>/"%2uT7?*dS2k_nS;D?0lY#QW10++?JTJ#Z#$!2>DW:Js)L,TEJT^S0!K&.jj2.>h,?9ZSk+',#d2HuAcDr6$2sZu:d&`+B%OO%I -%@6lqm0gi]Ak>:u3`9dPOcl>",S95ED8ENW'BZ!j:!BEZ,3JZI!S5XT.aqs'M\XI7HcI%D#]+tG7iJIt(0>9Gnobi?V]f(n6kCK*] -%b7S[$3?`dP*4.`c>\_2jZ8i\a_rl8p^'CmL6uK$_1%ih0OJQR)$KPr[,ek# -%jqIl2-b\1[4)#]$EmQ^*$0t'IO!WB19eKdO]sBZ-SCMj1X)rrEATeUsRdqZ?Za!&d;Hh"cA910]2n0hCV-#?h -%H(l7L68?[O-IF4i^u_po/3>Mt?ME/7^u\[`59YtT.Lk\kk!^q>3N=3ijpPucg9>8&^m;;5$3P\m[p8'pg0eKPT&^66@2.Y[Ra?ss -%%eENEJ@XcX&CXq[koCM2]t!1IE;khKO,d+(/P!'$cp*+>ebL[1$h&BH+.oWdj.n@rsjSWNJb&KU>;T;Z6NGda5 -%$^k#/L<6VBa'Q[ZO,Htt"Z2E:!@j^9"iZ$A8!UE;WXh7@AXb1i)k[h7`h"e@aX>-m#6J9!nMpuB1pas_":R1R1:0+^-EM:7nRY!.s*<7R3fjRDLA1;>O(\XubL;TLXA3dHAk"FW@l-\-!_ -%3ZJ56ZJQ(2PR2=q)@1@+BUX5,,`onU@,0`COHVWp.$@@Y98b"0^lPtem,USWa.eFghggdJpR(7UUc:G#VD%L"E@YroGn";0E6"_8 -%nVnPZqF;E9;oe3]\@eNq8.[PfH83Hk2EmS>B"Y[$i^F_teVe5P_dc-7*0M3"fKdR;2e!aS`HrDSEM,?pjWB$Ca3(5H\1:Ab)W"+]$XE]T4pnEX5/+@/.f+8Ms;S3-E -%rZ[5dd),u_*;s\RgM*6=)r+UAEH'nT`AgHdM3+M#Ngh>dQU4Ue8\?b/.Q'EgNl$IE.[Co-0#b'V2b"e*!QFM%&^S&h2;$h0#,V"Q -%Ar(Z/ikkJ0SXK_uTFC9tZIMZ$?3G8NnCf%ApS`'G5Q#L>n]$?rMYGK8+(rYQ4<1,Gc/7mW7u5-:%Y+KW#)C)(94-=jb`c^4]s6O] -%NIFkfTXrLMeFLQeT8\9/+,:a5#Y9-#iQKoFRi&l0S.&jd=$Hp+N^(QX?djG3i-iM[\QR$-<]HP/)CPMnKf^iq;;kg"pP0Hs%2UF? -%>D!U'*9mh+2a`aB*.q"m3U448ZTl,@iQ(FSKPt?3_XfC?%7#0NQ5:V_,nQ%MC#Qn5e7*p,TS#IfI\us1#KJQ>)`.!A!^>+]nDO)[ -%frFqhK0P$%Q?)KQIq0>!p2p)fi'!$5D#5*ji2:Z(%K[/Y'$$l%krHSTT'\D5En8,2DVLk/9Wf7Gka'^5Se=-aSO\9mO%1VOJ -%#oZj=3j`LAd00Y#,dpoc.^?Ucq_es)"tE_-*&rsZRTqJp$:%;3XYZ(&\2cm!Z,#.9k#on7ADX*r7+e&WR'-bIR?8pKOu@AWJ"lRqa,a1-HAr#+MZSJKje42^M2UfIj)QQYj7)>9`rsoS+mF#CFX8` -%2_I`smQc4gOff7B+MTA';I9-Xr+=:;poISncEN],PX^*Hd*[dehUMW4b;!*=_!fgLin_7c1h'FBckl.t[A`s\n=*XAKDWYsaBZDl -%heU462XHpl4N<`jp5LSrG3t$4UFn%5qIG#XA--M=^<&oH8^[fk,OVR\RHAlaT;1sqA%jDEaU2`(au=X`X';MGh_5>2C;r4+X2]Z3 -%`&AllWp2M$Ro)[*0nSo>L@S#N?A*6'G(,ZL;,6ItZ`m1!7X8sVj2VW(?7l98HuCo_GJ8e'8TpI;Hi(Ul@4\P^-efT\;=I_%D`42: -%"=2f6mmJ0b1>5(NLB:NrBQ)-Om[\XMh?*6_GHtcr4JF?l%OPQkp_+Y?0=Eg`Xr01QRhiC+$+;c%5m9JhDjjh-'l7gf7%HX7L(DU` -%g6t6D[Prfme.ur12bQ22"s;AK-j/YqF2>Om84'G%^qEU4+a@2+]m5rDL\caP-\2BNNt(hqB6QiC"7FF&NlUd_"8?DIc/sT[mS+(A -%9*+da785c!E,Vam-*]5]Rn]`JX%oK8!I^`T`q&'$V7\)Zhfs'W8/,%]]eNTfPPg./VZ3EgR)XIpM/M7b@As:l5'V"5jd[1V9`kKj -%JbQ$1D91RYDoVTT4);F:g:18#,XN,q!/2J -%XT`hbLPUEch^Tme&dV7_2&5ujJb\A2B:>6-&Dn1tX$qONhpean,;J2I(4?X1`])/lL]laBV#f7#L$J?#Tb).^[gE.X5V:.;[OcV= -%+Q@_Ur,9M4I7Q7!&&^EpS(*ROpf;4lS++Z&M9:p>ph"Ju1LMoN'e\ajTkq_m3pg_,pia#U*l^,`1c')!k>slL.\A=1hfKa$DN@dN -%-K(L-hcN9;q\"i`()s5NQABIRnWI*t+2g+ubA-*H`&HO4Z93a.SQbYjIM9Fu8k*r"&AHg];Xu.J^?PX[<5/^rBe('Qn1DiBHiL`r -%Gc`DK/jE4nYkd.s75B'(Gje%^aYN1C[a>Hh""DQ7oAEnobOm_hM)F!IB;FQO)A*; -%@(\eh+C+B0G]0a15eI]iAi;+UhCtn;i>^a8r;sm]OOO](;#n8lj*1O_GE:su(AMbIEn"CCphmlT`!q.D]1Hg^oT'TQNGoANpIN/+ -%^<,38/IV?0>(WGo.qT-C&_\&0HT[Er2RRnA/(TGu_na^RMqQqRY\[o1@]ZY-$"WddYP.AE=G7OiAL$7Z%eH>$TI:a4Un_EoO -%fHG.9SHMju3-PlCEj3)]LH/o5*\#eCF,rk!"bh:6%2Y@FjEc!d^(;O`S+?rE*9lXaPL]6]+;8= -%6-DG,2"38Gjh]h$%q-AfXq$[F3kA\rD*Co7LmYs%Q_PGg/V/)N*qSN4Z`RnGKu3-E$ou*@_#:U[oZQs*rg!P%7NP,;])^VC;h>S] -%D?V:Y5/;">)V#VaNSnCsN.RolE8r,=2iQZ!.[.'Z7Gu0K:^L_F\Bh`G#i,:)Vl&-K"IOUim;j_iQ_R6^mD*DEj3mA2W'E;2^^Yo1 -%%7/oaRB9Y>]F!B';G$2+^l?rBS?+tp_\n[SmUC,Wa#=jjHs]68,$G0_+%&W,_r-!3c/<1eB]^7c_$uK,Z[p`2Nol)msHJi4C[k\]`G2i.`p<3X9W3!<8NU9(9=[_JjpEn[BAqib0D2D$H"g -%GOR"I967B)X*BS8GD`7CPm:f9H18<=UKJe9KAU8tPiZ"uho:jmS8mSuf*kXTMnY1N,13Y)hk!1CkKVjqPn?gkNS[,P+JHGBhM)/t -%XFgLkO!omu\D*d*kR?hOLl1YoDNFRWhUHDDN0Y(1N3j#2L]b0sMBO!nMmtoRn2Lj3*lHOh`bbh)`n8Uq[Z-kE*4^^1:#-&Z$&3;@ -%#<6YQ2@sR2b6;Xm(O'4ABU_]'TdoWNfk/^67m(Zq)NM_e0dtei7.['1A@k@ZFO[*bY%XC1$V,1[oau$"+L[u;TUIS@gIN.OdgElK -%aEM`10>9?-Lr-&:8L(kQc,dIRTXN_N"\K%b1aNkPf?!(rC.r0]EWci17/>1^! -%=Kqkt@VWg'oh.!HTs\XT?ul>Y24!`sDko;R&G@%KU3dc#54Jp?R6`B#>fl<^%"b)j:_hW\Q2#2HSCs=NUGMSaX6Sa`tZ>=lZ.r5"V>H0\oU0CM)&R@dGD)bf+S95)llcJ7MdA?!Gu:*K9?\a<'ElMZ4W-oT^AIa -%M^11#Tk%*:W)(j+Cg'ppE)Ep;$17=\Z@s)>V8\[8m]'Hs2^Or5q4OTM?Y2[2nIpf8"T+Xm.#A>gODHI-jU^bgZPR8j -%a?G>;,(!OHONfYVF9Eq$ms"LQA2>H*;F;#$aUFi@+UHcFA4Ebe,Q+?_fmV@0J5dk^>9[T6*uTRrU*5B`rD62CCsM_X+Ih,)l$NN; -%V6liY&@*<7R>6mK(te`jA#C1i_@MV;d^q8 -%&D>:D;f!8+CkNO&iHcZQ8JQ:S%\eb&OR)0aBgO^I5de><#h`1LjQMZ@E<.\T')s:h1CR2[r^(/59YUBnACJD.'oZs4.'gK&ffUH9 -%7)?rV1e)WO.k]?u9fF;dDK'dF&-q'N2qj@0-8=/0rYp2Dg?*orEroU[*_82-*&P5c,o^I0F$[p&7ImUSA9/^4[Ot01c$X%faVOAb -%oL$`t&lP9)hUR*TGd?g$.+urbEMV9PD!$K9!+1t,L<0`N#YI!*S>i4kpbdF/[_KF'fj&j"QZ\!m,d=9&E$;NJebCe>7hV*.JF&no -%!e5hk#OhT>%a^6ZNPbR_IV_,)*d=#uhP+M(pS,:Yf\MA=c,T/]:N&)`2!a-J@o%k%2rE>crJ-=pit]5BfTX.cpMM/mD^tI&@q@9I;(^'fMK(314Bh?"&HR\f[-1/YRATqG(oG)_hN.LP-+-j?*'fO@5FC\aqkFI]4u#cY[Lq7[6S0,GecW?6_kr:*,?[j -%YgEJ_XRnQo'as7b#TJI97/7#l4-3D\K3b46pdN#RjGOW7J7)=N>j#O'"'N$L!-W)8GFF"eU=F>CYF4Nn9(pW8OW[_kbj]D45;Ya5 -%)*0;QT3USq(l:`knoY8L@XtYE)FKbOk$Fei.%2l3&k7mK),S(A.(0`Pr!g?BJ_COp2'[ll*98uA.El+*`,"FpkcP0[)L@h>,liWq -%h=A<"GMSma<17uir>:J(fJS]5i8;MbDV!T[e9-\8X[0O9T#bft27ar#7Y@LP-uPDs2!5d6nY(FsF"Z'YO1m%oUPJYH_71Oh[J1Qs -%)GA*jRPT=Q_[*Qm\&N<%KQH+S&]mm>dr]B8&EN*]g_q(seagB+f!sZ+g(,rUWMXA:i\LuIFTgaX(YDp!F7mT9>#Wu01_Z(X?20I" -%C>GWs9JES-1E_e1h/JLGB[,Bo4IUiPVl8?4lf&!))eWH/h&/%bYa(XL%%)/f#L0k`en!BO_'>+/MmdjrZ>Li$]g1/Q(=K/+YpRbN -%b9(5qnS@JXEac&MlVBFX)K)*LME33/[//51m4bW(5[hAf&D#bCn[f0\Fg5!2#$@5Jld>WF'W$V.C4%n$E^ikIHM,9@"h_F*QlDS? -%KRm[i$XM"Yd)%]d3oKp5T,uqU%<'"keYoWL%AjMr9(o>4C3.#^$)Fd#L2-P,qY)ebPEU_kJLH?q:_E9[_RJ"`hf>!$9[&`"iDVU!RDq;tS!'p]gj -%[2#!s9$Q.DC,]KrC*m2[<"mGg_dPKd)Xg0O.,t<,;&Zpf`?:3[0=TOfqIhi6C/&e`eAWJ0^o2=!$GiHK;87nGNM8o0?WS*pSLQ1J -%pj-ff2(J&'_gZ*oX]c5BF^rW=*=+OSALuiS+OlA+NDU1=)KFKW>-B"T2:\[%=LMImin)hE'bdh$lEWE6^n8=6^])@UA+PM!Gu1I* -%FN;g[:^87`1T4LfOmj;UNM&Zo)3k+[\02P0"b<$uPA8"<$NN:WmAK9IM26a&o]_[4K@nFSjj3W)V-$,,AAX0q\qZRRL)QG -%f0]U4J&jlh['kuGj2Oj?'PVJ'an;dr5c7[]:uZ(^_ocGN5YeNHg(M>4'9rNX;h@W -%+?o"Q?DQiUf`)7.AC/O.#%r6$0$JE>2e@;[Wo*;Z#aDle^*(nO'e;gclV'di$8Hu.HkWBp\cL:@A$:4RdN^Ft(LA"hCXJJBQQFDn -%oUnjp0MOl_q6JCL51n:.1fXR>*mIjW)Z_XM6g`%Q!MQLEZCD7G^(N,>1@E=J]+-8=]R&kla%=T)C0#gGc@\<1b8?[4r9t3+b -%G)p_fd]>dZ?O1@"d254YJi)Nl.T%ocReQND?i9+*jP.I?0<`SX4drdB`(@`%d>!BoF>V9Wo`L4\7<7IY)iaSKHdQRItOJX*/d.) -%Ypgck4#SE(H+)kLL.?^B*F.K`kT4ki_2-s&$P@fg-:E%kUc+SWMrS=VnGu%QjT3KD?I5@L.o;UTCT7aWD`BR%>p9<:%?2Zt0VV$( -%@kj7t(Dn%uZ;g\Z6=\ger+LP%eU!"?$Jhd)fhc@DS6A!FkRjKY(D.QP/7LdF#gN%5C].?::9\Q&?T;`qDlF`q[+<1o^nA5Q*r1]t -%N>;.B>afjV#,)TeK!*[mhBZdM]&MN@\O8>nF.g9RU0mob:=oND)!HH+h>)-iJ+i^0ol'm&s89A+fDiFCoq23WJ,]'>o\7.VLEGP@s24HgTD[[:Sfe"'hu2O&r[n0=L-e*hri=@p -%rGNe4^\^lXr7=14L]?o?nIM7_roJY(LVN`HkP:lVS0:5s(\1hG_9S(7G_qIZf5LP!#"*;!fC.bt-2T^JT7*=2c0'QngSI!h5AsUN -%U$FKTP>=#!+$]!\T,#L]R=P>4$jD(L57hCX')k'D3!a<5/u$W;HU^_bNMCj\#7>eqgU!?-#r/)[iX#L^hRLEoq<9g4(I.Wn=oU;m -%l-"g5PO[SC)DBG -%<8Y/p+Z\n9Q]!g$SCR*HA=NFCI,dG?c>.pPZug4iMj&S/2SpL/Abj>5?Sopk*e603/#`=d+R?$PS9sbu*.E`7KK1%U?N*mCg\4q) -%1\/_pG<]kF7m&c*7!sgC^Mh;Dd.;VB1rnX$b"D2NF2+>Q"=b@Q604H?ei^r"g"9rm%bShS)gg%kWDs0,2>27?i1(c:@J-^!>PYh) -%^MS=";/C(_7#!UK^)%_1h6a&RTO7El&c?%RqBpZID3'N% -%oc3s5)qG3OmZE,a1)Qqc@*;[4Q=*pE$o2>'&4`:r/S8*(B70"5+TV3QGHcB">E!T5qY]b=m)u0]S)TuQ\bbl)Ip*A0>/$ngqG0>s -%Q1W27fV]7sH93'CV(6&=0CZTg\49229M<#]lf0_>a[";d0Dq>d;..VIqa"\AZOtDs4ik$L($tg_:Co2SkJ1tt0l$b>KK@-MJVa(b -%69Nu)-Qa;JLU$>ZIeP>K0@T)PV[`bmI_SOq?a;':W%kP./]D8h/)CKM$>#0)qtn1l!Dc+%HoBJ:r3l!SUs!(%>SQpioeS+,CY@$L -%X;%GSAY4dT`rU4gZ(7ZHV\!JG6gAug^oT#WXC\U7%_*hqA%_7^d^PI1GH4Nl(p0A=@La#ld); -%c.[J*3-dDHRoW2Z&]Vl;L:'N9),!ZG^[mB\lTiAuTKo+=B0@=];'W/ML4/PWcoBJB(ip)FMK^#IfVNrTN-Zun8,O>kV;FFkrLtIL -%1Ln?GFQU':Im,G+I"5i^A,$OYql4MX*tpiY&hht3@O\1TU_thHq=^0/\Jn,2JmJ)*jZUV7\sap=N//Q\?9oRhRS8 -%kIN$l-ROCtR"DeQER_2LJ)@c>li-;Gll'WRN#t:Z?gYH99qCW`]S:j"(usnfn+78,j6)0B^NfYSjrqPSF##,9hmWJ>R/27J4^&Q% -%XQl.R%G_[7`tS(EdplX[4dXgRY:0OJ/Il"H7K.ZEkO]m_lS4XK&fqd'r+etFW1WlCm'A&]C6$6+]G7DSCt-Q!o9&d.+u'B?rG;L< -%fYbI;;L@*Lp'?Hb:W?H/_:tP(@F)"Ae(Yi)4ke1k9K@iC&$5ajN0ukM.<,hT5)opsi-2Ba>[S<[qY]>kg]!`-Xmkb$aDt`Ji>TVR -%&[u4X^%=r;JOqWOF,u=PG$adq7tBgA`feUZ^tHgL(F(\oZLkt,4#d)35q'S#H/TasVfLR')koe61J3P6b`/XN_gnj"7b -%$b>.TLYJAY?_k0Fa!%TB\!(K0*cJg^0+B28QWVA836k"*4ZL;"MZ0>33T@W,T*o/<5=q^-mpPBK -%)"?)E=1(7)DroqZmp!,7Hh-f)V*=K2^uu[i4\s2P!4C=['tJ/]XnJSd8qADgXgbL:tnm?V[=Z7.5SWo4gK/>Kc3FYpp[_eR^;FphK&4anWCd?W_2Ys3Fu.#8:%^OMjFp -%B_Nl2?EY0_,d0"+HNE%$\[8r_*BI*4@C,%\Mk;gc0_$o5]VBQDJrqgH0](Ls&+$KDo^UH4)`(u5:&>3ua082k -%X,kX$gjg#)Iqbu4nVNOqqZAK1`Q(p*3_/tHReAl#\i7o*dck0Kcdrn36cZgbk6N/",GkSPe\8q7$PGDI@kiq;`Q"bLjT2X%a'E7@ -%HcYaO-rOjRVEMskd#miO[Cp/?oc,,&h+G>O^;!\0FS`O/_t`jO]o;goca07jkMkLTT`(oTaGe;]#K-FMc*+0]H0cd=f143Z*8[(A -%/.\7&`=^C"ig:tWO>)Y+DnKEkA=):tT5ISTRd_!MrQU7HjmCXD),pHi:6*)5.".Z-M3HKHE.;&,bh%F3fUnJt_d>OkZgY`_+\s)N -%Nj(Hr4AdN5;[$EhGg"WIW[aj;,Ff$JXDuipF'4Y7,Nc[&1T'q"@-9Z:oDRJ;?c-2J%+QlMfk*90mR2pW,<_045Ve&"Le>I3-D;'_ -%OO\QRDM[*T,:`?FoSOG@l$* -%(lrVngh@Sg3V_)UmZR\*[f\ptj%irWd]Akh$QHf<9)0tbVDlElNm$;HmXsqqsVkG31L-uce'IPN\Q7bn!)L'?>5iRH[U.fW&bG1HR/gN -%:I)-^g%P0rTGhqG6u.Qa=_W?d=o+.CT*DIq.10lg&^I3QPo^`n`9!n;Wc -%AG.!'[lEqV0F`G&4XNi3+>Ustrq;Ri03Zs>Za7u[D9!Y4E`5_:Uk@oAhi?;T&#nMU<*''eA(%%IN,4D@\#,$hD_/OAJg&WEq -%\Dt\*59u$s_aiQ:$3Ys-R54*B2Y,O2?B^]WA)6!dLHd1sH/ee'Haprop?KV^J_&=oF.fo5(9!#bS`:^KR0D -%)NhuHeb>_$+(YiY%;:,Z>I-J'1Giq.?D*Xm_brJ`N)t[J1`:(tq^^AjW+EWtSpc8Qp)RqR!m/eGp2HS/;FaQBH(pgURKHTh`C8"b -%Dm.m6[b':2CY2:/@c`O@q6iL:Dm.;\?XJ# -%oCR!!4NI.E=8R$"q@KIBc`?O00]J16K[97GFE\gi?Md#J`WW;ZaYDi>:$>;<@ia6**8@s"`8Ln;9eJcG:R%rF#c>W -%L#RH)$?Q6\ht#t.4@[2m#&F#_e^V'"%R.G73I[dAFrV(&Jb9B@%?kL+=" -%Ibrfl^\6jL`nfl!96Wr?ugh# -%MgD'9SlXW:f[nofm)a6t*?/_+DI_KI=P53ep@bItdg$#G@#HJ:8J^bO_FuiY@O48!sPGG7_^fnr/ -%:u=UfliBuk[Y?sf4"ae4W!W@VX26;UWtF@$UECIWOE'$k`R,p$Y9TRfL/5=X5kVXm2XWP)cg>k*m6%Y=lV7X*_-36QP(CrN'q_qC -%do\ -%UQRA!X=??JB-/;1,AV_pNH^28+UT7`\>JKt9MV#d#mL[4XEIpB&7AQZ-r\rnSk[YL=Vk+Se$\RKt[;Co]fH5@,4cJcQ^/"k;\T*HP+_,`2 -%LAc?dA5-n;$!?<_g3RW#B[a*$:Zg$dECo4C9;o4(c4rt74B#1X.L@?>U*mq"Em"beNFDbG+ClR4qp3:.JFP:%j7$qPD[bS..,6DCodeL[!('.rh48YkP0U<`-Gf;^On"KJsb(Rbt*I1bgXDn_ShGALY!7nd?^I8*Ub:9m!G['ad7b4q$p:\c"8Bo5FJ.Of+:3=D998qXSCJYNE3-2,/!M/ -%WK!9#fGB"^(loAuWE#X4h1BCpCDGgKA)DH^d(4Tp#9tEj6&pdnP-5CTTX4EdcQ3[6hP(_%j*qO8YTTrM^4X;a4hjuENR?0fYKc:8 -%n)L]6U7\2cbkdn4WhWlSDUAPd_`gE@Jr^R0"9>19i[BSf[d@159'BbU>O-G^b@PV+N"8#-EJ[V(7U`@eC:dM"< -%FcWL>omnm,mEdVpiZlZK^+WrL,T4PQe=/X%F;`mjfbR&_7iBj6_Z=-G2O4pn%KV"Q%1+l&,$TF -%BF%5R48$0L"*_Mfo@_;I6E7Wt^^F:]4RsQ1q_mk)8K%2DKTj41S,sq&)`oJME;Lel`n= -%D0iegaH@ODdGdc=g>n=0+7Dja"N["Y161BsEn)J`?oTD4Jfk&FT_"\ih$eB,_.8pS2+3"6T*]:H5q7^*,>jFNBZ#LiV/G*H0aB,A -%9K7Dl-[T;2:s27]ljaEN03";Q/p+XCG9GeF7NB>4\.go:F0WEH+N5bk<0kIh8ps6:)D3YF#*[E!<[*QX;<'IqVel-Wl34dDm/[i7 -%F$+A18%dd0.G?!0^mK;``:$$D8))%XRZn\c<[BKOWokZ,RubF'$p_5][?A?DXjl5%j-Jp8%s7VYb:0B/'0CI] -%bUI%'!VhOKc=Ohk46&DEgji7B4S7:1R#]O)'W#Z0peo_265PB=7]sMeE+.>2"0gE.hm=86Ee(!2Z4?dd4+q[l?.VJ&H&Nd(E9'm& -%>Qg"<$^Z^'V"5^\P8%(\3%#mp4QVjVTcnLt\Ut$FI8^iDAg`CZ>m[lk"BFB4`+'Sn^eKtZf)lnGdAOK7(>I"Z*K[%2JL81.P:CGg -%912&L#cB:[,$/XDU7;+44"*[U)%DTOFa/i^RkrV2L_84BSu)dP1HO4P2hM.6kXZ;Q[;KtnjF`K[2NfYN@9*s+KMiFGRBbS\gr9]F -%k,EnN!C@O]5!C6A(G^O<,9uWlQj0"hAOdoQ2OH;aG]"ohH3Go>'VGeolnF=_Ed@Of[0[ln0XpfPAKXGP`"P^Sh*N7YTRBkt-n -%cK,IHK%llK?J+X80F)tA<"t]+duGNE@MrZ0S?Y[3EXrfl9s]XH)=/jlis:\jRFoM"[+]ID1cX-$G#a[CDEeGj@(8?1Isfh`'1NtF -%d)>P80#8,oEtUbA2)%)0A$09\^^NZ7\P3gn6@6aT[S.ZdV\;r9Dc<]J0rg.j]8khllOX2phA$OXr*JRj<\Se'2Q-0:PqI7sB,aDnb]66osYlaUV*a2"r.,((DE6KM6r#Ok7o*G_J -%,01)S`P:GEaS[5RM\7iaUq%Eq+h4WTp69PO2r/F\cgl(%Sgr"6B])8_I\-H2)HaK;VB -%,VF_cr[&>>r;to%7Z^=L7uelV??q9iN+0('9ZCM0-&eOi(B^3BV3-:$hWX$(l7Gs(s!Dj'e>G5+YHHlpDRqh3ra.EU,Bpr[gj>0: -%F,+L*;`nb2#9,1N,2ng;.6!3,grjSV_6jHd/rC1f+aDU^C]cV4Mp<7Ime%FCpS*9N[M*=>K0TSHT"TZG\4mRSFS+#KlC*W(nJnAt -%_p&rc-Ts2;8XetS:n$)_$*^ZJ0g&i[\=%*Q<2rQ=aN0gd?l7N7P,Kp)#cjUM,E,QQa?Sjp:;aDkkaYC8knHQP%2eE3.-LhbN#:IPW-QtiSdp4Ze%`*UM%B=e!Nu7#!q>@28Jp[>>(6pqUP_q -%31m!^uST$*:I-#)<8(o`>@E()kLYg^`kI$pbV[\TQq$Ka;^eY$Bd]#D1_Mk2"D--XmrFF>kZVNi\^( -%'+73T:YFjYe\J]\XjM$6%2k1Hic\VOQ8O\V4%fW?-'3D(1_rp?"k+s59^X#CNI?m9<3oJmKT&!`%6&3G.`m=3'd]t95n$^K>/(Ej -%V(0"I=A"5mJq/)2fbb0I;a3RRiGj0B.g^I@f8<^Zgar]:aU6u.MImK!Lsu?O9R_#O/.8TE&7hBg*]cscIsWPg,r3)5f"%^GL-+,7Z_6/dL>C=3m= -%Be#SsBb]lb7oGT-]5fb_>R)Z@86/?noJB'ECm)d3N]Sm*.P.nT+i!JH9Db!*?G$`=FM- -%r*JCWDO#p_!Z\=HUFspV\1?Jg-OW'EiNp>+$?O\6sQ:Xb$\\a:'dUAPbgYL<^B_iuWg(Vb@i4]XT'm#\9,IMG,cnO0_5=8E@F/jpigsEDUk3C/Ne%A=#Un -%1<`IXiXdP"&ffZ=#obej/jX'$7m8ma%^[R(Sot@t9$g7TZ+_\7T-b,rnWZ6?@`F+@95NI5f/GH,<#DG5mNi5sLW#97fh7i[34#+*DMHm$IL$V[ -%q(GQdJUL17!g@%%.F&EEV5pYJ1s">:S,cA>dY'$#2Bj63c]/e<"75I@J;osg4NsoaQ>CG[c"':/+#$>&epr<,Yn]Q(!t%kdLabd_ -%-8G0ZGPDt(S?HJ@_uW@8h8%ethN5l'6W7'4WlL(8\eUff2]2s9)a_ON`[st]$mGbFBG==>[\R<9aGh-,?W2bJE#]SMjGC\^GZ0uM -%QDFXu^n:4)9g!XN".Or$-7I*usBNU`FRTN]LlANWj+-tk7f8pCoe/mTm%Z5tY,7.,[.@MkW]'s?"4WO/]l -%;2hbWYUJ=^U,,`*]^N*LB+F&5N+'4fQ:NbmA)KD$@kaK'9M*"76MLip9A6=!Nm/#[8qE[sdqmN9TO__MRsSIIF,?IRNe=J,!^I+A -%0`&Bb@XO]OIXJ03q\LK(ptsRd?@<\[fS>h6T/*)_E,uNsGpn@SVKZYb7-G)6K^L,a9TTG.J0ub1h#O/O)_(%2b#uKapY[NJ(t\n8 -%lB_N),J_Xi`KW\p#]?kB1:"D0O]..pO6Q/-\KRJR"<>a/28`04OuU>_c.l!Mil@j/G@N2*]K3Pc5)d(*OHV:(U -%S"J6E+Bp]j\!:q',`->*P6IhjSRSa?`@][i[8Om(X[^El=pRmdlf$m3in[["E>C;+RCWDXL=kK/%O-6XlQF."-a,NCd;(b)_e*!B5#!1-r_Z -%1LHU"1VNo[l5^arc2p>,r(r[<;**k+d\=rAQ3.EA@Uu?rR?k'$2),FJLR"bM$\KKI:M3OUm$HY)3$5/LB\oQ -%/@$qHK7**-(T6eb=o`Mq/Rfh(>X#u6EZmuT(=,8p/!aHMT_m]0U.ZDB_8,`cXcOHsq)D=nmItSXPGFno@BbB'DnmdaO+BB6)*)Ed -%L)o&JP/O'mj(`0?q4ml(CM)&Yg#eet)h>;79#%$rN:\>`BtI8^`ZV0*Gj(Ahk_6>96[aVDfi3+7jQN_JXs0 -%@`C6F!%2]]9:Q+"KNrN6=\E^=R8XI8a<(f`a-`-W+?Kj)SX7VX:hkS3M,>HZjNY?"&00)Y"#kgfls*0AQne;/\R]0Khb7!mrj`qp -%^1CmM6!W@_m:u8gUuh_#A;SCV#8YgJ3p`JhhUNW#FS^e#*,-qDlH@3a/O.`*K:JYVTlaO[*fGBh%T0d+_0\B715r!C[3 -%_e%2*at^B-!_Gk/Wbgi)bRbDO/=LCG3sbRu]%"\h)'Bg)R!&UL,p,A\WGa3$DPX?p -%#=,SN.C2Q;)m@CjTh%&6(CEMuZRgp.i"9P];7&W)>,(I3Z)Pj()'ful]ZDe'&qCS]s#FFAgmO`ZTtt>U2Q;WJnjD*4?N<\?UQ`7\ -%Dr;P,D4r(d;FK2IPYI\-OsY0*7p2-e[=0dRCIn_*`h_):!LW^H&slrCJ0[]KI3ESD7U2/Wa(BBZQ(>rJ%3>npN&!5k%%M^4=VO`l -%<"aI&k+ml*1`3oWC@LIRc-gN]>.I'*ej_<\hF:hP9nPWS\5Q-r[0$"4APYO[P,-TIk#7JgO[#oGJ:>k!E\#KIA#1paH#JJ\LW[Pj"#pm`N4T$Ua8XYKBEg!b'D`![ns13BOHPNJ6).U:V92^![_R?rmKNd;p]J/#AUSZdVTbII7n#(K^f#klM)i.O]ulh%HD, -%$^0^"7%>+c&VdG>[kA3+KJ)Z];1Bq3+cZk\M0_+0rME7Ot`0=Z:8=5p')9Q3nVO?e- -%0h(WZpIPp^)'q2OHkZgRV+HK36`N!(;;uqaqB]Bm8R[e,TOFiu9]o#fMo[#D(u$4H,gY\m.f$I]:naB("MQpi^O:`.%?hbi;8g+j -%U+g2m/&HVnCfX%A)C7S3"Q3U%8tEcj+0!BTWW3pV'89n[m[(6S15^DF5]Rq:6Ns6&[rY[ -%9Bam&Z>T5MX!)fn1;0!&D8SVcj\%@P&"j3*rd[n!4 -%EeR)R]_Ps]a\]E/0OY9Z:r46:/3Y13-BGKIi_1@Vs.%=dC[&JRh@nB=DUF/=KEJ*&+.XhUZ;Iq[PfN@jHI3S2,X4c_1G=$B.s&=KS7& -%AUa[9.c,F.bJb.Jjatq#UM*R?=R'eq-AeDZ1qbp+l!t-lBNE?:r/>tu.*37)^J*>jHAch)Z=1p!/"&E5Z&NcUF-7`dF8#YCEfkB$ -%RMtBfZ)'A#KU8Jhj],i/h?nVTgWak2*)Kg$YPRpB_i4p]('25qfI6Y4NDe"9\QPK6HE8j$.\[+C@I!H;bf1Ub1r1_1DkY4ZF*,C -%rmegK^n[(Bi?0G6`/O(4-*`RUUE_pTRMeu)G%n7r;TfK[96[1pF\g;F-0FAppCbli?Fsqd\^aP95(poKoVD'@?iLEcQ -%Ym:,1jc%K#-MHAalPLWa(,E]E$of;C(s1r9 -%%iV*/,MY;_/J*'TQkBt?)L/eQ$s?pdsVXd*5a\'_>n."b/bNNr_AtW@@-J47>bH@ANFj0leKLE -%25&&@:<9#sAcVGT_\5eiOkh'=&)iT*a"#2a_V"6>HkW/BOIZ9KDoC*'s -%VKm+qT[?GWVGsl8g]gm%g-N1K_X4B6mU?`K=Z]XiG_IlBhE1\]k;hkC8 -%;?-trr\,d^KkhBM89@Cmee/(_ltQT#Ta7rL8^,H#/E(Y'$5Z$I.\QDA+cnHMYZqY5Y3gmD@cc)&d?RgY,TGYK6Zp(?:1:')cUXCq -%'75#6L&9(/R*Sq2o0II'`8jmHDEa@AEqL!8&>j\9:F:25-*^=h%S1:FaQX5m-^\h/],2$G:]s6s_dt1g?ou$DK&8W[c,?VE2J`UHL^_C*&RPY9\3NP735;F7s:X8kpbd;m9!-?b+^oa/r=VX_3V-=iFkD-dP1 -%#bu_Q9D*0-2iYf))p0_ABe1Ukb[`U&Q]3K=aCXE]q\SNST,m"K"]P>Kq61#:2,+T4O\FdpgMMCFt$R-5VA-\R)1Znm$qF*6F^ -%)'Z_1^g/BHTl7["geJN&JW0U/.0o1-t)OnWZ1Ia<@1Db8^gG8Fj)W/BFS/r4tY2O-YoH/G:NY8pq)6VV&r58\13"dN2qX -%2Ham1[OLSAf*ZR7q)C3pCPGlUKYg>9]EWm#>*d:;2R*Wr`X=:#"?AVl"D>*D"00]X_M+%jFJ5\20Q!o$?C,I$N@Gl;CR<2rhd6h< -%s"^%3+unSM;DK6[YE(-aj!AO^"@fqP6#$2Ti=O9Sn`ST]b^.C'53btKtA`/=Mn -%QVeB:[l_u)\54$lLcai4nk#=cYnKnf9[TZ/J%NRH(E;hLb\W:Ka.j9J/bHmF^/;+AA.E#?&FM2U2TOu/d)B@7CI4tDVUT+TY3i3i -%G5Xntp!9Jl=#M.uHOotTXl8g6n9JM+D@cUKWW9X)FO5M$m.A>hrgSlV#N':2l1DkP?[hP;aLl#FIC]7(UPGDCY3O1`DU\(.*W>X, -%aj/@$X)3=Cmki(U6,,.%5NgSQg@]rAh7e?KTfY7#llV;CUDpUF]&;^ifI3&"*d5,s@CpGMnCm9MrNUhYIuN8,[EZn\KDe$hc10BC -%\DP_ZC^pBS;7jNB>NiiDJ+9\h4a*G;(h?tG46+_Q_YlsMQIUE+Q+hB9=Dg=Zg[#t%2YPdNoK')]=@&YP6709!+,O^L(uk&2@\`G, -%!XeDB%g?en<']HIh0F'$Y(-fo>\nN]m^0uh'sM]>DH6#mU<,g:k,A*_fPc`&%u9PeNnaME'j`JV5HfY#o.fPQpRX7_NHab>ni\OO -%?9!q*L\o+t:"T)djQorhdA"e0%AETr%,7Q;DAD,^"j[RIra9s*))nHbNW>o<.JL-sXi,RsdM7J\1^r"f%-HkDm?dEh0^/;uEB':. -%lLa6McJYWaClAV:$7"Sh0(p"EoV]gKS@/[!c3ocj_==b_IPbj\*HmlO0WKfQ\^-W0618J@lAVcaW_;hktQh)Z5",[]MI_ -%"gE0M+gL8)NkAKf:*k#]*VRd-pNW,8>Xi;2Jr)9%\*g`_FW/W!8nqs?r-\/;j2\_j>/6oQnS$EdoXC^hi*u#s'tCAGAUSK+@A07I49ecdW6U(j)LmU1;&n&+D`=Dmq^?O]M0m_"W# -%*OVB_Ni+Ve8fjLpnm-gco[k1.)oM&/Il)'8Wshc!PB4VpWfH"iIuXa3p5'@QT.HtXTabK0c[6XZW'HRXk@iJJ8m!XUGCig6N9^D! -%o@,Ld%m'[Z:,OE;Xg@?5Y+)FQDLGe_V<>^4$!]THi.O:FL#;3p4@75#o:0W`A'lPe"\%g\W%\cZke(#t1$ji0HgPg<]sFPuB&1c- -%H)!/qF'M1SG(Stnn=m#,go5nDgN1<,Jm.qmRe&4gK08TKnk?L<(NrKLnQp*,fYpu5QdH(&M8OXB[%/T3iL;`%E[eDel3lmr*02oC -%`@B#CF^jBAYtWo)6$I+sDL\Uh,I.#p9^9dkHO;:BbcKfk4tA[1'uu!7BQ^nG.bg:_A`["_lRe*A?c>OGk^r`VU9Mp5I+0[BFr3,@ -%S`;2g!u=";X`lH]3ZN5HD^m;,$YY9"825:M:,>m1rA`\enbZ=Pr1t"M'p)RGd9L72=`dYaQ(VOD(S>D]7cE!!4aV1_LG&9NTQ7;Jf]#Ee<#Lmb./kbZIhfDZ[LX>UI_35Hm^AV8 -%4CI8Hc3qB'(%qZ(NaMUGF'`_OG=G*Y7^LodpW$&J7n^DR6oFnO*Eocmb+C8r^tR\^E6tX0cqL]c[4E6p:9W)tEpKfQDugTXD57sj&uBl9,#P?_ZhTj1`Go69 -%FX5*5^2:&GqP[CFb5",cRhmLhV$\sc0:XPp0T3XG\r&pZpuSE*C:PUp.*[YaMc*-$/Uf6CPqcEui`.PPl1%usU+FQP1FE06'oTBm -%k/'QE7B(m_iic4[=HnN%Dp;95b2UI9<#MLNTCq@YMme_n%Y+LW^U<`3c@UtSFB -%>=l4p;D$Z9gAAgXoZJZ<.ZiSq>Hpi/!P"Rf-_ElMC)U(p_.jmjVGW@d<)cd2U(K!*0.I,N#%c+R'DpD:^\,82:V6M:gN^L-M9g#k -%U\pV%UoV]kX3/o+>/;W&aS\24]2sIF.4S^Q1>jML\/44X[Kcl=liDW&1kIZX"oO3+S#.FEN%ggIlhLW2MZoiN;7Jp!_B=" -%aY_Sl%10X+MrZX27%@)408nhr3pCj([K!kms'dG9Zf`R=,KY&5OgmJ3pYHrk[/X$,>d -%nKG(/Hrk[/X$,@(C2an7c119glO:C*F.qcST,4uMDg/gG^ZQinmCYG!lN/#"8A/.,^#B:[VAN9/$T\Lta.rA%TW_G>IMEH$qI5#\ -%Zcc'CY0<.p0qKaDG<>b(kKVrQ]?[)(*oA!H>B^=i7Xs^3e]NBM -%nt3&^B-3s@?B?+a=8oPF;jQDMgE#[aI]DUL$HespF@e"@eG.DT*KR+(D3koQ=Rr!<2"s)OT%sG7p0;*+mTY$Pa/R`banG(qqM_d" -%G(CZ'USE!2/+pf<&Ua)oOZ$rMKV8?Uj`m3+'!E9./'#iJcLKoL/Cs@N]J.A*Z?!UZ*%rh_ -%bKB@\EkEru"aU1i0ARMKM.PC1>re"leq(3o%%a,":d(Dt/EGdhZpj&VjeIT-J,-?1(g>\$s -%.W]6fA)_P]P8EDJOt+"8rbY4R(3Ug$MrQfNNYa,Pdg6cMKjQ!)=dTt7KrhFJ0)X_=b/!Xhe6]Mio`X9$=Zc_clq=h%]P,ubr\\tY -%Fq5Oo_;D:dC+e;@r!I/9QL\#Sl8\YbR`lL!MJQ"NTt-8;J'O+]Wo-_4[T-8i]Pn]-*/rT]@&%/BZ7KT/_hs\R;b[e[j(sA[f/\N5N]`>Ae#q/Yan!9dHgA\Wo&Hn$2")BPAu4DD=si=`]LVcG.>eX,r*E8WC7fQn=j`G6+JVcE5=$PrY0i -%kC+H\>&T.T.KXDED7L+!!N`hH81_>8V_48u6cCk7M_B$GJu3N(d#@Z<+X3Wl1;cl -%njU,_Zee`t)L0XGV=QEG(Mu$c/*)4qGP+m's):g.]EZpmm#-s:LkuISFlPieG?eipL.\&DqK0J^es`.EgLI_S*-g-4kKgd)1qr"*A6,.gl"T9\uV.cQeU6SK\dY[+.ACo)bV,iI+S.#@+C'th0m.s,FZuU>> -%QLe8N#NG-XZp!A55b[dYX2_A"54#[-V.3j^WRgHqT/Sf0Q2.ai+;\al/H"4(AN9[+CZ@0rOB7bX/um?@2SrpK`oBa>Z'65JOV>%'Y'=02,X-9*_CVIrIqG%EY7_M> -%OUtmj`'g[B\UQ"*,09Zo1dA#L*YpjkVX-0^FVW?6/;4X_Uq[tqLf.GH)0ce1^+9Vh3L9;J(?[9XR(/eZi@\lNO#']Zc>sIII?'8G -%Mi]2oUOqU:n6%N\kGUWI`6!?E?9#+!VMd@*e3C2Sua*KB3Re#cCIP6[)0ZIoqsTBpV_i5+02jQ1U[p.bJ[srk8G=L9H6#) -%r,UHRNt/2FUp,A3Ij&)>f"6CIPg0paR94^Ka2tE8AMMo)g\"uAhDW"%Z^EerB]5I\TI^JC/mF.n)>2p@QQTSeI*A=u#Q5EDL1F[! -%5^Q93rTCa-PDa(k_7/-:3rSQmQX;j<_KsGLh=nV]6!*elZdl'=CqL\q6$RbpeMb2?,-&?Uqo^XQc$rUXRJrs&B8JOXlV&X>CnlLF -%/<5lml5t!YWAN-idPU*CWkE;cB,E8nqE6rhYCHMM@=Qm2<-qO?p%PE9dZ(qhn`:Q+$-QFVb#m.+(2(2fV.r/Do-gTE/Ph3?<%09_`j"sAC3u5!aM99odS?[AS8QuM%F/:Vlb'K;l&qEh_(GQ^A.,p39Rb0Qa+Pa=)^pp!, -%Qoe]UU]WA$<<.+uY^2UU=XY9?\VqC+7@gb':e+TeHNQ6@l7aYZ`!Qmo*^QI5edRZiP3TTmMG!08l>/=;:* -%LfAs`6`6/"_t=/ZI0Va9P3.6'<*;B8_[XC\=/TD0T^T5F*/?1t$dArDqO.T6*;p?%;Fr/=aO<;.dS8\T/4BR6OfV"C0RdT#P#:ifX\">Qh&F&Sr8fT])f]2?=8ZQn'*QsYtLdm@J;O>tN8"<6FJtAua4c`L70LL8:8FiuDoD9GQ#tcdF.7iA7DTk&legil7EZMucUUTa*iM -%-<_=&TW2Y0Y2<5En,u.#9J]q[PaTi$GS]Q7&[QE\e&_[afJ>%"j1*`O-\unt#@DrM$=pX^f<$^@LhkU\e6`.p/.PkSCM)O/688f\ -%Kf*8UeXSlpFdH%#n`pqJRSP\1]V"Cg1S2jA@m,L4Lh&7C%Kaf!>$oT4\=l*a\Oc[h#1(nrd^i>>c[b3U=f0Nj<-i?4Ps)7CNUo3p -%Ps+5N&\Y]4k?=Wr&,S$P&jI9Fc2Q?g<(jC\l.&TdDcW($DDk4(;N!0!f(;YpOsal"DSKjD\i(fG^<"inm<1QLT:sga*Xt35+560h -%c+Mg:87"1o#Hd=7[g%J&^/,oa7$!?i/Z42,f`QY8n&m@>`7le,:1]ih`G?QUa+OBJi13oL$;/NDa.TTk-Z5KPR)jkc'%Pjk1#eY8 -%1UG4JpY%J@Xan7B=kh2N[$LAsi[G/+:5"f(:Cqk/W -%a`Z=?UTQ));iVo"3^c5=;p\S!$_F_UPKYS>:+W'=J'p)7f(t]O_GPu-CdA@,9[]C88@^*2h3>3VYs.TT$U;+Q -%&S;43"q\_lIVj'^[G*Rr5,5VW]'+(Ap44*b^ZpH;hl=@-2HlZ[SiG_aiQ7&fplbmOp02Hc^)OZ\)d6=IA!pHY^[BcVWpiX,jK7Ro -%YI5d-"agAYRGlrTdaR=nbX&@SX'iXULs_\[XRM(f3pEV'"Jm:$\_4i@Z_]YR'A.qkb`uh=4KB3h!ljThLDsC*aP'KNRrIk@Ju=,V -%MQ@K]8Q`2Y@cU8=5jl>ZnZWq7>@fb,nZ0:Y^7rL*Y`Aa47Y3BgHhk -%/7qq@6Q'O.ZiqkCS]1#p#'-dIIVohdiQ4YSX_fL9YcO]rXtKIMOS2N`5LXcn@VLqSd%`Rd:b35&#-r)8ItXkQN[Wi]^c(EUWNWc_qZ[@&J2!/(uIE&C5B6"S%k_Du;J8ZK!.Bt2=%ee"+ -%d)o/+/F?0V=e,.Oc]h^-O]lX>Q?AIB#@9]MbO^DU[\eEWrQQq?!?So\38,aF_bl]hs&a]WeFRnh`mG3Riu&]74N>DB@VDcQb!,1q -%:O+kD5OhlIa-jtO:;U0f02?$"KWWuP%?`MlULu2'>lJ8Li[6E.`UU@B1(-rRZQ,trLKs8hQCNZo#&rQl@4M];-M+JW'sWa>fZ#)C -%Bpupms"oq/%CY9VE/jJ!Z=lG)nU+SQNer%AM0Y+uAbkSS0l`FF29ENcVEtU<.#2O9MlDMY(?RUmjuK<(V5I,3_U6j>)blg+dF8Ia -%'AGL%D&d$NR9#WG4rk#$;l=CfD7W28Vs?0E=ieHo(:(/m,,Sr5Vbb:KBp(h`(1*eJ9_"%CM-iqDPZZS27P&?fANA7\:S3f($b.Oo -%(DE]^!S=+kY&Os'35j@R/1Wr51'T@=)U(=%l@d8_5dg+',[AgJIaJOpLk4UW'/D7jpPB_h:)d.mD,B?$6'X5;oaDi'(cW".etSIW -%qP4Oia&Nm]9U`&.>\-?/iuG3^7A!]5QHVRA3X.e.;10/rTn*k,Wb7jD,f,I$f[9iiYMHBl'TSkZ.eKff>u7^bg4%>0Jr=rY\8[cN -%F^BC"-(WA4eM`I>)JDWmSI!e^&5(r@`5#oR@O)0?jKp()jr/Dh*Ft!G#e.?3MP2b,JsW]5lj]Kl?Z&U8'"[n3#'p+YT"2Y8T -%%4l!5RLj:Fe?H%$KTQG*bjeUgE=RZkZl[t@(MZVC.!#h!Md1mRigS@hI:%baQ.cRQ8ZlA`AM3QecFtl+Ruj-8`#25;Wnt-$r!;B4/1@H[HH]&r,o2.;AmT%Q'.XHD5Zeo+YL]Rh[Ejl9l3>$a9?"[^FsNQc9c\S,X59GGW=(5Oa_hLVsE$Q@\XVm4P@d&)gpgn/L -%eg?!JQ5N;mF>HfiRZT_76^Z:+QeI&@F)?QMogAdJY^3=/4gT%i[Q-947[[l\bXS6sY#guYb:B:O6L]i(Ej"RF1WKZ0=r0bp)(?Gm -%!seZ93)#E!a[sbB73d^')t$[d6u!_kR^TJ-h.dmK>qnLb,e'2]5GgCFHP:`@7L\D%G\AeZ\mI.hM2uhK*8s1n%4JN_e&NgoNo]f"/5clTLJK5cYopO)(6*j$CpbgU]!e3X]uQSD9g+0\frZ\XtI5&jgkO=4.l4lT?%6H,nHL[^*Mk$4l7`sIkXBfBfaP6o52i&4a@&Q2').dBOoik!:dbr#L)=CZ_mPlP6h#UX# -%APtc!HtR/(:WDK-dTj_r4?d`N2Cmc#!^h>tguD=ddg/i]1t#gI6?W[_#h^Ll3N0k0LK_k'4i9sd0Ntd?,2j`;5l;0g`7G&DMN^0m -%Q0qpU-@T3\UEVL^>R=*b^Q0P_6<7bJ"FAdWn4q5L86KMf979,VJH=u6T@qrf6&/BUuul7 -%]Yap$K,d]6dL2%[SGupFP=--W*s+gXH[).S+e5JsN/M* -%JP`Z@TYHk*H%?J[&b?(sF23>&!B`mN*1Z6O>72kBH^6%o7jLlZO*"3T-Vr)o#Rng^U9Q(1G?H>Oj:C3;'4+aS6#:4:P!uB=ILlXf -%9Rb(9+Ud?9Q!G-H*s+h#H[).[+e7cT>72kBH^6%o7jLlZO*"3T-Vr)o#Rng^U+qcpJLSY"')?TfUko;57&V*q1eaa?9R`',8X]L= -%`]_H099<4GVT"Z-JKahP4AYqf:A"%X"dJUAbE5"S,Y.h6BjXFs*oC34(m)L+A+-ruD:I^L8n:fR2dmFN5s"6` -%">=Hc\OrBpSnj; -%f;abiG8b^dqP^FWaR=\*q@gLq!$Rk'Jus=P"[1$<5_)FD!!9OF8r,aH[62eH^]Z-Rp&3kMG^(nBW;bo`!-RD_!'&Li:Ogg0F&emE -%SnlOP6i%&W*<#JJU'S1COq'QS+@"g^+?q"iej8@')[h3?q+EOslhj3BH[%df<.T+t6[cL9I]$KgamV(V>SX3Ck8Ns-4S]:i+FaYE -%MI:3Cl*+Y$ne3&Jne9G[*CQL'Yn.b8^I7+fhHqCT!;@0N,rh\@C!9$:3sE5eIT4=.oLH;P7t2&ne">P%qM0#6#rNM3&%e,L!09^# -%!'Jt$*M,M^CH5cV!+dXHFoUG$G^(nBW!;Dh!-RG@!0E4H(]dOUF-WE`SnlURF!KW%q%:]aM'g_W83Q6B@0d.*_@R:<@3n=9Ydk;^ -%%RGrsAc9A'"*!4WtMaN#PH#o/u0Q]/O'@ZQi%D>`.LZEM1Xl1^gIGjFP`FXiFFqM5)aIpf7'o;%7ilc -%!^.c\%2G!V#/EF2ru&mKV)`")651S3g\`oGi.1`5&'0tBl]ZUk:%+;4%>DlV9;4=k9?%-kCh.p64K`,\6EJbcQ>K*C$m.-X0mp[O0jaCrmF./Zd.5[YU8e\\DbAU.ea_cA\@@J3CS7864X!hn/Qf"<\ -%ZQ!m;Dg162dqj8)U%t3UR_0;?I.K(>iH[L6F@>9YUlX1>c^@.o-aNC(jEom39.=sPk"V\5gD?JKo=$rVF1O<#VZ5mb(C0H=`SF4AMg/cHf]hV1C\hQ@@[O.LjlV\+T?9;gG06 -%\$\GSmZm1:njom.qW\lZ>28gAK$i./K5<$&$f"UO1kV".'I/k@+'5F"_'P^rm7kWX'` -%B&j'k/E\A/3E[jr.V[(MK3mf&iUBP'kIN*6`H<4($Y[4O5SANiacBc$@d@@Pi`/gH((]R:P"oHjfd)sjB3^oB1$-H`=-K$[6rP8m -%mNaBh"d?)Nq)b&Y.h=Fq4bca"H4&ic&t;^$p1`f[LNGY"X&:ct&PN50t^pC>a]fR#ZJH\C=2tn4j"cjeW2t,KsH' -%2A$j.!LEpN/>n"aB9-SB&ZEBKNPSUO)mB&N:B=e6<][DTT6ib@!W>rD%&*MT(n&p]ogXs3d)jn[WtZd2!R -%qm@)";6PCR(98EL[WC-20n"-sGS9[+ZaVl_T?9pM)WQ!jf-2p'E5,\C9m2atf]%QA(R!\a''*bIVNC -%<0r$1,?KIdn>#G)9$PVKQEZJt.UJsm$ElFcC7k.Kf&X$%bEl&:CGRF#[<+rppGZZ[d;TdN;E,&`Jn),CodL`ui]&=7GlmeQi_tuK -%9"^MNG7jNTa#&/N8%cVLMR_hZYKqk`GtdX1ZV&p90Tg^JIg+H[j-WX;C2&mTOM'V;Qn -%HhTAiLnirHoPkhp1<":iVItBi[5->],ZnnSI9%1-Q=HiPZc<4%NthmV!+DqrnnZi1HXDF3+aA4B$CU6;\#6.ll:=L1+LjYLn1oKG -%HMPadBjXWK7D5AIj[dji8A-3iMpsD?:2U%>eAa3qErdf8+'+anjmad[@#2oR'JLSRI7\%,\f2i%0)mK8("EUt1S,I0\Sg4c&dN[o8N9S,QE*%E,(MO=G?@4>LT%<#,\#+X\U@mac?)X5sg8"77`VAe%2l$21\SU+$ -%PFWg^=QJaYk$PbOR29%bF1a5OG'_AV$K%'5bR^hV1+Q=l9k&f*XE!`dmY&^q):r>(e)EZb[17AGl+s!-'n'=YnN(GeZS>Hj4]2Wj -%SlX.#)DcU;4O\^D%o3fEHO#*/T!si;KFe0/-O2QG8N\SW_9uccQMO"Y'H:Fb:Vl]@n6JrT,!e",JQd\!@QK@flWIb9NT^.>N4'FF -%\^`MZW\lg*+Idn]s/^h'"=j+4KM$Cr' -%6geqU+:#bM&qQj9"<"L_g.qj+?X"#^6\pl'-^NG5Dr%bj4`fs\)!C5-RAWF?XOStj3s-f'i?CGLTLQqV3T^b/;1Q?jA0`U7V`c!t1ngTt2N19HWg -%)h'$u[V)cL#;7"9UK*.IdTZ5n8b'#&b?,$d3Yup%Q7U;r2PJ?@H,ru)!aQnL=:a>9Ohp'-^=p(L--HXDE'W"[hr1647kL[J7#0p+ -%lNgi^fm38cIdKntHF#DDG2%@QmmbQlEn03N5L;'A#@1VAgJi6sF1O.Zi(:c+oM`o\!5=))a_a#4W$e"W>[3hYPeDhn1-\tWUh15q -%mrTMJdPP^u:o9Y?gX0IXb@7350`0IaNG,R"O&b7kYpPH+G(jnK`$@)19kY#IDCO"l(rh_-N&rDh@(*saXLG*(__3L.CJkRZ%1&56 -%Td#^L&PBqS_//"sYb!(6]N!S]C@ta48s."\RXdC-'O"H>=@tW%"=f&)37G/;iqKY.>/`/pM5BQa`lco#\7g-6U=3-CM:D -%11pM\'B>8+G#Z&sEcJSE(cDo&?5N5oUa,(*Z*Xn::!epCK3%VRN;D^B)E.Zs3?B9`U^Mk-)F\JN/0Gu_N_)!WP%$B(oR'5E[FK42 -%$%$$croFX;l,I.T)5)q.qc25qY_ItPY(.o;,;6F@#+%2k&["P(aq5BK8PGu9Q?FN!MNN]dBgm+P^RR.3PMI:2J=SeS"1f6V'#>:6 -%E1+4oC@ti]la$aEB&p,"'UWu-D6p*AEJ_bBS/mg=r+ES3s-)nKE+r>=oa*#.&UPF)da6`-V]1"G8l-RXHufW!^tA*2$fILQ0EIcB -%.C"GPEB6RV6?H/<=bgA;0sq+4AM4nk;\$1cFsDqZN5mB?[X7uBYo[]4cZD+FVo@,Nd5)t83",e+]GmI_uNpan/>sD-e=78QUDg;$ac1l5?$."+GC9+8`9I/aMg[=`57%;m="Z/%YV_, -%5^,kk2Pd]Oks@icGEE;VY$&8h8FR2S(?ejRQSL-,:-g+G.\TP!5Nlh^)/a)B3EMS.I^M$M$(KA:g_d26Z%=9efEVN)4Ifk<5rb?I -%<=Ma[V5Fr$>8;n+bTkk@G\:['nIDfJ6>6;&Wdtqkp>jCgC\t*=@6KI_R3mLURY4T'1"7G@i;uEn198 -%//tMQrFqBU1E&]UX3O%!Y84XmZq]j5S7Db_XFJoR[Cf27CJu0J-3bQf^5E9D0IE>8f^-kV>L^KK5*cE-8liqt`%gb6ot*8P<_O-A -%^VqmTbi\uu3P6@F#i-pph:8hQbd`K_O6VkYeVrrk;bD$G74qLX`aMS.8^,q\]4:n2H1eY!;0N*cMm.,11@@=-5a6Y -%@5#m9a9eqp)r"]p3q`ED3aM=_+s4Nd3?]pCD082L?so7j&[\iC198"s6NteP$!BmG8'l_&!i6dDI8$'/(k:6ss-%Zs(_e -%B-_UL#IBb-mnBn?Ha37F@`kh;=r3mu#WT5bB5j#qn"*>A&61Li9XSBJE"lV/_kM[c#?uJibMkrDWdn(oXKn^^b+l@< -%fRos"HX4N!]O?!"lrA38m";fY@0hd$,L;lk92IcaZP[bu\JjjIG:dXcJ]Mbr`$Xn..&e#31QoJl!#Ds/TtZjZNJ("4mj@RTP8H<3 -%5]'AgjToY\esr^%=1.Cl3Hr5FJQICPH)0Z4Mut-BV>,\;JKO7\V*@bf\&N -%`r9"K\1qmf:CNgW@C2gj(M-T\]Y0dpK8D$\46_Dh?.fqs+)!IchXYQ8'Rl0U=V7T6!\&c5J-GFsG\Su:-GC2rK"^EPSWD;`\>c8, -%bYZ4)'dkWrOh"6_^9^C51;9Ti2/9Yj`to.(C.$:!?/r!:n0.X@>IS:3LuAo,0,.["<.i,#`1*R(ueX**0A9Rp&!NH=/gMH;UpuO)@q0? -%;Hm0K##6Ko)VFm9`L+ -%me3sbcZjN`DX8APR`D2oRV?73?5S#Q25f$@MGKJ$cD1[Y5M#\$eg\D'kHHK5H?7e4$T8HHD1P7d/n6f274MJ]?0J#6li[kP@Tp>/ -%=(MYc26omm#Q4\.SAql.pQn_3L:9_&c,7tF>K>q=5M+]`XKMll0_au.@:Rq01qL)Sg@KL&g$.A-;6)dYlB00:oF/`P;QjI: -%9)Sgak-Gu/jN6d-rX0q2G0P_BPGHF6N7u_*h?a"atsTECtmMVV.hM;s.*`EP@qkud.S]a -%ELA$Q5:`nYloWJU]ArYA[[-WrJ*7FBm[GSco%,h4mmj.mhP8mG[G+J7F+^j4]r;g"GASgOH[F+$Jg#Nol,**!GO-=6oP:mk"^@hs -%[OZE7nn5Sp7e?#;caFae:,DXhE:C;!q]fu"]$H,60[pc=B,\=spdMeTcuQR+hV*Pka4^jtqR@PeqgSF8G.72,(U`Qp?"UXX>;M8j -%oV,9rrOaj):W.$qcu0qK`m[bQr@q\ALQ41\-RZs8;>\2AG5k^g?9r#@kc+-3=QDp\O-03Oq^\^7W0hj=IOQF+oh&e46`(8Y`tS8q -%mH?t8-;_'7?g?)HW;HAr"FGG,CitA[/km#N"0sTub*\-aAf"%nR'=[8.0>l;P>8WYoPnE09r"h.]AGXYO`$X,5%5-.=SO@XU7o>I -%n5$ZA%%XXV9beF3'/noa_hOdUSpqrMpl&+R<^'(L\RkVX1"e3>0Apad_AApA1Jh0&i'j'W1T]L89lae -%@NlL">M\=_m:dL`nc.Ec_JH.YcJSh/"G`0`H%t-OVp4j%n]\X8Ve0XES`sQnAlh,r'6_mYViid,OX;PM(ds;3H,:_aLl'D8@0\Yl -%G7>_>&SVo&;,9Ub&L,[q__)F5i]'di+>&i#K\P+1KPW1?f=/W''hJVEB$^[t'J9S]P#P"4?s]1i_tcDf&n]!WJ0]*T"E`3?L1;Pd -%80T2=raO5"9a%!Pdb*lB'O`P[-B[%58Hd8=)75KtOq::JT"!0B`,H(olo[j!VIQ@sR*!4I@@!$4EKaKO7QLkuN`V4RH9p0=CjieG%IE'95h(2!c'Z4<(t%$<([6[TYu=P:58 -%k;A'GiBWlhhf[cqG4kmq`O-Z2@u#ARXB`ln&Jd4bT\+@Ia+P#9_"htZ+dtj`$eam]EVpDW&2HLW[(?bad?at,:1<\i*Shr-&,V'% -%VuZemmEqk;dJ`d$k/,NPIf9`Hm\e(/j)Y7VIe7IVcPN&CmaT+0`nEPth@:b9+m#.;c`MS*UeaBt^G@q92W!3/)`%nkW^f-_7+b"7 -%ZHQ"lP:nCV8"smXQKC%7aV7@rf6M+$`=^A05.:^?V'u5r/)"Xd?"KH)2b?QsQ^Jp.dZ["DL+"d%ZmGQJMEb_CRS&e9j#HF"bsa^B -%T,eo1g>a)>TpLJ,I0oA>9>Fd9hqdII(k?o5UVL=4;:5PsIc"-?W\fBr3*0EWr7eE?iuWUFGbMuK/"gYhY[GU;%D8Tntk -%`lho)IO6RVjtZY1483^PQ;9P\)b%)ogqq1``JRCNKeq1.`]+pWE&Y6W'jmmq[!L'U61JYZ=JVR6JH(<5NpjC@ZT98N'SCo*)[kGJq6=dRH5m-9c^BbM&%7@nNtC%?T#K9g`?D99!I,Hn#5Ouf[M]0 -%T?-+O&SHhCpfra"E=N4pGkXM='cc&#Ig5[nUY?iNgD5q7q^:Y(oj>Vl%_pmT<-\?BW0`#(jVQ74P:1SPkJPTTNNZ-Bs$[I.QMJ7, -%8CXi&aI5=iDb@]fZrMJ#DG_'E%+buYo!+>hknd\5N.ipC1Il9gpO1)oJAZ -%Q[hAILao1j>RS9u9RUOD=CZ9$nkU0B[//4D:KX-!bYTt7+RQK6_3c$bEZ8@`a,A202?,^(/nE:ohFi>O7`\E$4.V=&@o+_HYe2%O*&Cf0VKc9[KT%;T3$K6&D:kt!! -%Mcp-a`eif;o%SA#\)h\5p7aoR]k!FJO!WO"6 -%1A%Bb3)EBfnd.P?BppH,h;QM^HA\VW'Bio9/nRS)bC!Ta@)Bq-la=g>;'mK$];f,_I"I%#Ul&,@>U(K/21t>9,+.;./0'80k'L^\ -%2_poED1FnTRF<_)E(``'V_V`_2^dHTUn:,]N"TRP('nKO'Uj9T)3o/P]YN;Lk&kg7hFSQ@fT/E)pnfr7-8L"uUS,j$CE?!=JO#2- -%UALM@kfDn&n/L$RiH@VZ@IV<:>bu+](<1+g?'38l4\JN5!:-tZH -%F)d=!it@U*9_oX)"dQHqU:H4Q>0JiAbol?*'j9KAFR9\1$e)%;\d,`XJS`_%LD41:rQ%uT=\m3TW&(iU/u5B3-cm3cjNKqVRR(,+ -%?s#QPE+,Vt_ocGpVk[@Ch%41+3:k=gT"<\_NC7GT1;fM/-`n$BRlH%-nADGJR:5@09TFXB=fRDlQ[2U?6:u='M3H?i&t)2i6G!Hb8&OMEo#ta][il!)Q7gkU_9aDK'H/rP=?qOVMQSFmG@43#9\(%@(Qif]Z$"Uoq(a_=#X&dAk`NcsD -%&L\iWBd)#c?o/j_$ogJ[?+/MhR/bAEQ2N*]b:_?gCkFTACI;]c -%l@7"b)Co\^U-oA?UO=iCgXq0$.)UV<3:L^V7%F/ZCetI)+]0AiP[=f-,r4L9;/*rXHRmiJ&]`$^4q$^YnV=/'1%Q+/rZmT1=d#.d -%WO2.N$Cm!:`$cs;gF.f.P5`cZq=#a;5VK%Bq7u>5Jk&^n59d5H>NGlI=8[VlF!FqL%Aj*s1LCMNUS[12DjME:"LGsFb>b5r`UnY/ -%a\nkC&4UYOegISX=^>,;Q6`p).e]q<"7&YIibGi``/>teG-MYD9I"'n-fi]MXPo>js2ZdS1qEc[HMsbNS5Paml):FijAtE1VcFJV -%YXcYSUddblJ-+4E-QVRs,U"Nq5EmL/em_Bs#`a/n`nl1Ub"u -%QJh``COitjA]%_4b8cIY@PEQ04l>hu1NJYL/9frGB/Ip0&p$PH-\[*U4""BiM>#*;4^7YNk4m,tbCutq#J,(@*Y8*"ao$h)oB!'b -%?X/(E3-o^Hq!e9%E7>g(m/bNPrHa="(Y?FNKX@.F>IB6G -%GCuU^/E4A;`T4-2k8Eo5@sMEkg2$H'\uXsk]A!U1QdnjB^%U]`eXl@.DXI9b]l%0nfP$5a_p88OR.AMYhAd"ET=(+`e4NP4X'FK3 -%Y`2^^@;m'tL-N[A&b#CnrR'K6`c-#YLb9%X^2&60e.m]SUF?@T$Q%:cf!+5;MaXTET\ln=V=(#P[b[rO-7jIY+V*-u:e=Wfa"XWN.PoN%-'#mYl+*TlB1#Fg1pX(PCZI:VD^I#JC9PIqQouG=E%o3JB=icbo%&i7/$Y6,`F#O.uG0]s!+F2r6`B[&4SSG%ZZ=hp(g&G/qsk0QaVV38$>'n['XlH#s+9@\hf[Vc9kKdkCV.Uo3\,s>Fje\m6u@YkT7@W19,$Z -%0k3(]_.[-=prJt#)RoV2@Ic>>eL;%*/6t`irHY%_@:$NRcmQkV?@EEQQ\oKm@N+Apeh:-*&2/CN'+(efSQfh@'Y=#9Hi)*]EkiUP,Pqekr>Or3U,-j4Vh>EH$sWXd8.fc,[6:j7.Z>H.'s/!BiMjr#=\)7_ETN -%(?NtImAP$#H#hF!*I#D:g?/t.M+0\%4I]NW\83!eb[_U*CY-A&>C4`^N#VYbDJ+pN$1)jDWY0T']?u,[)"$GkAEgYTD7<`RGl/7H -%KDaJjK;7Za?\%PU^8@+bO1KuB7e]@KkdW_FFI]`)P.+K,\o$p7!h3qGUrC3l?P5h]f^1VXIb"S)rFGCmO5aK@h`MkeT+=!]nRu7^ -%;>UeZ28.fD@H2:P)H5r^C5`\$=5khmRkTFcD>3hh8.X^YAiA:Wi)MusmdC!(!IeuC&nL3e`simIg.qNN]/u_CW-1E-.jFX#X6f8dZG/@dM"#LtqEMo\5 -%dO5Em.J+JC.8uQ1HuE*0W,7oA:\6u/Cn)-15M$o:C7B8uE,48Nba&M6N;`%.T+P9s+3RB8l#iEYPH/NRTH<(1+!AHDg.?75?hhUe -%#fVdI\iD?aoN]o;AC>%8iA]#!k=A5fnGE-YAcIt")fV5"d6k5(K`'m-jfumArIH'K>,Q;Y@PECNZ1>[JibZMgD7^C,OW1S'`.>[07I4 -%F#36\T5cELEDYW#+rdkf[I!&:=NKp=S6c)3s(!!q/'$jR1fL>_VE.nVq;dR\Rh*Rt\%OqJqp3*-ID7T+2.1`sR*9S_=T7MYmqmIp -%`6@/tTPdIg<8j^?mkoi<8#>cm6?i"N+-5-E\W'E)h3a4Tq5A.JibZjfef;-`j%_P2G"o-?3?0$`WG'dDl8IPG^r."'p.*2RIa$"& -%)0c'GVd!&=MD`9#lo'mhL\"=r1nTdWHHsJe]iaJM\phDBT]^R#[f='bJ(T$ZZ>EAW8Gus]-Ocp%Hk7u7P4=Ab<`do;kli=s>:1$bar1q4 -%5%Xn\4f5G':$goSo@2"&VUZ`1hXhb.LXQf!fCi/b5LMN8q?I*:B5A''L3&,,R'?%Z$d#PPn)d4jckc?p_jQ2($e+WNR5Pn6[aLP9 -%B9[-O"t0(U8f8JHJ2o-QTBkZ&U]O^oDLXM2>-;TNqmcm2*``l2-XbuFdj%)?L#QYJmFBSc);(tpk0;=NQql-gF;[Tp=mW:ag%BXY38.hjChb$eS#E7?q?=(4"%[5TD#K@qQdH-s];@Zq!jQUJO4fG\ggFusc,F-Qp#&7Yc;.QT+`,f[os<:nE\ -%j/"l'8+h?.NQJ@^9.Z%/5m0([o"kZ-8O%[.%0teM%:3\rUcq>J:r*d.C[VHKZt],LFM'i,.@'OQe"R%kC+df#jC8i,33,lB6%+aJ -%TM,n=U\a2Yd:s3H1[Qo&W]c*I(X0OKPOupkd@aSs8U8o4>k/r\=s09IpMX]/["9lk7?_>cXq$Zrmh`Z1%WLorCgtLii*$OP"3+*. -%jVWfN)>02A(=".%FB[a2/5Tl?O/;3sR,PH@lW0Khe9/C5M(h_Z#;)o0Si*-Q7mH`MdH[(3gIpi3>%CL1bD`$e^.Z9!Hh$KoBA\`UcGM$EI7U"/Ed[ZOlD'oF%j+!:Xkid@rO'&:Y-"n0 -%?2o@Z=.?4\#L>U/IrmJ^r7g1kO.#ueGmKHa2j<.VFS1\F5O(JadmmX"[NF0D>s3iBlJ%q[s6GF=EUB3?I.6%Uj6tssY'Je8l.p:9 -%nX2!,nitA\nCTRYS*?!n8H636%[I(_B);GO"9%Q*4a;@RRsB+X^3N@9Hj-@t?Tbpjp8QERDEW^"+)H-j05nb'l)M=%J$C`V5;nmS -%qf'/1r!OQQ_;iOfs*jpuFnjA2Iq3;P+79ZaUW"S/I>_+O(O3Hs/p=u)8o3>?GeX"EYL/Vj&%943 -%RblYGJ$=FucEHsQY'kNUrX['/%mr3A:SFgJ,B._qdb5kZs&_DBpFlPm-i3:-m)=_j=-"sE^Q%:B4)a,F)o)<+5?Q[m\p`6.qBh5Z -%rZ(nm!t@WmlG*kf=)\+KJ\g*a6VX+ElTjd*HNjbJC\[WBeS@DIU#BoO=EscS%+2CErT7ec&SUDn,LGdRQG^34X9rT`iqeh5dis)dW`^U_+&-.0'olFgg;B#1l:dA+,8hfO?R]CB9Q -%YkHTXGO'$'IpCl7]CjVp5HSf#p>F9)qYnKo[G,U\pXZ(qo,lT:-u#lA9B432iqQNdVQTpepM9<$97O#hCi?hLIeuO7AImmHCNj*e -%rNUOTfn:5ONH5eoi-"O__.pf<qlX+"7 -%r9sKk_dECHh`cFm]Dh;\+6<:Yh]I'oGCKGWg%r&+'=n+:qdY-SebH&/lb>j!U>Il@lg&o0CO>CE4l,bHh8aoVo1E*2]6*]BqU+p, -%0f1]#p+!e`^,ruTl)O[DnC!@7.m9TRPs6uq(k#25up>Mjqe]g%>f:RJ4E;A4im5LAMrpf4AEch&25;0(F=1uf1DgQt>rq_DF[EI>! -%fsT#\M9V%':N$050#+nR\p*u5qOL-CJ%P[.o?3+TQ[ZVqnDoABbA[DB3kftuIT4(fG5(d'DW]*lf2$UngcW=EgD0FhdD$uIrsTIFf"bD-bf07hLD/)3BCjIY-,/No'3WlXWOatYP+!Zb%1J=eN;+1Y?/L+ -%CgP`<>^[=doY]3,YM]&W^:\dXhUVZ(ph9\B,O3@NDqaL.X8Vo[f<666h"^^!e^;\^f/D?l?XK!]rEd6^pW'n\?/,3a+KmqW[bJCe -%r3rlE\b:+-qU)]8NXqae4,ABsH*+RIGjjA]mC1u'1q`PT]s[2!KC&:(3/d61^\;A%^Ad'Lh:L8NBGl*oAUjI>p"t461p=C&5ME[) -%h2:4Xj/jESDd;%32fIL.^A7[rZEs/qNGne5eSdSHli-+foD74mNS!(fs7W%"8Te=lpKb3+!JW9rj(qD2-Kbe)c8hM&qrN;(Q#*Z6 -%_p"Qlc@*9H?77&-\m(`T/]kHRE"DZnN-cGC68Iuh-:iD%da@AHS/n)SmRfuF4@u\=8]![aPaqWEVmW/j4qu4Np!_:GJ%hf -%]^*Ohqn>"ZHlI@-!BTi7IF?-ia>HcMiS3&E?0-Zop[V?s!#_E0D\IN.P03YGrdDg7T9Z7V0L"6=X_s9jNbfi+SBQhNXR_O,dL#12M&=o&IJ6Uj\[-[Yu(PlRd:1b -%TaMHGf@%>40LmU3/G;Q3bJctJU1RW)EGDGFktBEYf&op5*L-m;h#YB[,N[&L1)Q=$#I%m\]tdN51l'WT%$$<$EKBLM`B*EH/pSFt -%^3fD&?JaTXZ.Hj^*[H;4VA0;"Ao7!i>H7#qRWK&GOW)`*+sWn?/o0X+/PpCbA,dOFN]mt@HTXWb%Ut&9XU'Ib>qK.SoP!:=cptP+A3:qZc*6Vm!b]#20@OIs0mq5>:4!LmT"rGp=(h^] -%alFV4&HsrBNeR)@AVOEo[K;5jpbYo["_[eLQK1Jf*DGk9o7IW^aKo]J66YI8$Gok,&Sb#VLX<=FPlR5V4gWgs8MQol-0b@JY"IMd -%Gg]-tLG)$%&OB\\.`.%CAYcgQV]s%:LHBOH[0KQY]Hp$WSr#Ot+"kR\IbgTP*mt`7o-H/i=B$2]A,2'2($i>Mcidg5jhVi/qo*\? -%Q9TNPKgW9c+"BH'IQ@m?/l5(A31_;M\VeR=jX/aTJ[b?aCRuAdQFo=oc2#Al1#l@(_hIS$=g%t:FPR:l"*tT+6Gb&h:1Gq",9hCD -%+nBk9-<;acZoB!NlB8i+SOcEtJ!SLd"Hg9T"YUl#\V_AG`g3nAoXO#:LR"3mSo%,GDlh5V33ZeUr,c4C7YT#G@1BcB$-F@V,uX.n -%,a7FQ`js%8lTQUl2BsQFib=s"0'$,Tle0K\^1o!\ina$&Wn&&GW>1m^V;538T8lW_hK5U*kb]0hBe89oFO$:f]3!=CVaD4&cfHJ= -%$D(GSBHN"*9P5mE]I1=iG?-^_B!(6*90pd%CJ-e!'#N54Q^KMt4=tdJ%Eb!_D^-?%!QceLK%*0X6Kdb$.id[DHP'TnD8fKPj'(eV -%HC'f&41gf1b5SMB?sO7-VDRnmm]n?>7*BRZ`K]])5eObSf@#r"e6/gt!p*:U=)]7]f!c0.2->i.Wl:(#:n:s*URGh#\(-.,-<+b^ -%\5M]n%Bo(s08e;$Mcd,GF3:P<>H!X69S8t`C5mD`n^]\E@WIZ-G#uq?f+i2Kf=>nE40ULmWEU=L\fEoc[LSY1G%d"t\#[6i^:fff -%fa]o%HTE$RhWmj]UY(>`3jsKnNb/+J@s!NLX^/jOaE5>qd&:/!/f$tM8\I)EGt-n80Rp&(1?6Lpl\tS+e8RbOk,V'fN1MBNHH//pdjR(*7bbe%,DOAt,'b0S -%$B=1j[[qKWSA:!2]MNVAkNh`r\faVWn=gcPeeahKl*M^#gu2hD(@!Gpq(,35=*/GP>#dc!gXT`(MQU+FB!SR44L75T%`;"//d429 -%.lQ4t27KhB(TD5[4^:SIhHfLF:4C5IG2iQ@h>8&MZ;2j)`dTY"71M:\YT8Udrnt$T>18#G0fXtda$sh=G-Vb%oY_p/qPipl&ne[` -%`r8cXW8(`Z[ZYr?qF@S3Y"i`<\Z1!eqif"k?I0d4(qj)bJSZ&IV-gbAG8'aJq`"BRE:EtGl6e-ta%JbOqf.O4Q9+Fb<):ELiHLA5 -%"7"8l_:YjeJcQV[q)%)TYhHmY]Cc\Z:kn.+@lgVCVgmUUFfUGbH"n4gVO#D7C:W^7=jGJ(I%:4Qq0OjP=jBCE4CT2r/5VgRD*@Zk -%;q3(HB6[APE_Io,jN9,X2FICYlB -%Im^4C(C_GrH[co&J=EJFUt+@nbgJXWgXE3lSile)!8u89iFQ1u>dpKaE4NMPq0,1Jr!E=RAiIS*aje`5^ -%;;Fs!]G:1Vc2TNP`;'9rT02,^8:R@9po):%E_F`.(h7I1WSJDe -%s%F6Gmg`TP1"AE*lkcQ#If>ktGE`Q3rAm"=e;!sYnD3(ul*[U(io9I#4k-q8^5t4`l+f:g?8?8mY[f&C= -%]?d)E<9:FT`b=+,O[sgd=Dcn6J;c;J)L -%()Lu,['9jm%%P`_b9"2br4SdI!_f6*hRp<&=3`&G]<_kDi6'>Hr3i096ut>u!]',bjW2NSWoOd/A3V'm*JDlljF%-?Bie6Ol.$HJ -%Veq@]GW]6KX//mhAJZ8!$k3W5e'^Dc/UQ`=Y]7V=r?q'SQ-WL$7lUK-(JZXAAhP1-G<(+2Ic#IH\T!)PIRKM5)i,Y27lcm`k;n\E -%o0-_("?Hi@`P<$5)9YHSIc",W0ZC.PL/umAM5c<5+o>@Kme]ST%W.+YikFT8e0gdu5-f<2]Wn"0$n4YmCeu](\j;[+:fK/XmABh@ -%"0GA).+YffUqe\D<34sM$'M"@NLl"r"T`/\d9DK-s*/$GjE;8Pa;GFnoZ71E)rAG1^k/&S2\qU*\.kQ*Dho=Z89hG_pJc"p*!:Ql -%J\%$G:dS>uTkgl_\YG?J]6!);Bl5YBmXIWL^YJb"Dl$:o*TiQpT1PgiL6$Y=,(g@t+>gVT?m*-`3@B[HW>'i-Z<9+?B<"=0)ed2OnF,TXDHtL7U>+'$WGiMp;`T3oqJG^uBqgB^_ -%Q!2i51a<&WHo3kQJm]7%,pD#H^Z&;u28LSBbR?IlN2(WLb^DCA92T[F2do.Lg:0)-(r5lM)FFVe)UB+#U)8IT([>c%6*OnUVc&c] -%K7cZr>p`caZ`EQjlCqtt3&4e\_*Re^o=3fP1EF1l>J,T+?)Kr7Z\r&OFMhT91uNSmcpFI3D^Oob*Djh!X+\@7UJ2To#L\E52#*ML -%I"$`io&XV!'3oDP&N.-;o)^1I!:80J6s.&29-ob:>c(?T/pi=bZ%0C('Y6#@FHp.ZA&F[ZT'eptG$UIq?uTfVhm3$)c<+6dlgUKUClZ<=DSL -%YUDOQL#SKG--#VdR*c"t0gO9$pfDuc;,hnBJ*BQ@0>Y7tXo"Z@#hoIk)^"T#%-SNU#P2br4KJnh+Jp&r@O%L;8LEEd_t2?&$ard%3_,MC%nN,Q>cEW0>e+qh_<[Cj7$YBL?>AWf7n9X2754n1S#nXKu$Y_h_p)lA^-);"=Oq -%\A's@V+g#" -%R"lsZVgNb;'t?m)2#=&?=578GA@uYk&^$lfoe/[dYg=/e( -%C5-M[b!>Y"Y4,9RmL%HdoNk=9>nNYcZ;An>oB -%Ct1M"7%*^j<(+%tAN==ne -%EKrj-NJ@bC!#3fu/#H"]$O7h(OB2J%I'p;g_HU/pfoTL=k&-(,T9_O$IOT^9$uVC)fl!m39EWg.q#T6rg_cr7V`H-(CGrs!AAVHHr8*E-S3T";e`)$)0$d0o?%29eb%OsB -%MGGXMYSpod>I&k&r9hQ-889n!'dSG9Xfs!Ggo]Rica9p5VTWX"5ER9seos&=f,H.$j/=4MD;+(3hcjTH[U>c1[PadYBKC*-Dk]i> -%"2Y6k@fU4SVrf1RN(,U1$[1W\cd;d[c`Pu"kdg=7CnY&TLr$IS!JJ:di#FS?7tLC)0saa;G=O7TDc:n(%ML7fOZQM`kAq)sM%K5W -%mM/3>OKjIIm$YEGYo!As8JbS4Ts,-Ynq.m0_T#%(25c\m/is,7D^'SN;k3I@WYZEl#tL`5#]"6s1++d0";;58WD;"H1Q\mL!b-;J -%nr!BReS238I@IPhc%*lg:!itINDh<^3pq&@?SM&$DhhX -%gPb58_QEHo:#]S9%9h1IY1*US@P`[*G'\Tfq -%V-.B6(RK&`$J7:?i-2HUrfnY+\q.:kfT-PZDAL%_6:fC@@GtThbAY$^>hmHI?=ANLGc!RE9/C`&OPA6Bo1>bElL\Bd\Nm@;mhZ-< -%'\]>(kZO/HpVUA\YSBs%9I1INM-!`pY'IS#1Mg4=-i;>nFG?!d(,^"-->eX]GNXk)c-&\*'MIt4@*QFjiB8]o?;1loLibAV"6-WR -%N=.V@F"V\sp!on_(M#eUk>CmUCoOr>kub@kmh&2_-::tH"k^Im>eIks9K)+n%"n.qr@bMdV`B>Nl&kNkA;R1L19>6N48)/8X%9R0,-u98GlEem&hS=6ADQ=(C(it8$7limFHP0gI-_8jUP1dE!%@YM%sC5"9MQ_nMM,>*Gf>c]OsamC(`3,&j?-GFK@sS4QXnR@*$,iOAV]Nu=*Hcaa-@8kXT9o4 -%>:3&&P)&'hqq8Yg'rKeSAIDu)r0dGq=6^rOaMlCjISW=Y<(DKo8QA^.?EBM/uWln-UeN2PKt,f0j2f%j`GaUFZMg2^S6]%ks\X7"7]Sb -%N&PotZUUU@TbEG9l70>KY_'t%QF9WN -%QL!D$Pl50N"!p+];\&u-PO't -%ldg\^>YL$5cK#G#?uK;G7.d9K-M"&&4$RqAH($L1b$;G\!uWOdntNY_3!M[`]`usTm(erH<9#,I&"DA-h0bDAB`_DO9fTeCY4k9` -%`AUZ^?[$JBY$r'>d[[&h,/3B`P)^PG1+8>K7jXmgDap_H.QpJ]_p^37SSpAUdHQX2baYCL7KAs#7A_in7pr?GYkS(8MJ-ZY)-93# -%cr1W:I]SuO[[T@ORu:[Us(NVOhWUsJ]%;Z4oX.jbq00P&W@GfeE)cd0i9_-BJA2,l?ZYbLdJU)d\He?^I&kPMVK3[eGj?KUm9P8O -%>7M5(8lt'@c-dMX[Dl/TnZckIPm)ft2BJ/ETqho&0P;EQ1QP#r#Lc#>.PKaD;O'Af^c:=hAHY3\90msN,ohp0[6/s'#gJQ:IZZG.-E$Y4nZRnR5Co?I*2FS=)%bV1(A'sn?J?P2XeTT6tnpM[pDcoNY!QS"]KgiPr!q%)V\m8l9'P.9EsIOVZ: -%)c(/JMO-MCMCTnSTl,a)hqfW1LD=o7NtG#eUJgZ].T8g(Hm%7"a[C0DY&rP;;qe=ar1[6?"?Lg5T*`WW_90geimshZE-60a'H^6, -%3^X>\n&YC>E2o!Ne"LAj"@b1IDRguG\6I`ZUMtc$k'q86iPW=R:PWcB+.ZT0fY1G4H!0'R?6A[5l<,1KOoSM,H*FV4\RT:8%9Q1( -%hNDhP+6i=G`V9MFI!f6O]cUAalE`-Vo:odk$WWd*^("GRE^*pP4MEr!N668=dq(XUU`JNKDfFNJE6g132PYM:1_u\>I!Tr-!If%] -%LX3HC5+T=@XZ,DNEZUibVrK]`@rH>HrUnY:Pu>6%"b(+WM`9`sLB!_)Y+*W*YaP&XD]1CGk(rle$['0KaDWu%.6Jb62*Ua'=U)*( -%]R=2^l%?/LprQVddpJu5lDeKsJ,P((Y_R/11TUb/N>m>=(q!2E2*:[-QV3%@?uAV\Vs4BRp?H-n[?LgdUI"VTZmJ8L&&;uW)nmJj -%IJCop*r\"rrq4kXo"cF+hh(BY!0e[,55$i3gEQ!@\n)s>e@n6PnC-V0"VM>&3"L3H?[m-X.+3FIq^aJ'iD@,4\=Lo"$43Ba@[qF4[gV&(i -%os[Eq0c'YDM^a#rXnbo2f'eU*nbBiGQS?)7cM%Y(ad\4+dr9[5iq?l\@kB=BV:j3udc2":XbS%okB:9%WJ;P[s/uOoF2S#T>l&@] -%qJRMQD]nn+&Vr-&O6uX&$dN.=(6Pb7+pLt!"LO:BBgE?"U03Y1(F0`+=`D1g(lQ9>$ti.nc%!G]dPUT^VI=5p_CursJg;4ei=84h -%#/MaC0t/*'IcLDp,JZ)>SW+t^^_);hBo<:+O9m*J7H##AY5T70A6BR+bgHIN( -%6kI0h'U3P4Q/B*$j'M`r[7t-:")Q-8$j$DqOA+#[cd[-E';J":@3F$;C*`JeWX%j[),S=U]Nb9k'us4$I^Y&-L4r=T\7jM5!XW1J[#2+We(6r-kTu@ -%,gHJ/U+keP/Aa0DlC9=H_8'):--2a4"l^c#!(]@,#Y+T7W1kaC$jSBi\req+JiK`t!<^?e@a'gS@(JV`\j^@$U^;p,CqPI%UC#)$ -%,_-7hHoO]-RT+8f#k`l2#RW1`Q3`FK-%QXZH4QGi#TbhP*X.oV#uV]b94IrF`Lt!o86-snTK#QDh,R8iB5_5]EsZe.Lm(_2O9-[^ -%0\TUgeg07SWHGhE?tY2J)MbtpW2gJYogp>%ifiYA\D4kGO84(rYGjs=YQ+)IKs+j@8hlK>SiKP[Aq=0>'&n2Z~> -%AI9_PrivateDataEnd diff --git a/nixos/modules/services/remEYEnder/vecteezy_eyes-line-icon-vector-isolated_13932670.jpg b/nixos/modules/services/remEYEnder/vecteezy_eyes-line-icon-vector-isolated_13932670.jpg deleted file mode 100644 index 9673ea3..0000000 Binary files a/nixos/modules/services/remEYEnder/vecteezy_eyes-line-icon-vector-isolated_13932670.jpg and /dev/null differ diff --git a/nixos/modules/virtualisation/docker/default.nix b/nixos/modules/virtualisation/docker/default.nix index b48ae5e..2218ff3 100644 --- a/nixos/modules/virtualisation/docker/default.nix +++ b/nixos/modules/virtualisation/docker/default.nix @@ -10,15 +10,8 @@ in { enable = true; # Because these are made for development purposes and not for servers enableOnBoot = false; - - daemon.settings.features.cdi = true; }; - # Updated version of deprecated enableNvidia. hardware.nvidia-container-toolkit.enable = true; - - sisyphus.users.wantedGroups = [ - "docker" - ]; }; } diff --git a/nixos/modules/virtualisation/virtualbox/default.nix b/nixos/modules/virtualisation/virtualbox/default.nix index a86ada5..1116887 100644 --- a/nixos/modules/virtualisation/virtualbox/default.nix +++ b/nixos/modules/virtualisation/virtualbox/default.nix @@ -2,6 +2,17 @@ let cfg = config.sisyphus.virtualisation.virtualbox; + + # I like to override the virtualbox package because it is frequently + # and rebuilds take quite long. + inherit (pkgs) fetchurl; + version = "7.0.10"; + virtualbox-override = pkgs.virtualbox.overrideAttrs (oldAttrs: { + src = fetchurl { + url = "https://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2"; + sha256 = "0b1e6d8b7f87d017c7fae37f80586acff04f799ffc1d51e995954d6415dee371"; + }; + }); in { options.sisyphus.virtualisation.virtualbox.enable = lib.mkEnableOption "VirtualBox"; @@ -10,13 +21,12 @@ in { host = { enable = true; enableExtensionPack = true; - enableHardening = true; + package = virtualbox-override; }; guest = { enable = true; clipboard = true; seamless = true; - vboxsf = false; # Module not found?... }; }; diff --git a/nixos/secrets/personal.yaml b/nixos/secrets/GitHub.yaml similarity index 57% rename from nixos/secrets/personal.yaml rename to nixos/secrets/GitHub.yaml index 1e520ab..cfc0a97 100644 --- a/nixos/secrets/personal.yaml +++ b/nixos/secrets/GitHub.yaml @@ -1,7 +1,5 @@ GitHub: ssh: ENC[AES256_GCM,data:jzRpTgefhZg7Vhm8QvWNsPBko1yw56sM/XehY72lAc7aRz+dx6BGgyYbZiifd7GrGJGUbH6gWfUg8YjgVla6VRsiHCEvSK3bY0ADDwTeSUs+wuybYXQZqhivSCInVtVSNAcp99uI1QwKor289zmxcFtSZEXgU1OCSel/8br+qipAbOkzAKX1v15eigjY4OSQxXL59EuuuHEQ+vjVVv95tDv03jaNAoU9UKr0Atrny/Fn2sQn4Tmec5Q1XdvDErKhSxrAFiACkxXUwPZMHez+BUZrmkksqpzNJjYNIlmsITuOVr7Fyen9wotAwsDf96Fmz5JYLtRX9CAboUgQLdUOKprwX/xgBnFtDTSH1Qr785T1QSAZL6xdE6hNibxZO3vGeeaPC3oGB5g9x5CwTQelMdOUPKdKorCDj226o56cTc/IQxUpsULbeOyi2pMGHiTHbiQBzHpxWyQ/gBktPkF25GOFeaCu3gW+xsspX91jSKudcYdBqWUNmJcdsfHfPxPM4cZtA/sVMyoA+YcehgU7GTu9DAlxDTug/JWo,iv:5shfzmrFFVEuaYmyTkBMAw9BIFFkKz0yl1dyJWxq6Y4=,tag:CX7TBJJXCKuIPSmg9/RpGg==,type:str] -Gitea: - ssh: ENC[AES256_GCM,data:8eyuycMkBVMHfzaGeGs+0RA4vCpaAUTjCwiplUamypEk9BDYqxe+69O6OjJAGaPnmH4kpsb/WVd5sU6HNUogBuzDQhCrv2B6NadcmnV+fH3MHfAWvDy7R68PUkwcywWVOo65SONckjKVa0Y+8IeeJh9zpr36qCbbs+zPC4XTk+Y5R4vK/ocmSJSmwqVK1SfGGwOjFoJvHVI6jdXh//vgKaITqmyZV7N3OU9EiQp1FmNKwFf/x70w2LGATrNBcexwNy20ZYd6ewiAfJxFHR6Svfc2P5X2nlv99W5t1eU5QEGUcalcslsW/VkmFC3agN3Yry2EMIlfTlm0hm4+ryDGWEvgyUC0dLA8Ao0TLaaqig9HzBRP1h6aORe0lDwzTUg6WltrIu0s7hFwD4YLi1qP5lY99hvrDIRbTEg6AY6X4b32YFlyOXy0YDetv90+QyEcwANWO9MXz2S9hxuQmjOXMCVYMaiMLVUkG+mShbQuxTiFQt/7D83yOBSRLugx/aU318NKvUDlCt7wpZbMI3gBia4nUYLoLcXRKcAZ,iv:uc1ZtGdcolLrpQgS5n5LEAwBt0vMmkj2OuTXcn8sQ7A=,tag:F2ofcj0zEBgxwukMUd7+uw==,type:str] sops: kms: [] gcp_kms: [] @@ -17,8 +15,8 @@ sops: aDNUbFlhWWVoOWpjVlV1VTVJejlSMjQK6wCeCRdHY5oyTX6/R1U5AOGJyp0exi1A dWPUMfkKBBBkrR+G6ougd8o3FwFf+yfb5RhaTxxqjit6p2RyMjR64w== -----END AGE ENCRYPTED FILE----- - lastmodified: "2024-10-19T12:24:38Z" - mac: ENC[AES256_GCM,data:g15gV0H0rlzoeN5Z/Zkgh/8ya9GSrWDVP9oqdVz3m4obmquCLDIygsPaYpRXmfOtPSgvX2KzZ08sNLfcBZSh7eH2Ws7xcezWOntOcmAQNz5LvemqP7YuwtivMK/P4qrkME+LQPkSrSUR+rT99Zj+RQXisy91Cq9NbVBj6uQH7+I=,iv:W+oDp5Dun0g35BFprOmgfI0LoPME3HpPuuniCKA32Kc=,tag:CUU74HZuRNedyI3txn9D+g==,type:str] + lastmodified: "2023-09-11T10:23:48Z" + mac: ENC[AES256_GCM,data:3XEbhFY1TlXo6bTctV2u4i6QPzXnJC6iU3F/MUARSQl1z4peOB5x8hZfdiV/hVMR8I+83TxDcEAmKDrcaMf89Tqa+OiD//wBekMUfS7AmBRhpv7X5qfarflfnygacFsAMhf/bdiqowYbGSNvlPjueqHJaFZ+3x/wPrt/jAYNlr8=,iv:ciQmY7bE+Je6kMlmxxtQvp+r3e/ZK942tT4TtXhDX2M=,tag:4+7uZlEm5bcRfZC7pp5Y7Q==,type:str] pgp: [] unencrypted_suffix: _unencrypted - version: 3.8.1 + version: 3.7.3 diff --git a/nixos/secrets/HomeLab.yaml b/nixos/secrets/HomeLab.yaml deleted file mode 100644 index f749611..0000000 --- a/nixos/secrets/HomeLab.yaml +++ /dev/null @@ -1,27 +0,0 @@ -HomeLab: - Gitea: - ssh: ENC[AES256_GCM,data:+H9qhfOg5WlTB7pihvbJ9omY/zLTAADe8KzI4fbdZ7NuaM0auC95AIQqhwNNCZNglg9UGOVL662pY7dNhbQ/2iCLPHSPgFFXf3fx1moRRcYYQzoJxsgxp19FZQeGNJ0qfRf72xYbZQZKslyHQmcqDieoVTyhaLqTfgC8MQ/UZofw/ortmgME7z51rGV5sXXMjxpJpHz9JxiPwQEL0ABWDAeCqBVBzlqqwdmfKEdkcR4l3USHfH1iNF5XQ5V26I+UGDOyoixt1c/BXzD9xzKI7MUDoRz+qfC6C62LIlEgqZY5tWg+tVZnqobakxwH6d8pXtQ7vaIREEP0LqQMkrNcK8X+cDRteToQ1fcxtN1V+JfZSa9pVC+iGgvmSZ00q4bnOgTmgO9IZ80TvOR4bHpRhjM5l4JMbLBv2jqY1zeUx/5L3WNuYIm9sL5mWXkV/RAD8WCemNSWdKbGsvByEUeiFcxczL/vQ6y3fi+ntmXUgeXVy5zVNkNlYbqd+DemBmwZQb9D1T5T97i2ChciYb3/ON1NObja/bt0PTQa,iv:hIbwsPcDSfgDItlvFFy0vCjuQWvgoQHBH60v8nTVTNg=,tag:1T/TdTEy98TfgMzYAxfHKA==,type:str] - Hugo: - ssh: ENC[AES256_GCM,data:Tfuba25e4hJ8Ovl1IdVtDvg0L0sCc9sYTXstRg89IAUzwv/1u8mxdj9ka6ZKaSQr2QUaNWs0BoPV36O4bI2hTwoqhUarhXXZNnJKHtd8xBu/+kfMSOMGa5qD9V9m3L5OFdt+gdwhJxemeQNkvN0Vhsu4DJFPZRPmGflJ2HVRYaRW4AsI+JPqiWSEeKz40f3PQPJ2h26gF+pADmPwtEfcUGZdGnJXUsiYMC0aBEWWxyAgBgj5W+Nbe+OCopEX1qyRcR8qO+LONjuC0b5hcGeOXjWj/d1FnBfxDHeoxRGhNCo8TUk0ap1mpSAttdr55/C51duQfeV09Iow4nzUR2H0jmzojUAjKXXCkBsK6yjIKxW+4+4OKCC9ERz5mDmu5Z+4aFM7CpSquCAnDVFw1Uq9MJqAnSz6AGh29J4LUwMnVNtf+gQwzGyl/C9wE/Svm0UAwP19h6hLcM1rp6bV4xjfSXNDspUkz4Xr3RdPpTI1PemtMZIq8fP64q0FlFZeV62ctl9hCtDVRDo3fG3FUM08fa0OfJpVYjSEAOfC,iv:T8z+P5++cES9Co9d/2tcU0PbxZZM/5x63tcxIjBeQ0I=,tag:AjsulFme64/xEPjgZQFtow==,type:str] - Nextcloud: - ssh: ENC[AES256_GCM,data:aVqa57u9hIOquP367EDj2rlyQWRe3EZv8l5cC+yQQKCri2bN5IFSq8qNemOIcU9ycBnxIyK6gLerJYQQcgzIIARmnfDpbJ9w+EeUL5yvPVJN6FM7oBeaL9mzYRl8aDKr22LhL9YiKAT1nKHESmTb3TZRvuvWJTGzCMRV85ROGxZYVUgG6BjuHEzuTsc4fy3NVPIl7/4ZjPgNNYx+UNsV5xwTejveB/sGblVrHOO74LZXzUWRlQNun5nM3MY3GALzfrPrVIAyGNu37CGachtwxaPOj7vUKZmD/e+XajYVKRJ3v33jrUeI0dDmhuwJj3taoFik6suAyiK3RlDdeWoERR8vqduiyxJnVMs6mNkigzkVtifpwZyQ8vNyG7w1JNPygMYgQzjN43lGVml8cx1lZvcoBzQabjWxcNzhV8gXxoGKvAwUV7ELB6l00rUH+EeI0uU8/IFm9kwmZq42ciM/bRGSGXzo2PYG2OHOiDe5b0nrIlajaRKd+vuuzTtFFU9EwH0GPzERRaoxVK+h9tzcco/REITCE+CVlHSx,iv:bb1X95HK5tT7EJpqqgMOUxw5VO5MuzoYxkPIzR5sEqU=,tag:y2LKHm7czwyuHp7Ea8KiYw==,type:str] -sops: - kms: [] - gcp_kms: [] - azure_kv: [] - hc_vault: [] - age: - - recipient: age1fva6s64s884z0q2w7de024sp69ucvqu0pg9shrhhqsn3ewlpjfpsh6md7y - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYWWFUdnpERVlkK29TQ09k - SnJMVm5rUEV6S0huSzJ2YjFFQ3pNR0pmZWprClZEVDloeDE2ODNkMVVJTUtqaENz - ZzhwTTA4V2xOeW55WGtPZU5FWElQNDAKLS0tIFh5ZWtmZHRBWTAvM3ZwY3pKQ0R6 - aDNUbFlhWWVoOWpjVlV1VTVJejlSMjQK6wCeCRdHY5oyTX6/R1U5AOGJyp0exi1A - dWPUMfkKBBBkrR+G6ougd8o3FwFf+yfb5RhaTxxqjit6p2RyMjR64w== - -----END AGE ENCRYPTED FILE----- - lastmodified: "2024-10-20T07:58:57Z" - mac: ENC[AES256_GCM,data:mmFgjE7rp7fXmPOnETGamHR3kUAguFCNNTQcEnD+uM4xeSp3QcB2g8tkKYaJAjkWWqKRSm9/Iu1NWOr9GWyu4O1h7ppWSvpKawWki6cHpqBl8JOwbx/SZi5bzU1lBtoJyT6hD1aCu9ENOMUkpPY3rKcYwbsRMJpKYsbXymPikcQ=,iv:kPB6ds8c4yc/w7Ny1d3DTyztQF4yTr0NyKgIHEzIKAg=,tag:VTpXRb5HaWDjVB52K7mByw==,type:str] - pgp: [] - unencrypted_suffix: _unencrypted - version: 3.8.1 diff --git a/nixos/secrets/Hugo.yaml b/nixos/secrets/Hugo.yaml new file mode 100644 index 0000000..6a8d422 --- /dev/null +++ b/nixos/secrets/Hugo.yaml @@ -0,0 +1,24 @@ +Hugo: + ssh: ENC[AES256_GCM,data:Qi4YEvG64lJqhISMNtuC0mM02TU5KPpzdgs8x2UJwxAxus4+Aa3nIttkbcbKxtobL7ohKcMFGq7bBdj+s4zbctctknHdjiwj1caDoD7+Fm5H0RWLe7yjt5e4IxRywN8cNF59FfINl2tMutuENOzSucjHIXTKSV/ARZzwhcyZkQy//YvlReUSrUNaNkVM1VtjVILOToAXGzQx5w74eX+9JYV9FtZRTbr/spule+UDDtPZaaiFZmFfE5YjULFPaZJo2iUiirKalPodxfIar9eXzoN+bOQbz2Xys1QHNEt2cwWjERruCsojiyA+XeYFreWEWGggSEXizxv7cS5ab1e9XqtWR+u3Gdy/t1/cjoMBVXuLxQ+BwTlAO8NDgRbW0aq8q5yOsPCjShI/N4EVN5qtMUT1+mYZLCiZPPXbLBIiyqIWea/Ru8iIo7+WoF2iDBgshwnw8+uGDFfwlNh3SAwMSQOcGg06+U17PeU56Q/wqID2lEMDgGfHdqObvMlae1q+Qa9cwrp4xDw5S42NlgVaNcovUav5US5kO43r,iv:xvuRv4sqLRGv9npIVjnGV7zDPzIyS58ZKN2T23BmMZs=,tag:iGnBzgRhREEfKjE/ea5Drw==,type:str] + Gitea: + ssh: ENC[AES256_GCM,data:digqDmnEPg/Zn9Xt7+Z/R9lTBs6CeOgHgIhstWxHnvucwshUO7Zu+l80YPyzAck0pO5YIKML8hjAqj30lYqSPRzG1uRpT7likCy15MqyyQ64U+5PGQRNhybo1eYoqVFYd2sYc5xzkve1b8zCDfxj2mbmRYETYSidHZLaDilq6iKtWWSX+mnTXqJ2gIj+J7pfFBOHskWglnrVdj93AOdpG6cmnvzE7ey8SrMt9t0GzmRFAvjP3slio8NTsI97fu3isF0phGoh8q9tGGRnRMDq3E33zzntT3jawtWiib9ZCxuJ8Zhwc1fIF07YfBJ+sZJ7Kau1205NFJtISGbVhVmpD9kQdoFwYQxYJuvPcDYyIYH/K86bYnBmJWRCwbTh7Es7DCCC90VY/yMjRNoYvjupjhuHKGXE8O/Y8weERZ+GuZ8BSxFwU81YK9mcQyw+Z+MdAFsZEhR7cpxRkty2INKxOdX8wJGVw3A1cInwuiBjLiED0ndh39RqJbE8DUQAJgngSbYK52rCadjhs2xf+tPiDatsDMAHU2DpyDcz,iv:Dh9hhr1mp+gXA1eUvsJVb5opbaEtdRMKAd4HQSQlOpc=,tag:k4M96tstNATvyFe6xF2IzQ==,type:str] +sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] + age: + - recipient: age1fva6s64s884z0q2w7de024sp69ucvqu0pg9shrhhqsn3ewlpjfpsh6md7y + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYWWFUdnpERVlkK29TQ09k + SnJMVm5rUEV6S0huSzJ2YjFFQ3pNR0pmZWprClZEVDloeDE2ODNkMVVJTUtqaENz + ZzhwTTA4V2xOeW55WGtPZU5FWElQNDAKLS0tIFh5ZWtmZHRBWTAvM3ZwY3pKQ0R6 + aDNUbFlhWWVoOWpjVlV1VTVJejlSMjQK6wCeCRdHY5oyTX6/R1U5AOGJyp0exi1A + dWPUMfkKBBBkrR+G6ougd8o3FwFf+yfb5RhaTxxqjit6p2RyMjR64w== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2023-10-05T19:05:15Z" + mac: ENC[AES256_GCM,data:8xMV6RkmXpt2uY07E+59ZXwTwTL6oqo9j5sFOxejwnFU06MGW9t1h/5HFg+GKpp3Jj1LT6a7uuyip6bDGCMEhI054sTv2uDlOIFd4nbHwOh+keEH/FLa8csTq4yyisROsaXUUCtWxraGXz0MQXT8xlQMT7Pn0x43JssmPhOwrRo=,iv:JKNsroIAxvV5V23at/DsDdud5idVn5IEQHrgeFHR3fQ=,tag:XY0hikk4yvqfynPI8q+GBg==,type:str] + pgp: [] + unencrypted_suffix: _unencrypted + version: 3.7.3 diff --git a/nixos/secrets/UGent.yaml b/nixos/secrets/UGent.yaml index 5eb38a0..ee6240b 100644 --- a/nixos/secrets/UGent.yaml +++ b/nixos/secrets/UGent.yaml @@ -5,7 +5,6 @@ UGent: ssh: ENC[AES256_GCM,data:A4ir0yvCgIVJCl4C5fB4+WhJVj6Go9XWfjw1/lOaWr2rP+tVNnjGuv/d47z55Gxose5keYX2wRMet/M2Re18+5ckFTyfT4YkcHtQCyBGbmwYmIzxcaxinNsCuOelEdNnFnYW2ha0aJ8Q5Xjfpec1YqDrCT/Add3qGRzBizQJ1FajbyhxJOKLYvUrYvLZ8+XE8SUndvjQnVig3ArUm2hDFsEMm4ClZ4T+EwcIuWrS8ia7ZoqlQhglEtlSEczE65a6hQAFeXE64YC3s8kWlRGhRqJQXjB5g/UTkOht3Vrw2cNzrz90tR9vhooOEBEI6d8F8RJGkdyUe5zod1eKnE/lwOFhhTbzrGrYzX4oUrDIL+Dx9+R9mQchv9qSau1JtKDvzkYmqVVgTC6wE98gTRSBw78f0MKO27FA3diC/k3t+mwsKVRjcvlTUcbRcFAxjq/U5TbOq5jOgA41dI9KE/+bnJoLRh81m/sq9EqMTp90wDKn+jjCn7lGcGDwtaaTlbLIGIw5u9pcfD4UyvJZamnS96JAhsDUqk+fxb05,iv:jPCdaC7CahKrj3tvzZTs1ZI/3+zuCCqIdXp3vo9l/iY=,tag:DeUdWEZHpsB1AMD2AQuiTg==,type:str] SubGit: ssh: ENC[AES256_GCM,data:hJAle4DHJNvX569reclBG5rEdWsjAyV2TtHYMiPfky/dMKJkYgT4+T0doLfUn1O6at77kJGPmwUEvmK819DUuvHtNY7c6angV7iLygJ/ThI1FIFOKH+NxEsI3scoT0VDDybHpgice/fcJL1tMcvE74+dWOnZ2r4pxcMJEFHUPVVWcl9/stJLn78OonsyWpj8PglcnYFOfZ6THIe3lyNBxRp7XEweuwjacthGzOzNu3Z95zcCAnAokFVZ570glJNhjJVNEmPHZkHOcGiGNNM4JNbR11v+dOYtac942t/mmmWwAzbznuu8ZLupYWjdg/f07ftkPAwFwCoXblZ3708Lvf6uOt/CPeWvEII2Haf1Cr5w+U6TAt14zzL73xCSQqwz1TfkcmD+bJplmtcpSP/KX8/BRK7qr6Ec5T9ecbraRB7zDBg0X2x51DSHLrA7UIhpI9JNaOArU5UOVYTWwuzFiGG61elJMcPZ5vWEVrTCocfa4INPo4B2MkFbbsYf6xnY1L3Wc9LQjkff6aCqYnQaXZ/WfPWepf9YvYG1,iv:0Bm1r0FuJJKKmcbTiPL36rb5FaMZfOO7Mx8pXU2FSfg=,tag:0ShoJPJUx37mEAus+mhPmw==,type:str] - Dwengo: ENC[AES256_GCM,data:3lsZJ5ztkGOfHFQNr54xs9evSTEAs9XHJhg6Krvz3fkT8CaGSiRW5HTCfANGhQ3wJ8kHVziwopQCJ8s93gaipAuEu5k/hYj5wYhOn6x8oDJxftMJC94JDL4eYGIXbx9GSPIy+loftfYIZcfmi6o1lQdiqRdC207Cs+p0ZTB7JSvales16IpgYKoTCRLUytd9cBrezD9gVEngW1b4wHGzai4OOTSunlOVVAgapAKsN+swN7QtMt00607Ns6gCoQDV76qAbM+6EN8PlIKwbyy9UneeTXOf0wtQpb2TM1zrVR7LOqNyXT+DUlrBLpOpYK8tPCP8y5m9DMLixrhbAXMT6pIp2XSbmcfcsuMGLJE2ev/c6PxmbjqiCGEYPC3HdAgUpNDtOMixnHEoXnMUPDJeE0MXbSFMRmzNGo7pc5gOoCFmCkV9NVQXERR6m04Bn3czRQVHfoVIc4ciPdiXpOqF8ocTnqZj7HRW8dvZz9V50ViHwOVqWLJ2a/QUMdagXlaK7zPrxPETKz47iMoMfVaUE8ePg2L5sEZHja62,iv:s/+JYSkZudTr4MnTclpNV7i5VGUlqFhdvovcFt+inSQ=,tag:4Ge0ZOc6qNObQrzS0K0WDA==,type:str] sops: kms: [] gcp_kms: [] @@ -21,8 +20,8 @@ sops: aDNUbFlhWWVoOWpjVlV1VTVJejlSMjQK6wCeCRdHY5oyTX6/R1U5AOGJyp0exi1A dWPUMfkKBBBkrR+G6ougd8o3FwFf+yfb5RhaTxxqjit6p2RyMjR64w== -----END AGE ENCRYPTED FILE----- - lastmodified: "2025-02-21T19:36:01Z" - mac: ENC[AES256_GCM,data:NMxbxf7/UwR9akbbLgKeSLIkk+dS/an2pGzZUSbe1AJenCVFO/fiRCC5BF6xJVpFSpag/dLwo/tS64JmJ36Vqn2sQGmqn26HPXsjAgyUdpp3+anXIVOGvNHF3oCM8gEUk9+W2FsOqKuejpD7HK/IsVJEZZLbThkUS1BiptOWk84=,iv:xNBBjWADFF5itg45KnmNbZG5RN0KRpaph7iMGhf1KZg=,tag:FrDSAbvo/7QHH0g5Ik8ATw==,type:str] + lastmodified: "2023-10-10T06:57:11Z" + mac: ENC[AES256_GCM,data:Tvwv2mqceAxi7ic3+95Y6hBMHjqVoCkYnTkEsXOrhumgXpuuB/QQ0ASEf6gbgkCLXGwnUAXsK41bIIJfFgYSk89fHw6AaXfs6a+zL2Mh5zkhMIE2bm68mFK8+/TX/e8SibbEwNZCKOcPqvaO6nK816KCmh3KKCbT9ObaB6CA/KI=,iv:YPKgYAnQ135JXou7q9jVN7b3SKIDwceKcbqiIjkqnTU=,tag:udPrEVu2F+hWkhNoEyjTYg==,type:str] pgp: [] unencrypted_suffix: _unencrypted - version: 3.9.2 + version: 3.7.3 diff --git a/nixos/shells/c/default.nix b/nixos/shells/c/default.nix deleted file mode 100644 index 09a7f1d..0000000 --- a/nixos/shells/c/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ - description = "C Flake"; - - inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; - flake-utils.url = "github:numtide/flake-utils"; - }; - - outputs = { self, flake-utils, nixpkgs }: - flake-utils.lib.eachDefaultSystem (system: - let - lib = import lib; - pkgs = import nixpkgs { - inherit system; - config.allowUnfree = true; - }; - in { - devShells.default = pkgs.mkShell { - packages = with pkgs; [ - cmake - gcc - gnumake - valgrind - - # You might want to use your own IDE. - (jetbrains.plugins.addPlugins jetbrains.clion [ "github-copilot" ]) - ]; - }; - }); -} diff --git a/nixos/shells/java/default.nix b/nixos/shells/java/default.nix deleted file mode 100644 index 676c946..0000000 --- a/nixos/shells/java/default.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ - description = "Java Flake"; - - inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; - inputs.flake-utils.url = "github:numtide/flake-utils"; - - outputs = { self, nixpkgs, flake-utils }: - flake-utils.lib.eachDefaultSystem - ( system: - let - pkgs = import nixpkgs { - inherit system; - config.allowUnfree = true; - }; - in { - devShells.default = pkgs.mkShell { - packages = with pkgs; [ - jdk8 - openjdk17 - - # You might want to use your own IDE. - (jetbrains.plugins.addPlugins jetbrains.idea-ultimate [ "github-copilot" ]) - ]; - }; - }); -} diff --git a/nixos/shells/latex/default.nix b/nixos/shells/latex/default.nix deleted file mode 100644 index e2cb799..0000000 --- a/nixos/shells/latex/default.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ - description = "LaTeX Flake"; - - inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; - inputs.flake-utils.url = "github:numtide/flake-utils"; - - outputs = { self, nixpkgs, flake-utils}: - flake-utils.lib.eachDefaultSystem - (system: - let - pkgs = import nixpkgs { - inherit system; - }; - in { - devShells.default = pkgs.mkShell { - packages = with pkgs; [ - texlive.combined.scheme-full - pgfplots - biber - ]; - }; - } - ); -} diff --git a/nixos/shells/rust/default.nix b/nixos/shells/rust/default.nix deleted file mode 100644 index 68f7825..0000000 --- a/nixos/shells/rust/default.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ - description = "Rust Flake"; - - inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; - flake-utils.url = "github:numtide/flake-utils"; - }; - - outputs = { self, flake-utils, nixpkgs }: flake-utils.lib.eachDefaultSystem (system: - let - pkgs = import nixpkgs { - inherit system; - }; - in { - devShells.default = pkgs.mkShell { - packages = with pkgs; [ - cargo - rustc - ]; - shellHook = '' - ''; - }; - }); -} diff --git a/nixos/users/tdpeuter/default.nix b/nixos/users/tdpeuter/default.nix index 6435828..1e11671 100644 --- a/nixos/users/tdpeuter/default.nix +++ b/nixos/users/tdpeuter/default.nix @@ -1,4 +1,4 @@ -{ config, inputs, lib, pkgs, pkgs-unstable, ... }: +{ config, lib, pkgs, pkgs-unstable, ... }: let cfg = config.sisyphus.users.tdpeuter; @@ -8,7 +8,7 @@ let cursor = { package = pkgs.phinger-cursors; - name = "phinger-cursors-light"; + name = "phinger-cursors"; size = 24; }; in { @@ -33,66 +33,19 @@ in { ]; initialPassword = "ChangeMe"; shell = pkgs.zsh; - - packages = (with pkgs; [ - cmdtime # Zsh plugin - icosystem # Personal icon theme - nextcloud-client - spotify-adblock - brave # Internet browser - chafa # Terminal image viewer - duf # Df alternative - feishin # Jellyfin music client - foot - fzf - gh # GitHub CLI tool - glow # Terminal Markdown renderer - jellyfin-media-player - libreoffice-fresh # Office tools - librewolf # Internet browser - mpv # Media player - nsxiv # Lightweight image viewer - qalculate-gtk # Calculator - spotify - unzip - vifm # File manager - zathura # PDF viewer - zellij # Tmux + screen alternative - zsh - zsh-autosuggestions - zsh-syntax-highlighting - - # SMB - cifs-utils - psmisc - - # Linters and LSPs - statix # Nix - # TODO Move to devshells - # ruff pylint # Python - ]) ++ (with pkgs-unstable; [ - logseq # Note taking - ]) ++ [ - inputs.zen-browser.packages.${pkgs.system}.default - ]; }; fonts.packages = with pkgs; [ - corefonts # Calibri for Uni - dejavu_fonts - font-awesome # Dependency of Vifm & zsh config - letter # Personal font - noto-fonts # Dependency of Zellij config - noto-fonts-cjk-sans # Dependency of Zellij config - noto-fonts-cjk-serif # Dependency of Zellij config - noto-fonts-emoji - noto-fonts-color-emoji # Emoji's! - vistafonts # Microsoft fonts + corefonts # Calibri for Uni + font-awesome # Dependency of Vifm & zsh config + letter # Personal font + noto-fonts-cjk # Dependency of Zellij config + noto-fonts # Dependency of Zellij config + vistafonts # Microsoft fonts ]; sisyphus = { programs.spotify-adblock.enable = true; - services.remEYEnder.enable = true; }; home-manager.users.tdpeuter = lib.mkIf config.sisyphus.programs.home-manager.enable { @@ -103,13 +56,46 @@ in { homeDirectory = "/home/${user}"; inherit (config.system) stateVersion; - # packages = (with pkgs; [ - # ]) ++ (with pkgs-unstable; [ - # ]); + packages = (with pkgs; [ + cmdtime # Zsh plugin + icosystem # Personal icon theme + spotify-adblock + ]) ++ (with pkgs-unstable; [ + brave + chafa # Terminal image viewer + duf # Df alternative + foot + fzf + glow # Terminal Markdown renderer + jellyfin-media-player + kitty + libreoffice-fresh + logseq + mpv + nextcloud-client + nsxiv # Lightweight image viewer + qalculate-gtk # Calculator + spotify + unzip + vifm # File manager + zathura # PDF viewer + zellij # Tmux + screen alternative + zsh + zsh-autosuggestions + zsh-syntax-highlighting + + # SMB + cifs-utils psmisc + + # Linters and LSPs + statix # Nix + ruff pylint # Python + ]); pointerCursor = { inherit (cursor) package name size; gtk.enable = true; + x11.enable = true; }; }; @@ -140,12 +126,9 @@ in { }; }; - services.syncthing = { + gtk = { enable = true; - extraOptions = [ - "--no-default-folder" - ]; - tray.enable = true; + cursorTheme = cursor; }; xdg = { diff --git a/nixos/users/tdpeuter/dotfiles.nix b/nixos/users/tdpeuter/dotfiles.nix index 7c0f06e..9766b08 100644 --- a/nixos/users/tdpeuter/dotfiles.nix +++ b/nixos/users/tdpeuter/dotfiles.nix @@ -17,7 +17,7 @@ in { source = ../../../stow/alacritty/.config/alacritty; }; ".config/dunst" = { - enable = config.sisyphus.desktop.hyprland.enable || config.sisyphus.desktop.sway.enable; + inherit (config.sisyphus.desktop.sway) enable; source = ../../../stow/dunst/.config/dunst; }; ".config/foot" = { @@ -66,21 +66,20 @@ in { source = ../../../stow/vifm/.config/vifm; }; ".config/waybar" = { - enable = config.sisyphus.desktop.sway.enable || config.sisyphus.desktop.hyprland.enable; + inherit (config.sisyphus.desktop.sway) enable; source = ../../../stow/waybar/.config/waybar; }; ".config/zellij" = { source = ../../../stow/zellij/.config/zellij; }; - ".gnupg" = { - enable = false; - # inherit (config.programs.gnupg.agent) enable; # TODO Enable Me - source = ../../../stow/gnupg/.gnupg; + ".oh-my-zsh" = { + enable = config.users.users.tdpeuter.shell == pkgs.zsh; + source = "${pkgs.oh-my-zsh}/share/oh-my-zsh"; recursive = true; -# onChange = '' -# chmod 700 /home/tdpeuter/.gnupg -# chmod 600 /home/tdpeuter/.gnupg/* -# ''; + }; + ".oh-my-zsh/themes/tdpeuter.zsh-theme" = { + enable = config.users.users.tdpeuter.shell == pkgs.zsh; + source = ../../../stow/zsh/.oh-my-zsh/themes/tdpeuter.zsh-theme; }; ".ssh/config" = lib.mkIf config.sisyphus.programs.ssh.enable { inherit (config.sisyphus.programs.ssh) enable; @@ -98,15 +97,6 @@ in { }; } (lib.mkIf (config.users.users.tdpeuter.shell == pkgs.zsh) { - ".oh-my-zsh" = { - enable = config.users.users.tdpeuter.shell == pkgs.zsh; - source = "${pkgs.oh-my-zsh}/share/oh-my-zsh"; - recursive = true; - }; - ".oh-my-zsh/themes/tdpeuter.zsh-theme" = { - enable = config.users.users.tdpeuter.shell == pkgs.zsh; - source = ../../../stow/zsh/.oh-my-zsh/themes/tdpeuter.zsh-theme; - }; ".zshrc" = { source = ../../../stow/zsh/.zshrc; }; diff --git a/nixos/users/tdpeuter/firefox.nix b/nixos/users/tdpeuter/firefox.nix index b24a25b..4c4a88c 100644 --- a/nixos/users/tdpeuter/firefox.nix +++ b/nixos/users/tdpeuter/firefox.nix @@ -18,16 +18,7 @@ in { DisableFirefoxStudies = true; DisablePocket = true; DisableTelemetry = true; - FirefoxHome = { - SponsoredTopSites = false; - SponsoredPocket = false; - }; OfferToSaveLogins = false; - - # https://discourse.nixos.org/t/declare-firefox-extensions-and-settings/36265 - ExtensionSettings = { - "amazom@search.mozilla.org".installation_mode = "blocked"; - }; }; # Support smart cards @@ -36,17 +27,13 @@ in { ]; }; - languagePacks = [ - "en-GB" - "nl" - ]; - profiles.tdpeuter.search= { default = "DuckDuckGo"; force = true; engines = { "Bing".metaData.hidden = true; "eBay".metaData.hidden = true; + "Qwant".metaData.hidden = true; "Nix Packages" = { urls = [{ @@ -60,17 +47,6 @@ in { icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; definedAliases = [ "@np" ]; }; - "NixOS Options" = { - urls = [{ - template = "https://search.nixos.org/options"; - params = [ - { name = "query"; value = "{searchTerms}"; } - ]; - }]; - - icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; - definedAliases = [ "@no" ]; - }; "GitHub" = { urls = [{ template = "https://github.com/search"; diff --git a/nixos/users/tdpeuter/mail.nix b/nixos/users/tdpeuter/mail.nix index 2e05b4b..d6b4928 100644 --- a/nixos/users/tdpeuter/mail.nix +++ b/nixos/users/tdpeuter/mail.nix @@ -8,17 +8,13 @@ let Met vriendelijke groeten Tibo De Peuter ''; - english = '' - Kind regards - Tibo De Peuter - ''; - academic = '' + UGent = '' Met vriendelijke groeten Tibo De Peuter - Student Ma Informatica + Student 2Ba/3Ba Informatica ''; - alias = '' + MrFortem = '' Kind regards MrFortem Fiducia ''; @@ -65,7 +61,7 @@ in { realName = config.users.users.tdpeuter.description; signature = { showSignature = "append"; - text = signatures.academic; + text = signatures.UGent; }; thunderbird = { @@ -73,7 +69,7 @@ in { settings = id: { "mail.server.server_${id}.authMethod" = 10; "mail.smtpserver.smtp_${id}.authMethod" = 10; - "mail.identity.id_${id}.htmlSigText" = signatures.academic; + "mail.identity.id_${id}.htmlSigText" = signatures.UGent; # Allow PGP "mail.identity.id_${id}.openpgp_key_id" = "9B11F5243089DB5B"; # Your 'master' key @@ -113,7 +109,7 @@ in { settings = id: { "mail.server.server_${id}.directory" = ".thunderbird/tdpeuter/ImapMail/imap.gmail.com-mrfortem"; "mail.server.server_${id}.directory-rel" = "[ProfD]ImapMail/imap.gmail.com-mrfortem"; - "mail.identity.id_${id}.htmlSigText" = signatures.alias; + "mail.identity.id_${id}.htmlSigText" = signatures.MrFortem; }; }; }; diff --git a/nixos/users/tdpeuter/secrets.nix b/nixos/users/tdpeuter/secrets.nix index e164183..f97cdb0 100644 --- a/nixos/users/tdpeuter/secrets.nix +++ b/nixos/users/tdpeuter/secrets.nix @@ -7,14 +7,9 @@ in { config = lib.mkIf cfg.enable { sops.secrets = lib.mkIf config.sisyphus.programs.sops.enable ( let - HomeLab = { + Hugo = { format = "yaml"; - sopsFile = ../../secrets/HomeLab.yaml; - owner = user; - }; - personal = { - format = "yaml"; - sopsFile = ../../secrets/personal.yaml; + sopsFile = ../../secrets/Hugo.yaml; owner = user; }; UGent = { @@ -23,19 +18,17 @@ in { owner = user; }; in { + "Hugo/ssh" = Hugo; "UGent/HPC/ssh" = UGent; - "UGent/Dwengo" = UGent; - # Git authentication - "Gitea/ssh" = personal; - "GitHub/ssh" = personal; + "GitHub/ssh" = { + format = "yaml"; + sopsFile = ../../secrets/GitHub.yaml; + owner = user; + }; + "Hugo/Gitea/ssh" = Hugo; "UGent/GitHub/ssh" = UGent; "UGent/SubGit/ssh" = UGent; - - # HomeLab - "HomeLab/Gitea/ssh" = HomeLab; - "HomeLab/Hugo/ssh" = HomeLab; - "HomeLab/Nextcloud/ssh" = HomeLab; }); }; } diff --git a/scripts/do-not-disturb.sh b/scripts/do-not-disturb.sh new file mode 100755 index 0000000..c9c5f21 --- /dev/null +++ b/scripts/do-not-disturb.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash +# Script to toggle Do not disturb mode for dunst + +# Get current state +if [ "$( command -v dunstctl )" ]; then + current_state="$( dunstctl is-paused )" +fi + +# Toggle +if [ "${current_state}" == "false" ] ; then + notify-send 'Hiding notifications' + sleep 5 + # makoctl set-mode do-not-disturb + dunstctl set-paused true +else + # makoctl set-mode default + dunstctl set-paused false + notify-send 'Showing notifications' +fi diff --git a/scripts/notify.sh b/scripts/notify.sh index 698993e..a9453d5 100755 --- a/scripts/notify.sh +++ b/scripts/notify.sh @@ -22,15 +22,15 @@ while getopts ":bvt:p:" options; do ;; v) # Get volume (don't use pamixer because that is way slower) - value=$( pactl get-sink-volume @DEFAULT_SINK@ \ - | grep -o '[0-9]*%' \ - | tr -d '%' \ - | head -n1 ) + value=$( amixer sget 'Master' \ + | grep -o '\[[0-9]*%\]' \ + | tr -d '][%' \ + | head -n1 ) title="Volume: ${value}%" category='sysinfo' # If audio disabled, set value to zero. - if [ "$( pactl get-sink-mute @DEFAULT_SINK@ | grep -o '\(yes\|no\)' | head -n1 )" == 'yes' ] ; then + if [ "$( amixer sget 'Master' | grep -o '\[\(on\|off\)\]' | head -n1 )" == "[off]" ] ; then title="Volume: ${value}% (Disabled)" value=0 fi diff --git a/scripts/toggle-light-dark.sh b/scripts/toggle-light-dark.sh index c4667bf..ec38506 100755 --- a/scripts/toggle-light-dark.sh +++ b/scripts/toggle-light-dark.sh @@ -48,14 +48,14 @@ while getopts ":m:g" option; do fi ;; g) - current_state="$(cat "${STATE_FILE}")" - next_state="${theme_next[${current_state}]}" - if [ "${current_state}" == "${THEME_DARK}" ]; then - class='activated' - percentage=100 + previous_theme="$(cat ${STATE_FILE})" + if [ "${previous_theme}" == "${THEME_LIGHT}" ]; then + class="activated" + percentage=1 + else + percentage=0 fi - printf '{"alt": "%s", "tooltip": "Set theme to %s", "percentage": %d, "class": "%s"}' \ - "${gsettings_alt[${current_state}]}" "${next_state}" "${percentage:=0}" "${class:="none"}" + printf '{ "class": "%s", "percentage": %d }' "${class}" "${percentage}" exit 0 ;; *) @@ -119,12 +119,7 @@ fi # Sway if [ "$(command -v swaybg)" ]; then bg_path="${BG_DIR}/${wallpaper[${theme}]}" - /run/current-system/sw/bin/cp "${bg_path}" "${STATE_DIR}/bg" - if [ "$(command -v swaymsg)" ]; then - pkill swaybg && swaymsg exec "swaybg -m fill -i ${STATE_DIR}/bg" & - elif [ "$(command -v hyprctl)" ]; then - pkill swaybg && hyprctl keyword exec "swaybg -m fill -i ${STATE_DIR}/bg" & - fi + /run/current-system/sw/bin/cp "${bg_path}" "${STATE_DIR}/bg" && swaymsg reload & fi # Vifm diff --git a/scripts/toggle-notifications.sh b/scripts/toggle-notifications.sh deleted file mode 100755 index fe5624a..0000000 --- a/scripts/toggle-notifications.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/env bash -# Script to toggle Do not disturb mode for dunst - -# Get current state -if [ "$( command -v dunstctl )" ]; then - current_state="$( dunstctl is-paused )" -fi - -while getopts ":g" option; do - case "${option}" in - g) - if [ "${current_state}" == "false" ]; then - state='normal' - tooltip='Hide notifications' - class='none' - else - state='paused' - tooltip='Show notifications' - class='activated' - fi - printf '{"alt": "%s", "tooltip": "%s", "class": "%s" }' \ - "${state}" "${tooltip}" "${class}" - exit 0 - ;; - esac -done - -# Toggle -if [ "${current_state}" == "false" ] ; then - notify-send 'Hiding notifications' - sleep 5 - - if [ "$(command -v makoctl)" ]; then - makoctl set-mode do-not-disturb - fi - if [ "$(command -v dunstctl)" ]; then - dunstctl set-paused true - fi -else - if [ "$(command -v makoctl)" ]; then - makoctl set-mode default - fi - if [ "$(command -v dunstctl)" ]; then - dunstctl set-paused false - fi - - notify-send 'Showing notifications' -fi diff --git a/scripts/toggle-tailscale.sh b/scripts/toggle-tailscale.sh deleted file mode 100755 index 0263c29..0000000 --- a/scripts/toggle-tailscale.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/env bash -# Script to toggle Do not disturb mode for dunst - -STOPPED_MSG='Tailscale is stopped' - -# Check if tailscale is installed -if [ ! "$( command -v tailscale )" ]; then - echo 'Tailscale is not installed!' - exit 1 -fi - -# Get current state -status="$( tailscale status )" -current_state="$( grep -o "${STOPPED_MSG}" <<< "${status}" )" - -while getopts ":g" option; do - case "${option}" in - g) - if [ "${current_state}" == "${STOPPED_MSG}" ]; then - state='disconnected' - tooltip='Connect tailnet' - else - state='connected' - tooltip="${status:='Disconnect tailnet'}" - fi - - printf '{"alt": "%s", "tooltip": "%q", "class": "%s" }' \ - "${state}" "${tooltip}" "${state}" - exit 0 - ;; - esac -done - -# Toggle -if [ "${current_state}" == "${STOPPED_MSG}" ] ; then - notify-send 'Connecting tailnet' - notify-send 'Connected tailnet' "$( tailscale up )" -else - notify-send 'Disconnecting tailnet' - notify-send 'Disconnected tailnet' "$( tailscale down )" -fi diff --git a/stow/foot/.config/foot/foot.ini b/stow/foot/.config/foot/foot.ini index efcd8d9..51fdc7e 100644 --- a/stow/foot/.config/foot/foot.ini +++ b/stow/foot/.config/foot/foot.ini @@ -29,7 +29,7 @@ dpi-aware=yes # initial-window-size-pixels=700x500 # Or, # initial-window-size-chars= # initial-window-mode=windowed -#pad=10x10 # optionally append 'center' +pad=10x10 # optionally append 'center' # resize-delay-ms=100 # notify=notify-send -a ${app-id} -i ${app-id} ${title} ${body} diff --git a/stow/gnupg/.gnupg/gpg-agent.conf b/stow/gnupg/.gnupg/gpg-agent.conf deleted file mode 100644 index a11a3bd..0000000 --- a/stow/gnupg/.gnupg/gpg-agent.conf +++ /dev/null @@ -1,5 +0,0 @@ -enable-ssh-support -default-cache-ttl 60 -default-cache-ttl-ssh 60 -max-cache-ttl 120 -max-cache-ttl-ssh 120 diff --git a/stow/gnupg/.gnupg/gpg.conf b/stow/gnupg/.gnupg/gpg.conf deleted file mode 100644 index bb37abf..0000000 --- a/stow/gnupg/.gnupg/gpg.conf +++ /dev/null @@ -1,37 +0,0 @@ -# Use UTF-8 character encoding everywhere. -display-charset utf-8 -utf8-strings - -# When verifying a signature made from a subkey, require that the -# cross-certification "back signature" on the subkey is present and valid. -require-cross-certification - -# Method references -personal-cipher-preferences AES256 AES192 AES -personal-digest-preferences SHA512 SHA384 SHA256 -personal-compress-preferences ZLIB BZIP2 ZIP Uncompressed - -# New keys config -default-preference-list SHA512 SHA384 SHA256 AES256 AES192 AES ZLIB BZIP2 ZIP Uncompressed -cert-digest-algo SHA512 - -# Symmatric ops -s2k-digest-algo SHA512 -s2k-cipher-algo AES256 -# Disable cahcing of passphrase for symmatrical ops -no-symkey-cache - -# Don't leak comments or software version information -no-comments -no-emit-version - -# Display full fingerprints -keyid-format 0xlong -with-fingerprint - -# Other display preferences -list-options show-uid-validity -verify-options show-uid-validity - -# Enable smart card -use-agent diff --git a/stow/gnupg/.gnupg/scdaemon.conf b/stow/gnupg/.gnupg/scdaemon.conf deleted file mode 100644 index 9f0e146..0000000 --- a/stow/gnupg/.gnupg/scdaemon.conf +++ /dev/null @@ -1,7 +0,0 @@ -# Power down and ask PIN again after timout. -card-timeout 180 # 3 minutes - -# Fix repeatedly prompting for an already-inserted YubiKey. -# It works by disabling CCID-support, so it does not clash with pcsc. -disable-ccid - diff --git a/stow/ssh/.ssh/config b/stow/ssh/.ssh/config index aacb461..74bb449 100644 --- a/stow/ssh/.ssh/config +++ b/stow/ssh/.ssh/config @@ -1,21 +1,21 @@ +Host Hugo + User admin + HostName 192.168.0.11 + IdentitiesOnly yes + IdentityFile /run/secrets/Hugo/ssh + Host HPC User vsc44995 HostName login.hpc.ugent.be IdentitiesOnly yes IdentityFile /run/secrets/UGent/HPC/ssh -Host Dwengo - User tibo - HostName sel2-1.ugent.be - IdentitiesOnly yes - IdentityFile /run/secrets/UGent/Dwengo - # Git authentication Host git.depeuter.dev User git HostName git.depeuter.dev IdentitiesOnly yes - IdentityFile /run/secrets/Gitea/ssh + IdentityFile /run/secrets/Hugo/Gitea/ssh Host github.com User git @@ -36,21 +36,3 @@ Host subgit.ugent.be IdentityFile /run/secrets/UGent/SubGit/ssh CanonicalizeHostname yes # Ignore capitalization -# HomeLab -Host Gitea - User admin - HostName 192.168.0.24 - IdentitiesOnly yes - IdentityFile /run/secrets/HomeLab/Gitea/ssh - -Host Hugo - User admin - HostName 192.168.0.11 - IdentitiesOnly yes - IdentityFile /run/secrets/HomeLab/Hugo/ssh - -Host Nextcloud - User administrator - Hostname 192.168.0.14 - IdentitiesOnly yes - IdentityFile /run/secrets/HomeLab/Nextcloud/ssh diff --git a/stow/sway/.config/sway/config b/stow/sway/.config/sway/config index e10c9dc..922a75b 100644 --- a/stow/sway/.config/sway/config +++ b/stow/sway/.config/sway/config @@ -61,9 +61,5 @@ exec wlsunset -l 50.50 -L 4.00 -t 3000 -T 6500 exec gnome-keyring-daemon --start --components=secrets # Secrets exec dunst --verbosity crit # Notification manager exec swayidle -w -exec waycorner exec nextcloud --background - -# SwayFX -blur enable diff --git a/stow/sway/.config/sway/input-output b/stow/sway/.config/sway/input-output index 97bf8cc..9c23892 100644 --- a/stow/sway/.config/sway/input-output +++ b/stow/sway/.config/sway/input-output @@ -1,6 +1,6 @@ input type:keyboard { - xkb_layout "us","be" - xkb_variant "altgr-intl","iso-alternate" + xkb_layout "us" + xkb_variant "altgr-intl" } input type:touchpad { diff --git a/stow/sway/.config/sway/keybinds b/stow/sway/.config/sway/keybinds index 0c4bf47..7a75d3f 100644 --- a/stow/sway/.config/sway/keybinds +++ b/stow/sway/.config/sway/keybinds @@ -1,8 +1,7 @@ set $notify ~/projects/sisyphus/scripts/notify.sh +# Focus bindsym { - - # Focus $flag+$up focus up $flag+$right focus right $flag+$down focus down @@ -15,8 +14,10 @@ bindsym { $flag+p focus parent $flag+space focus mode_toggle +} - # Move windows +# Move windows +bindsym { $flag+Shift+$up move up $flag+Shift+$right move right $flag+Shift+$down move down @@ -31,8 +32,10 @@ bindsym { $flag+KP_Next move scratchpad $flag+Prior scratchpad show $flag+KP_Prior scratchpad show +} - # Layouts +# Layouts +bindsym { $flag+z layout toggle split $flag+x layout tabbed $flag+c split h @@ -206,23 +209,23 @@ bindsym { -B 'Yes, exit sway' 'swaymsg exit' # Kill focused window - $flag+q kill + $flag+q kill # Start a terminal - $flag+Return exec $term - Control+$alt+t exec $term - - $alt+space exec $menu - $alt+Tab focus prev - $flag+Tab exec $window_switcher + $flag+Return exec $term + $alt+space exec $menu + $alt+Tab focus prev + $flag+Tab exec $window_switcher --whole-window $alt+$scrollUp focus prev --whole-window $alt+$scrollDown focus next # Lock the screen - $flag+Delete exec $lock + $flag+Delete exec $lock # File explorer - $flag+e exec $term -e vifm + $flag+e exec $term -e vifm + # Internet browser + $flag+i exec firefox } bindgesture { diff --git a/stow/sway/.config/sway/modes b/stow/sway/.config/sway/modes index d62608f..6a80baa 100644 --- a/stow/sway/.config/sway/modes +++ b/stow/sway/.config/sway/modes @@ -5,51 +5,42 @@ set $default "default" # Resizing -set $mode_resize "Resize" -bindsym $flag+r mode $mode_resize -mode $mode_resize { - bindsym { - $right resize grow width 10 px or 10 ppt - $up resize grow height 10 px or 10 ppt - $left resize shrink width 10 px or 10 ppt - $down resize shrink height 10 px or 10 ppt +set $resize "Resize" +bindsym $flag+r mode $resize +mode $resize bindsym { + $right resize grow width 10 px or 10 ppt + $up resize grow height 10 px or 10 ppt + $left resize shrink width 10 px or 10 ppt + $down resize shrink height 10 px or 10 ppt - Right resize grow width 10 px or 10 ppt - Up resize grow height 10 px or 10 ppt - Left resize shrink width 10 px or 10 ppt - Down resize shrink height 10 px or 10 ppt + Right resize grow width 10 px or 10 ppt + Up resize grow height 10 px or 10 ppt + Left resize shrink width 10 px or 10 ppt + Down resize shrink height 10 px or 10 ppt - Shift+$right resize grow width 50 px or 50 ppt - Shift+$up resize grow height 50 px or 50 ppt - Shift+$left resize shrink width 50 px or 50 ppt - Shift+$down resize shrink height 50 px or 50 ppt + Shift+$right resize grow width 50 px or 50 ppt + Shift+$up resize grow height 50 px or 50 ppt + Shift+$left resize shrink width 50 px or 50 ppt + Shift+$down resize shrink height 50 px or 50 ppt - Shift+Right resize grow width 50 px or 50 ppt - Shift+Up resize grow height 50 px or 50 ppt - Shift+Left resize shrink width 50 px or 50 ppt - Shift+Down resize shrink height 50 px or 50 ppt + Shift+Right resize grow width 50 px or 50 ppt + Shift+Up resize grow height 50 px or 50 ppt + Shift+Left resize shrink width 50 px or 50 ppt + Shift+Down resize shrink height 50 px or 50 ppt - $flag+$right move right - $flag+$up move up - $flag+$left move left - $flag+$down move down + $flag+$right move right + $flag+$up move up + $flag+$left move left + $flag+$down move down - $flag+Right move right - $flag+Up move up - $flag+Left move left - $flag+Down move down + $flag+Right move right + $flag+Up move up + $flag+Left move left + $flag+Down move down - $flag+r mode $default - Escape mode $default - Return mode $default - } - - bindgesture { - swipe:2:right resize grow width 10 px or 10 ppt - swipe:2:down resize grow height 10 px or 10 ppt - swipe:2:left resize shrink width 10 px or 10 ppt - swipe:2:up resize shrink height 10 px or 10 ppt - } + Return mode $default + Escape mode $default + $flag+r mode $default } # System actions @@ -62,23 +53,9 @@ mode $mode_system bindsym { r mode $default, exec systemctl reboot Shift+s mode $default, exec systemctl poweroff -i - Control+$alt+Delete mode $default - Escape mode $default Return mode $default -} - -set $mode_preferences "Toggle (d)ark mode, (s)unset, (n)otification" -bindsym $alt+end mode $mode_preferences -bindsym $alt+KP_End mode $mode_preferences -mode $mode_preferences bindsym { - d exec "${SCRIPT_DIR}/toggle-light-dark.sh", mode $default - s exec "${SCRIPT_DIR}/sunset.sh", mode $default - n exec "${SCRIPT_DIR}/do-not-disturb.sh", mode $default - - $alt+end mode $default - $alt+KP_End mode $default - Escape mode $default - Return mode $default + Escape mode $default + Control+$alt+Delete mode $default } # Screenshots @@ -95,23 +72,20 @@ mode $mode_screenshot bindsym { Shift+s exec grimshot --notify save screen $save_format, mode $default Print exec grimshot --notify save screen $save_format, mode $default - Escape mode $default Return mode $default + Escape mode $default } -# Launcher -set $mode_launcher "Launch (f)irefox, (s)potify or (t)hunderbird." -bindsym $flag+o mode $mode_launcher -mode $mode_launcher bindsym { - f exec firefox, mode $default - t exec thunderbird, mode $default +set $mode_preferences "Toggle (d)ark mode, (s)unset, (n)otification" +bindsym $alt+end mode $mode_preferences +bindsym $alt+KP_End mode $mode_preferences +mode $mode_preferences bindsym { + d exec "${SCRIPT_DIR}/toggle-light-dark.sh", mode $default + s exec "${SCRIPT_DIR}/sunset.sh", mode $default + n exec "${SCRIPT_DIR}/do-not-disturb.sh", mode $default - $flag+o mode $default - Escape mode $default - Return mode $default + Return mode $default + Escape mode $default + $alt+end mode $default + $alt+KP_End mode $default } - -# Ignore (all) keybinds. Useful when working with Virtual Machines. -set $mode_ignore "Ignore keybinds - Press Control+Alt+Insert to escape." -bindsym Control+$alt+Insert mode $mode_ignore -mode $mode_ignore bindsym Control+$alt+Insert mode $default diff --git a/stow/sway/.config/sway/style b/stow/sway/.config/sway/style index 8aea2fc..7377b3b 100644 --- a/stow/sway/.config/sway/style +++ b/stow/sway/.config/sway/style @@ -15,10 +15,6 @@ default_border pixel 1 default_floating_border normal 1 hide_edge_borders smart smart_borders on -gaps { - inner 5 - outer 3 -} # Mimic no titles by setting the text color to background color # border backgr. text indic. child_border diff --git a/stow/swaylock/.config/swaylock/config b/stow/swaylock/.config/swaylock/config index 96b053f..b8de2e9 100644 --- a/stow/swaylock/.config/swaylock/config +++ b/stow/swaylock/.config/swaylock/config @@ -8,10 +8,8 @@ indicator-radius=200 clock datestr=%A, %B %d %Y -show-failed-attempts - screenshots -effect-pixelate=10 +effect-blur=5x5 effect-vignette=0.75:0 # Darken the whole screen. fade-in=0.25 @@ -20,35 +18,25 @@ grace-no-mouse # Styling -color=000000 # The default background color when no image could be loaded - font=letter extended text-color=ffffff text-clear-color=ffffff -text-caps-lock-color=ffffff -text-wrong-color=bd2024 - -layout-text-color=ffffff +text-wrong-color=eb4d4b # Make all the other stuff invisible -inside-color=00000000 -inside-clear-color=00000000 -inside-caps-lock-color=00000000 -inside-ver-color=00000000 -inside-wrong-color=00000000 key-hl-color=00000000 -layout-bg-color=00000000 -layout-border-color=00000000 -line-color=00000000 -line-clear-color=00000000 -line-caps-lock-color=00000000 -line-ver-color=00000000 -line-wrong-color=00000000 +separator-color=00000000 ring-color=00000000 ring-clear-color=00000000 -ring-caps-lock-color=00000000 ring-ver-color=00000000 ring-wrong-color=00000000 -separator-color=00000000 +line-color=00000000 +line-clear-color=00000000 +line-ver-color=00000000 +line-wrong-color=00000000 +inside-color=00000000 +inside-clear-color=00000000 +inside-ver-color=00000000 +inside-wrong-color=00000000 text-ver-color=00000000 diff --git a/stow/vim/.vimrc b/stow/vim/.vimrc index 379ddb4..5995924 100644 --- a/stow/vim/.vimrc +++ b/stow/vim/.vimrc @@ -82,9 +82,6 @@ Plug 'prabirshrestha/vim-lsp' Plug 'sheerun/vim-polyglot' Plug 'vifm/vifm.vim' -" Coq -Plug 'whonore/Coqtail' - call plug#end() " }}} diff --git a/stow/waybar/.config/waybar/config b/stow/waybar/.config/waybar/config new file mode 100644 index 0000000..0040220 --- /dev/null +++ b/stow/waybar/.config/waybar/config @@ -0,0 +1,42 @@ +// +// ~/.config/waybar/config +// + +[{ + "name": "toggle", + + "mode": "hide", + "ipc": true, + + "position": "top", + "height": 25, + "spacing": 4, + "margin": "-25px 0 0 0", // Show this bar on top of the other one, seemingly the "same" one. + + "custom/sep": { + "format": "\uf142" + }, + + "include": [ + // Import modules (!) + "~/.config/waybar/modules.json", +// "~/.config/waybar/default.json" + "~/.config/waybar/left.json" + ], + +}, + +{ + "name": "keep", + "position": "top", + "height": 25, + "modules-left": ["sway/mode", "keyboard-state"], + "modules-center": ["clock"], + "modules-right": ["privacy"], + + "include": [ + // Import modules (!) + "~/.config/waybar/modules.json" + ], +}] + diff --git a/stow/waybar/.config/waybar/config.jsonc b/stow/waybar/.config/waybar/config.jsonc deleted file mode 100644 index 2a4f8a4..0000000 --- a/stow/waybar/.config/waybar/config.jsonc +++ /dev/null @@ -1,60 +0,0 @@ -/* * * * * * * * * * * * * * * * * - * * - * ~/.config/waybar/config.jsonc * - * * - * * * * * * * * * * * * * * * * */ - -[ - /* Always visible, contains less information */ - { - "name": "keep", - "position": "top", - "height": 26, - "modules-left": [ - "group/mode" - ], - "modules-center": [ - "clock#center" - ], - "modules-right": [ - "keyboard-state#numlock", - "keyboard-state#capslock", - "privacy" - ], - "include": [ - "~/.config/waybar/modules.json" - ] - }, - - /* Toggle this bar, contains all information */ - { - "name": "toggle", - "mode": "hide", - "ipc": true, - "position": "top", - "height": 26, - /* Show this bar on top of the other one, seemingly replacing it. */ - "margin": "-26px 0 0 0", - "modules-left": [ - "custom/meta", - "sway/window", - "group/workspaces", - "custom/scratchpad-indicator", - ], - "modules-center": [ - "mpris" - ], - "modules-right": [ - "privacy", - "tray", - "group/control-center", - "group/network", - "pulseaudio", - "group/power", - "clock#bar" - ], - "include": [ - "~/.config/waybar/modules.json" - ] - } -] diff --git a/stow/waybar/.config/waybar/left.json b/stow/waybar/.config/waybar/left.json index 86b9a00..b267c82 100644 --- a/stow/waybar/.config/waybar/left.json +++ b/stow/waybar/.config/waybar/left.json @@ -2,15 +2,17 @@ "modules-left": [ "sway/workspaces", "custom/scratchpad-indicator", - "group/system" + "mpris", + "group/system", ], "modules-right": [ - "tray", - "sway/language", + "group/hardware", + "custom/sep", "bluetooth", "network", "pulseaudio", - "group/battery", - "mpris" + "battery", + "custom/sep", + "tray" ] } diff --git a/stow/waybar/.config/waybar/modern.css b/stow/waybar/.config/waybar/modern.css deleted file mode 100644 index 35ce570..0000000 --- a/stow/waybar/.config/waybar/modern.css +++ /dev/null @@ -1,80 +0,0 @@ -@define-color foreground rgb(202, 202, 202); -@define-color background rgb( 3, 3, 3); - -@define-color highlight-background alpha(@foreground, 0.4); - -@define-color accent #00897b; -@define-color white #ecf0f1; -@define-color warning-red #eb4d4b; - -* { - font-family: letter, "Font Awesome 6 Free", font-awesome, monospace; - font-size: 13px; - font-weight: 600; -} - -window#waybar { - border: none; - color: @white; - - transition-property: background-color; - transition-duration: .5s; -} - -window#waybar.keep { - background-color: @transparent; -} - -window#waybar.toggle { - background-color: alpha(@foreground, 0.4); -} - -tooltip { - background: alpha(@background, 0.8); -} -tooltip label { - color: @white; -} - -#workspaces button { - border: none; - padding: 0 8px; - border-radius: 5px; - animation: ws_normal 20s ease-in-out 1; -} - -#mode, -#workspaces button.focused { - background-color: alpha(@background, 0.2); -} - -#workspaces button:hover { - background-color: alpha(@background, 0.2); -} - -#battery, -#disk, -#bluetooth, -#clock, -#custom-browser, -#custom-scratchpad-indicator, -#custom-system-hibernate, #custom-system-lock, #custom-system-reboot, #custom-system-shutdown, #custom-system-sleep, -#custom-toggle-light-dark, -#custom-toggle-night-light, -#custom-toggle-notifications, -#cpu, -#idle_inhibitor, -#keyboard-state, -#memory, -#mpris, -#network, -#sway-language, -#sway-window, -#power-profiles-daemon, -#privacy, -#pulseaudio, -#temperature, -#tray { - color: @white; -} - diff --git a/stow/waybar/.config/waybar/modules.json b/stow/waybar/.config/waybar/modules.json index 21b3534..4edc818 100644 --- a/stow/waybar/.config/waybar/modules.json +++ b/stow/waybar/.config/waybar/modules.json @@ -2,398 +2,291 @@ "battery": { "format": "{capacity}% {icon}", "format-alt": "{time} {icon}", - "format-charging": "{capacity}% \ue55b", /*  */ + "format-charging": "{capacity}% \uf0e7 {icon}", + "format-icons": ["\uf244", "\uf243", "\uf242", "\uf241", "\uf240"], "format-plugged": "{capacity}% \ue55c", - "format-icons": [ - "\uf244", /*  */ - "\uf243", /*  */ - "\uf242", /*  */ - "\uf241", /*  */ - "\uf240" /*  */ - ], - "states": { - "warning": 25, - "critical": 12 + "states": { + "warning": 30, + "critical": 15 } }, + "disk": { + "interval": 30, + "format": "{percentage_used}% \uf0a0", + "on-click": "kitty -e duf /", + "path": "/", + "tooltip-format": "{used} used out of {total} on {path} ({percentage_free}% or {free} free)" + }, + "bluetooth": { - "format-disabled": "\uf294", /*  */ - "format-off": "\uf294", /*  */ - "format-on": "\uf294", /*  */ - "format-connected": "\uf294c", /* c */ + "format-disabled": "\uf294", + "format-off": "\uf294", + "format-on": "\uf294", + "format-connected": "\uf294c", "max-length": 10.3, "on-click": "bluetoothctl power $( bluetoothctl show | sed -n 's/\\s*Powered: \\(yes\\|no\\)/\\1/p' | sed 's/yes/off/;s/no/on/' )", + "on-click-right": "kitty -e bluetoothctl", "tooltip-format": "{status}", "tooltip-format-on": "{status}, no devices connected", "tooltip-format-connected": "{status} ({num_connections}):\n{device_enumerate}", "tooltip-format-enumerate-connected": "{device_alias} ({device_address})", "tooltip-format-enumerate-connected-battery": "{device_alias}\t{device_address}\t{device_battery_percentage}" }, - - "clock#center": { + + "clock": { "format": "{:%H:%M}", - "format-alt": "{:%a %b %d, %Y, %R}", + "format-alt": "{:%d/%m/%Y %H:%M}", "timezone": "Europe/Brussels", - "tooltip-format": "{:%Y %B}\n{calendar}", - "calendar": { - "mode": "month", - "week-pos": "left", - "format": { - /* Highlight todays date. */ - "today": "{}" - } - }, - "actions": { - "on-click": "mode" - } + "tooltip-format": "{:%Y %B}\n{calendar}" }, - "clock#bar": { - "format": "{:%a %b %d, %R}", - "timezone": "Europe/Brussels", - "tooltip-format": "{:%Y %B}\n{calendar}", - "calendar": { - "mode-mon-col": 3, - "on-scroll": 1, - "format": { - /* Highlight today's date. */ - "today": "{}" - } - }, - "actions": { - "on-click": "mode" - } + "custom/browser": { + "format": "\uf120", + "on-click": "dmenu_run", + "tooltip-format": "Launch an application" }, - "custom/control-center": { - "format": "\uf085", /*  */ - "tooltip": false + "custom/light-dark-toggle": { + "on-click": "bash ${SCRIPT_DIR}/toggle-light-dark.sh", + "tooltip-format": "Toggle between light and dark mode", + "format": "\uf042 ", + "tooltip": true }, - "custom/meta": { - "format": "\uf17c", /*  */ - "tooltip": false, - "on-click": "dmenu_run" + "custom/night-light-toggle": { + "on-click": "bash ${SCRIPT_DIR}/sunset.sh", + "tooltip-format": "Toggle night-light on or off", + "format": "\uf0eb ", + "tooltip": true, + "tooltip-format": "Toggle night-light on or off", }, "custom/scratchpad-indicator": { "interval": 3, "return-type": "json", "exec": "swaymsg -t get_tree | jq --unbuffered --compact-output '(recurse(.nodes[]) | select(.name == \"__i3_scratch\") | .focus) as $scratch_ids | [.. | (.nodes? + .floating_nodes?) // empty | .[] | select(.id |IN($scratch_ids[]))] as $scratch_nodes | if ($scratch_nodes|length) > 0 then { text: \"\\($scratch_nodes | length)\", tooltip: $scratch_nodes | map(\"\\(.app_id // .window_properties.class) (\\(.id)): \\(.name)\") | join(\"\\n\") } else empty end'", - "format": "\uf2d2 {}", + "format": "{} \uf2d2", "on-click": "exec swaymsg 'scratchpad show'", "on-click-right": "exec swaymsg 'move scratchpad'" }, "custom/system-lock": { - "format": "\uf09c", /*  */ + "format": "\uf09c", "tooltip": true, "tooltip-format": "Lock device", "on-click": "swaylock -f" }, "custom/system-sleep": { - "format": "\uf186", /*  */ + "format": "\uf186", "tooltip": true, "tooltip-format": "Put device to sleep", "on-click": "swaylock -f; systemctl suspend" }, "custom/system-hibernate": { - "format": "\uf2dc", /*  */ + "format": "\uf2dc", "tooltip": true, "tooltip-format": "Hibernate device", "on-click": "swaylock -f; systemctl hibernate" }, "custom/system-reboot": { - "format": "\uf0e2", /*  */ + "format": "\uf0e2", "tooltip": true, "tooltip-format": "Reboot device", "on-click": "systemctl reboot" }, "custom/system-shutdown": { - "format": "\uf011", /*  */ + "format": "\uf011", "tooltip": true, "tooltip-format": "Shutdown device", "on-click": "systemctl poweroff -i" }, - "custom/toggle-light-dark": { - "exec": "sleep 1 && bash ~/projects/sisyphus/scripts/toggle-light-dark.sh -g", - "return-type": "json", - "on-click": "bash ~/projects/sisyphus/scripts/toggle-light-dark.sh", - "format": "{icon}", - "format-icons": { - "default": "\uf185", - "prefer-dark": "\uf005" - }, - "tooltip": true - }, - "custom/toggle-notifications": { - "exec": "sleep 6 && bash ~/projects/sisyphus/scripts/toggle-notifications.sh -g", - "return-type": "json", - "on-click": "bash ~/projects/sisyphus/scripts/toggle-notifications.sh", - "format": "NOTIS {icon}", - "format-icons": { - "normal": "NRML", - "paused": "PAISED" - }, + "on-click": "bash ${SCRIPT_DIR}/do-not-disturb.sh", + "tooltip-format": "Toggle notifications", + "format": "\uf1f6 ", + "tooltip": true + }, + + "cpu": { + "format": "{usage}% \uf2db", + "on-click": "foot -e htop", "tooltip": true }, - "custom/toggle-tailscale": { - "exec": "sleep 2 && bash ~/projects/sisyphus/scripts/toggle-tailscale.sh -g", - "return-type": "json", - "on-click": "bash ~/projects/sisyphus/scripts/toggle-tailscale.sh", - "format": "{icon}", - "format-icons": { - "disconnected": "\ue50b", - "connected": "\ue509", - }, - "tooltip": true - }, - - "group/control-center": { + "group/hardware": { "orientation": "inherit", "modules": [ - "custom/control-center", - "group/language", - /* "hyprland/language", "sway/language", */ - "custom/toggle-notifications", - "custom/toggle-light-dark", - "bluetooth" - ], - "drawer": { - "transition-duration": 500, - "transition-left-to-right": false, - "children-class": "drawer-child" - } - }, - - "group/language": { - "orientation": "inherit", - "modules": [ - "hyprland/language", - "sway/language" - ] - }, - - "group/mode": { - "orientation": "inherit", - "modules": [ - "hyprland/submap", - "sway/mode" - ] - }, - - "group/network": { - "orientation": "inherit", - "modules": [ - /* Preview */ - "network", - /* Most-left */ - "custom/toggle-tailscale" - /* Most-right */ - ], - "drawer": { - "transition-duration": 500, - "transition-left-to-right": false, - "children-class": "drawer-child" - } - }, - - "group/power": { - "orientation": "inherit", - "modules": [ - /* Preview */ - "battery", - /* Most-left */ + "power-profiles-daemon", + "memory", + "cpu", + "temperature", "custom/system-shutdown", "custom/system-reboot", "custom/system-hibernate", "custom/system-sleep", "custom/system-lock", - "power-profiles-daemon", - "idle_inhibitor" - /* Most-right */ ], "drawer": { "transition-duration": 500, "transition-left-to-right": false, - "children-class": "drawer-child" - } + "children-class": "drawer-child", + }, }, - "group/workspaces": { + "group/system": { "orientation": "inherit", "modules": [ - "hyprland/workspaces", - "sway/workspaces" - ] - }, - - "hyprland/language": { - "format": "\uf11c", - "on-click": "hyprctl switchxkblayout at-translated-set-2-keyboard next && notify-send \"$(hyprctl devices -j | jq -r '.keyboards[] | select(.name == \"at-translated-set-2-keyboard\") | .active_keymap')\" --app-name 'waybar'", - "tooltip": true, - "tooltip-format": "Switch keyboard layouts", - "keyboard-name": "at-translated-set-2-keyboard" - }, - - "hyprland/workspaces": { - "all-outputs": false, - "disable-scroll": true, - "format": "{icon}{name}", - "format-icons": { - "default": "", - "urgent": "\uf071 " /*  */ - } + "idle_inhibitor", + "custom/light-dark-toggle", + "custom/night-light-toggle", + "custom/toggle-notifications", + ], + "drawer": { + "transition-duration": 500, + "tansition-left-to-right": true, + "children-class": "drawer-child", + }, }, "idle_inhibitor": { "format": "{icon}", "format-icons": { - "activated": "\uf06e", /*  */ - "deactivated": "\uf070" /*  */ - }, + "activated": "\uf06e", + "deactivated": "\uf070" + }, "tooltip": false }, - "keyboard-state#capslock": { - "capslock": true, + "keyboard-state": { "format": { - "capslock": "{icon}" + "capslock": "{icon}", }, "format-icons": { - "locked": "\uf11c", /*  */ + "locked": "\uf023", "unlocked": "" - } + }, + "numlock": false, + "capslock": true, + "scrollock": false, }, - "keyboard-state#numlock": { - "numlock": true, - "format": { - "numlock": "{icon}" - }, - "format-icons": { - "locked": "\uf1ec", /*  */ - "unlocked": "" - } + "memory": { + "format": "{}% \uf1c0", + "on-click": "kitty -e zenith" }, "mpris": { + // "ignored-players": ["firefox"] "format": "{player_icon} {dynamic}", "format-paused": "{status_icon} {dynamic}", "tooltip-format": "{player} ({status}) {title} - {artist} - {album}", "player-icons": { - "default": "\uf8d9", /*  */ - "mpv": "\uf144", /*  */ - "spotify": "\uf1bc" /*  */ + "default": "\uf51f", + "spotify": "\uf1bc", + "mpv": "🎵" }, "status-icons": { - "paused": "\uf04c" /*  */ + "paused": "⏸" }, "dynamic-order": [ "title", "artist" ], - "dynamic-len": 40 + "dynamic-len": 40, }, "network": { - "format-disconnected": "\uf127", /*  */ - "format-ethernet": "\uf6ff", /*  */ - "format-linked": "\uf0c1", /*  */ - "format-wifi": "{icon}", + "format-disconnected": "\uf127", + "format-ethernet": "\uf6ff {ifname}: {ipadds}/{cidr}", + "format-wifi": "\uf1eb", "interval": 5, - "tooltip": true, + "on-click-right": "kitty -e nmtui", "tooltip-format": "{ifname}: {ipaddr}", "tooltip-format-disconnected": "Disconnected", - "tooltip-format-wifi": "{essid} ({signalStrength}%)\n{ifname}: {ipaddr}", - "format-icons": [ - "\uf05e", /*  */ - "\uf1eb", /*  */ - "\uf1eb" /*  */ - ] - }, - - "power-profiles-daemon": { - "format": "{icon}", - "format-icons": { - "default": "\uf110", /*  */ - "performance": "\uf135", /*  */ - "balanced": "\uf24e", /*  */ - "power-saver": "\uf06c" /*  */ - }, - "tooltip": true, - "tooltip-format": "Profile: {profile}\nDriver: {driver}" - }, - - "privacy": { - "transition-duration": 250, - "icon-size": 16, - "modules": [ - { - "type": "screenshare", - "tooltip": true - }, - { - "type": "audio-in", - "tooltip": true - } - ] - }, - - "pulseaudio": { - "format": "{volume}% {icon}", - "format-headset": "{volume}% \uf58f", /*  */ - "format-muted": "\uf6a9", /*  */ - "format-icons": [ - "\uf026", /*  */ - "\uf027", /*  */ - "\uf028" /*  */ - ], - "scroll-step": 2.0, - "on-click": "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" - }, - - "sway/language": { - "format": "{short}", - "on-click": "swaymsg input type:keyboard xkb_switch_layout next", - "tooltip": true, - "tooltip-format": "Switch keyboard layouts" + "tooltip-format-wifi": "{essid} ({signalStrength}%)\n{ifname}: {ipaddr}" }, "sway/window": { - "format": "{title}", - "max-length": 20, - "tooltip": true, - "all-outputs": true, - "icon": false, - "icon-size": 18, - "rewrite": { - ".* - (.*)": "$1", - ".* — (.*)": "$1" - } + "max-length": 85 }, "sway/workspaces": { "all-outputs": false, "disable-scroll": true, - "format": "{icon}{name}", + "format": "{icon}{name}", "format-icons": { - "default": "", - "urgent": "\uf071 " /*  */ + "default": "", // Prevent showing workspace name literal. + "urgent": "\uf071 " + }, + // "persistent_workspaces": { + // "0:¯\\_(ツ)_/¯": [] + // } + }, + + "power-profiles-daemon": { + "format": "{icon}", + "tooltip-format": "Power profile: {profile}\nDriver: {driver}", + "tooltip": true, + "format-icons": { + "default": "", + "performance": "", + "balanced": "", + "power-saver": "" } }, + "privacy": { + "icon-spacing": 4, + "icon-size": 18, + "transition-duration": 250, + "modules": [ + { + "type": "screenshare", + "tooltip": true, + "tooltip-icon-size": 18, + }, + { + "type": "audio-in", + "tooltip": true, + "tooltip-icon-size": 18, + }, + ], + }, + + "pulseaudio": { + "format": "{volume}% {icon}{format_source}", + "format-muted": "\uf6a9{format_source}", + "format-bluetooth": "{volume}% {icon}\uf294{format_source}", + "format-bluetooth-muted": "\uf6a9 {icon}\uf294{format_source}", + "format-source": " {volume}% \uf130", + "format-source-muted": "", + "format-icons": { + "headphone": "\uf58f", + "hands-free": "\uf590", + "headset": "\uf590", + "phone": "\uf3ce", + "portable": "\uf3ce", + "car": "\uf1b9", + "default": ["\uf026", "\uf027", "\uf028 "] + }, + "on-click": "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle", + "on-click-right": "pavucontrol", + "scroll-step": 2 + }, + + "temperature": { + "critical-threshold": 70, + "format": "{temperatureC}°C {icon}", + "format-icons": ["\uf2cb", "\uf2c9", "\uf2c7"] + }, + "tray": { - "icon-size": 16, - "show-passive-items": true, "spacing": 10 } } diff --git a/stow/waybar/.config/waybar/style-dark.css b/stow/waybar/.config/waybar/style-dark.css deleted file mode 100644 index d99a2e8..0000000 --- a/stow/waybar/.config/waybar/style-dark.css +++ /dev/null @@ -1,14 +0,0 @@ -@import 'style.css'; - -* { - color: #C2C2C2; -} - -window#waybar { - background-color: #171717; -} - -window#waybar button.focused { - background-color: #C2C2C2; -} - diff --git a/stow/waybar/.config/waybar/style-light.css b/stow/waybar/.config/waybar/style-light.css deleted file mode 100644 index a0bf37e..0000000 --- a/stow/waybar/.config/waybar/style-light.css +++ /dev/null @@ -1,14 +0,0 @@ -@import 'style.css'; - -* { - color: #171717; -} - -window#waybar { - background-color: #C2C2C2; -} - -window#waybar button.focused { - background-color: #171717; -} - diff --git a/stow/waybar/.config/waybar/style.css b/stow/waybar/.config/waybar/style.css index 11d3b20..f9fe080 100644 --- a/stow/waybar/.config/waybar/style.css +++ b/stow/waybar/.config/waybar/style.css @@ -1,119 +1,165 @@ -/* * * * * * * * * * * * * * * * - * * - * ~/.config/waybar/style.css * - * * - * * * * * * * * * * * * * * * */ +/* + * ~/.config/waybar/style.css + * + * `otf-font-awesome` is required to be installed for icons. + * + * Pick your stylesheet: + * - sharp.css + * - transparent.css + * - round.css + */ -@define-color background #C2C2C2; -@define-color foreground #171717; - -/* Pantone / PMS 18-1559 TCX / Red Alert */ -@define-color warning rgb(208, 52, 44); -/* Safety orange */ -@define-color safety rgb(255, 103, 0); - -* { - padding: 0 4px; -} +@define-color transparent-black rgba(23, 23, 23, 0.9); +@define-color white #ecf0f1; +@define-color warning-red #eb4d4b; +@define-color accent #00897b; window#waybar { - /* background: linear-gradient(90deg, #CECECE 0%, #D1D1D1 10%, #C9C9C9 50%, #BBBBBB 90%, #BABABA 100%); */ - font-family: letter, "Font Awesome 6 Free", font-awesome, monospace; font-size: 13px; - font-weight: 600; + -webkit-font-smoothing: antialiased; + transition-property: background-color; + transition-duration: .5s; } -.modules-right, -.modules-right > widget:last-child { - padding-right: 0; +#window, #workspaces { + margin: 0 5px; +} + +#workspaces button { + border: none; + border-radius: 0; + min-width: 30px; + padding: 0 5px; +} + +#workspaces button.focused { + background-color: transparent; + color: @white; +} + +#workspaces button:hover { + background-color: transparent; + color: @transparent-black; +} + +#workspaces button.urgent { + color: @white; + background-color: @warning-red; +} + +/* All modules individually. */ +#backlight, +#battery, +#bluetooth, +#clock, +#cpu, +#custom-browser, +#custom-light-dark-toggle, +#custom-night-light-toggle, +#custom-system-lock, #custom-system-sleep, #custom-system-hibernate, #custom-system-reboot, #custom-system-shutdown, +#custom-toggle-notifications, +#disk, +#group-hardware, +#group-system, +#idle_inhibitor, +#keyboard-state, +#memory, +#mode, +#mpd, +#mpris, +#network, +#power-profiles-daemon, +#privacy-item.audio-in, #privacy-item.audio-out, #privacy-item.screenshare, +#pulseaudio, +#temperature, +#tray { + padding: 0 5px; +} + +/* If workspaces is the leftmost module, omit left margin */ +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +/* If workspaces is the rightmost module, omit right margin */ +.modules-right > widget:last-child > #workspaces { margin-right: 0; } -#battery.charging { +@keyframes blink { + to { + background-color: #ffffff; + color: #000000; + } +} + +label:focus { + background-color: #000000; +} + +/* Module specific colours */ + +#battery.charging, #battery.plugged { + color: #ffffff; background-color: #26A65B; - color: #FFFFFF; } #battery.critical:not(.charging) { - background-color: @warning; - color: #FFFFFF; + background-color: #f53c3c; + color: #ffffff; animation-name: blink; animation-duration: 0.5s; - animation-timing-function: steps(12); - animation-iteration-count: infinite; - animation-direction: alternate; -} - -#battery.plugged { - animation-name: blink; - animation-duration: 1.0s; - animation-timing-function: steps(12); + animation-timing-function: linear; animation-iteration-count: infinite; animation-direction: alternate; } #bluetooth.disabled, -#bluetooth.off { +#bluetooth.off, +#network.disconnected, +#pulseaudio.muted { opacity: 0.6; } -#custom-toggle-tailscale.disconnected { - opacity: 0.6; -} - - -#mpris.Feishin { - background: linear-gradient(45deg, rgba(170,92,195,1) 100%, rgba(0,164,220,1) 0%); +#mpris { + color: #2a5c45; + min-width: 100px; } #mpris.spotify { background-color: #66cc99; - color: #2a5c45; } #mpris.vlc { background-color: #ffa000; } -#network.disconnected { - opacity: 0.6; -} - -#privacy, -#privacy-item, -#privacy-item.screenshare, -#privacy-item.audio-in { - background-color: @safety; -} - -#privacy-item.screenshare { - background-color: #000000; -} - -#pulseaudio.muted { - opacity: 0.6; -} - -#systemd-failed-units.degraded { - background-color: @warning; -} - #temperature.critical { - background-color: @warning; + background-color: #eb4d4b; } -#tray > .needs-attention { - -gtk-icon-effect: highlight; - background-color: @warning; +#custom_light-dark-toggle.activated, +#idle_inhibitor.activated { + background-color: #ecf0f1; + color: #2d3436; } #tray > .passive { -gtk-icon-effect: dim; } -#workspaces button.urgent { - background-color: @warning; - color: white; +#tray > .needs-attention { + -gtk-icon-effect: highlight; + background-color: #eb4d4b; } +#privacy-item.audio-in, +#privacy-item.audio-out, +#privacy-item.screenshare { + background-color: #ffaa01; + color: #2d3436; +} + +@import "sharp.css"; + diff --git a/stow/zsh/.zshrc b/stow/zsh/.zshrc index b21803c..318afca 100644 --- a/stow/zsh/.zshrc +++ b/stow/zsh/.zshrc @@ -54,12 +54,8 @@ alias free='free -m' alias gs='git status' alias hgrep='history | grep' alias ll='ls -la' -alias mkdir='mkdir -pv' alias more='less' -alias mv='mv -i' alias np='nano -w PKGBUILD' -alias rm='rm -I --preserve-root' -alias zip='zip -r' alias update='pushd ~/projects/sisyphus/nixos nix flake update sudo nixos-rebuild switch --flake .# --show-trace