diff --git a/gateway/1.5/antora.yml b/gateway/1.5/antora.yml deleted file mode 100644 index 7a30daf76..000000000 --- a/gateway/1.5/antora.yml +++ /dev/null @@ -1,13 +0,0 @@ -name: gateway -title: 'Flex Gateway' -version: '1.5' -display_version: '1.5' -asciidoc: - attributes: - gateway-ver-var: '1.5.0' - fluentbit-ver-var: v2.0 - fluentbit-url-ver-var: '2.0' - image-owner-lc: mulesoft - supportStatus: eolReachedVersion -nav: -- modules/ROOT/nav.adoc diff --git a/gateway/1.5/modules/ROOT/_attributes.adoc b/gateway/1.5/modules/ROOT/_attributes.adoc deleted file mode 100644 index cb0860e63..000000000 --- a/gateway/1.5/modules/ROOT/_attributes.adoc +++ /dev/null @@ -1,4 +0,0 @@ -:attachmentsdir: {moduledir}/assets/attachments -:partialsdir: {moduledir}/pages/_partials -:imagesdir: {moduledir}/assets/images -:examplesdir: {moduledir}/examples \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-egress-deployment.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/ad-egress-deployment.graffle deleted file mode 100644 index 7eccb1831..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-egress-deployment.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-external-non-org-mtls.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/ad-external-non-org-mtls.graffle deleted file mode 100644 index 0f51822e1..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-external-non-org-mtls.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-external-org-mtls.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/ad-external-org-mtls.graffle deleted file mode 100644 index f50036515..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-external-org-mtls.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-ingress-controller.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/ad-ingress-controller.graffle deleted file mode 100644 index d90b66b6b..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-ingress-controller.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-ingress-deployment.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/ad-ingress-deployment.graffle deleted file mode 100644 index 4bfd769d7..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-ingress-deployment.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-intergration-use-cases.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/ad-intergration-use-cases.graffle deleted file mode 100644 index 7fc92d0de..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-intergration-use-cases.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-internal-org-mtls.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/ad-internal-org-mtls.graffle deleted file mode 100644 index d9d811c0e..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-internal-org-mtls.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-sidecar-deployment.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/ad-sidecar-deployment.graffle deleted file mode 100644 index 47bee9adf..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-sidecar-deployment.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-standalone-deployment.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/ad-standalone-deployment.graffle deleted file mode 100644 index 7c7e5bfbc..000000000 --- a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-standalone-deployment.graffle +++ /dev/null @@ -1,20194 +0,0 @@ - - - - - !Preview - - data - - /9j/4AAQSkZJRgABAQAASABIAAD/4QBARXhpZgAATU0AKgAAAAgAAYdpAAQA - AAABAAAAGgAAAAAAAqACAAQAAAABAAAIAKADAAQAAAABAAAF0gAAAAD/4g/Q - SUNDX1BST0ZJTEUAAQEAAA/AYXBwbAIQAABtbnRyUkdCIFhZWiAH5wAFABoA - CgABABZhY3NwQVBQTAAAAABBUFBMAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAA - AADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAABFkZXNjAAABUAAAAGJkc2NtAAABtAAABJxjcHJ0AAAGUAAA - ACN3dHB0AAAGdAAAABRyWFlaAAAGiAAAABRnWFlaAAAGnAAAABRiWFlaAAAG - sAAAABRyVFJDAAAGxAAACAxhYXJnAAAO0AAAACB2Y2d0AAAO8AAAADBuZGlu - AAAPIAAAAD5tbW9kAAAPYAAAACh2Y2dwAAAPiAAAADhiVFJDAAAGxAAACAxn - VFJDAAAGxAAACAxhYWJnAAAO0AAAACBhYWdnAAAO0AAAACBkZXNjAAAAAAAA - AAhEaXNwbGF5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - bWx1YwAAAAAAAAAmAAAADGhySFIAAAAUAAAB2GtvS1IAAAAMAAAB7G5iTk8A - AAASAAAB+GlkAAAAAAASAAACCmh1SFUAAAAUAAACHGNzQ1oAAAAWAAACMGRh - REsAAAAcAAACRm5sTkwAAAAWAAACYmZpRkkAAAAQAAACeGl0SVQAAAAYAAAC - iGVzRVMAAAAWAAACoHJvUk8AAAASAAACtmZyQ0EAAAAWAAACyGFyAAAAAAAU - AAAC3nVrVUEAAAAcAAAC8mhlSUwAAAAWAAADDnpoVFcAAAAKAAADJHZpVk4A - AAAOAAADLnNrU0sAAAAWAAADPHpoQ04AAAAKAAADJHJ1UlUAAAAkAAADUmVu - R0IAAAAUAAADdmZyRlIAAAAWAAADim1zAAAAAAASAAADoGhpSU4AAAASAAAD - snRoVEgAAAAMAAADxGNhRVMAAAAYAAAD0GVuQVUAAAAUAAADdmVzWEwAAAAS - AAACtmRlREUAAAAQAAAD6GVuVVMAAAASAAAD+HB0QlIAAAAYAAAECnBsUEwA - AAASAAAEImVsR1IAAAAiAAAENHN2U0UAAAAQAAAEVnRyVFIAAAAUAAAEZnB0 - UFQAAAAWAAAEemphSlAAAAAMAAAEkABMAEMARAAgAHUAIABiAG8AagBpzuy3 - 7AAgAEwAQwBEAEYAYQByAGcAZQAtAEwAQwBEAEwAQwBEACAAVwBhAHIAbgBh - AFMAegDtAG4AZQBzACAATABDAEQAQgBhAHIAZQB2AG4A/QAgAEwAQwBEAEwA - QwBEAC0AZgBhAHIAdgBlAHMAawDmAHIAbQBLAGwAZQB1AHIAZQBuAC0ATABD - AEQAVgDkAHIAaQAtAEwAQwBEAEwAQwBEACAAYQAgAGMAbwBsAG8AcgBpAEwA - QwBEACAAYQAgAGMAbwBsAG8AcgBMAEMARAAgAGMAbwBsAG8AcgBBAEMATAAg - AGMAbwB1AGwAZQB1AHIgDwBMAEMARAAgBkUGRAZIBkYGKQQaBD4EOwRMBD4E - QAQ+BDIEOAQ5ACAATABDAEQgDwBMAEMARAAgBeYF0QXiBdUF4AXZX2mCcgBM - AEMARABMAEMARAAgAE0A4AB1AEYAYQByAGUAYgBuAP0AIABMAEMARAQmBDIE - NQRCBD0EPgQ5ACAEFgQaAC0ENAQ4BEEEPwQ7BDUEOQBDAG8AbABvAHUAcgAg - AEwAQwBEAEwAQwBEACAAYwBvAHUAbABlAHUAcgBXAGEAcgBuAGEAIABMAEMA - RAkwCQIJFwlACSgAIABMAEMARABMAEMARAAgDioONQBMAEMARAAgAGUAbgAg - AGMAbwBsAG8AcgBGAGEAcgBiAC0ATABDAEQAQwBvAGwAbwByACAATABDAEQA - TABDAEQAIABDAG8AbABvAHIAaQBkAG8ASwBvAGwAbwByACAATABDAEQDiAOz - A8cDwQPJA7wDtwAgA78DuAPMA70DtwAgAEwAQwBEAEYA5AByAGcALQBMAEMA - RABSAGUAbgBrAGwAaQAgAEwAQwBEAEwAQwBEACAAYQAgAGMAbwByAGUAczCr - MOkw/ABMAEMARHRleHQAAAAAQ29weXJpZ2h0IEFwcGxlIEluYy4sIDIwMjMA - AFhZWiAAAAAAAADzUQABAAAAARbMWFlaIAAAAAAAAIPfAAA9v////7tYWVog - AAAAAAAASr8AALE3AAAKuVhZWiAAAAAAAAAoOAAAEQsAAMi5Y3VydgAAAAAA - AAQAAAAABQAKAA8AFAAZAB4AIwAoAC0AMgA2ADsAQABFAEoATwBUAFkAXgBj - AGgAbQByAHcAfACBAIYAiwCQAJUAmgCfAKMAqACtALIAtwC8AMEAxgDLANAA - 1QDbAOAA5QDrAPAA9gD7AQEBBwENARMBGQEfASUBKwEyATgBPgFFAUwBUgFZ - AWABZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJAdEB2QHhAekB8gH6AgMC - DAIUAh0CJgIvAjgCQQJLAlQCXQJnAnECegKEAo4CmAKiAqwCtgLBAssC1QLg - AusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOKA5YDogOuA7oDxwPTA+AD - 7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTwBP4FDQUc - BSsFOgVJBVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZqBnsG - jAadBq8GwAbRBuMG9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgf - CDIIRghaCG4IggiWCKoIvgjSCOcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ - +woRCicKPQpUCmoKgQqYCq4KxQrcCvMLCwsiCzkLUQtpC4ALmAuwC8gL4Qv5 - DBIMKgxDDFwMdQyODKcMwAzZDPMNDQ0mDUANWg10DY4NqQ3DDd4N+A4TDi4O - SQ5kDn8Omw62DtIO7g8JDyUPQQ9eD3oPlg+zD88P7BAJECYQQxBhEH4QmxC5 - ENcQ9RETETERTxFtEYwRqhHJEegSBxImEkUSZBKEEqMSwxLjEwMTIxNDE2MT - gxOkE8UT5RQGFCcUSRRqFIsUrRTOFPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZs - Fo8WshbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiKGK8Y1Rj6GSAZRRlrGZEZ - txndGgQaKhpRGncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyjHMwc9R0e - HUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg - 8CEcIUghdSGhIc4h+yInIlUigiKvIt0jCiM4I2YjlCPCI/AkHyRNJHwkqyTa - JQklOCVoJZclxyX3JicmVyaHJrcm6CcYJ0kneierJ9woDSg/KHEooijUKQYp - OClrKZ0p0CoCKjUqaCqbKs8rAis2K2krnSvRLAUsOSxuLKIs1y0MLUEtdi2r - LeEuFi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDbMRIxSjGCMbox8jIqMmMy - mzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbpNyQ3YDec - N9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zstO2s7qjvoPCc8ZTykPOM9 - Ij1hPaE94D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBCckK1 - QvdDOkN9Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI - 10kdSWNJqUnwSjdKfUrESwxLU0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08A - T0lPk0/dUCdQcVC7UQZRUFGbUeZSMVJ8UsdTE1NfU6pT9lRCVI9U21UoVXVV - wlYPVlxWqVb3V0RXklfgWC9YfVjLWRpZaVm4WgdaVlqmWvVbRVuVW+VcNVyG - XNZdJ114XcleGl5sXr1fD19hX7NgBWBXYKpg/GFPYaJh9WJJYpxi8GNDY5dj - 62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg/aJZo7GlDaZpp8WpIap9q92tP - a6dr/2xXbK9tCG1gbbluEm5rbsRvHm94b9FwK3CGcOBxOnGVcfByS3KmcwFz - XXO4dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gReG54zHkqeYl553pGeqV7BHtj - e8J8IXyBfOF9QX2hfgF+Yn7CfyN/hH/lgEeAqIEKgWuBzYIwgpKC9INXg7qE - HYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmIzokziZmJ/opkisqLMIuWi/yMY4zK - jTGNmI3/jmaOzo82j56QBpBukNaRP5GokhGSepLjk02TtpQglIqU9JVflcmW - NJaflwqXdZfgmEyYuJkkmZCZ/JpomtWbQpuvnByciZz3nWSd0p5Anq6fHZ+L - n/qgaaDYoUehtqImopajBqN2o+akVqTHpTilqaYapoum/adup+CoUqjEqTep - qaocqo+rAqt1q+msXKzQrUStuK4trqGvFq+LsACwdbDqsWCx1rJLssKzOLOu - tCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1uy67p7whvJu9Fb2Pvgq+ - hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/yD3IvMk6 - ybnKOMq3yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHTRNPG1EnU - y9VO1dHWVdbY11zX4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A2 - 4L3hROHM4lPi2+Nj4+vkc+T85YTmDeaW5x/nqegy6LzpRunQ6lvq5etw6/vs - hu0R7ZzuKO6070DvzPBY8OXxcvH/8ozzGfOn9DT0wvVQ9d72bfb794r4Gfio - +Tj5x/pX+uf7d/wH/Jj9Kf26/kv+3P9t//9wYXJhAAAAAAADAAAAAmZmAADy - pwAADVkAABPQAAAKW3ZjZ3QAAAAAAAAAAQABAAAAAAAAAAEAAAABAAAAAAAA - AAEAAAABAAAAAAAAAAEAAG5kaW4AAAAAAAAANgAArhQAAFHsAABD1wAAsKQA - ACZmAAAPXAAAUA0AAFQ5AAIzMwACMzMAAjMzAAAAAAAAAABtbW9kAAAAAAAA - BhAAAKBO/WJtYgAAAAAAAAAAAAAAAAAAAAAAAAAAdmNncAAAAAAAAwAAAAJm - ZgADAAAAAmZmAAMAAAACZmYAAAACMzM0AAAAAAIzMzQAAAAAAjMzNAD/wAAR - CAXSCAADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcI - CQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKB - kaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpT - VFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm - p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP0 - 9fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREA - AgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMz - UvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpj - ZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0 - tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9sA - QwACAgICAgIDAgIDBQMDAwUGBQUFBQYIBgYGBgYICggICAgICAoKCgoKCgoK - DAwMDAwMDg4ODg4PDw8PDw8PDw8P/9sAQwECAgIEBAQHBAQHEAsJCxAQEBAQ - EBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ - /90ABACA/9oADAMBAAIRAxEAPwD9/KKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD/9D9/KKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigD/9H9/KKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD/9L90YLjWTqN - 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 - T5dT086xBOJ1MaxMC3YEmnaxqmnz6bPFDOruwGAO/IoAtpda1sXFknQf8tBW - bpc+qKLryLVXzPIWy4GG4yPfHrWums6WEUG5ToKzNK1OwhF35s6rvuJGXPdT - jBoAjuJ9UOqWrvaqJQr7V3jBGOee2Kl1O41VrCdZ7RUQrywkBwPpSXGp2D6t - aTrOpjRZAx7DI4qbVdV06bTp4op1Z2XAA70ASw3OsiGMLZIRtGD5g9KoadPq - iyXhhtVcmZi2XAw2Bx71qwaxpiwxq1yoIUA/lWfpup6fFLeGSdVEkzMue4wO - aAIrqfVDqViz2qrIvm7F3ghsrzk9sCp9QuNWaxnWW0REKNkiQHAx6U271PT3 - 1OwmSdSkXm7j6blwKsalq2nS2FxFHcKzMjAAdyRQAlrc6wLWER2aMoRcHzAM - jHFU7CfVFur0xWqszSDeC4G046e9aNpq+mJaQo9woZUUEehAqlp+p2EV3fPJ - OqrJICp9RigCO9n1RryyaS1VXVm2DeDuOOee1Wr251drOcSWaKhjbJ8wHAxy - cVDfanYSXtjIk6ssbsWPoCKuX2r6bJZXEaXClmjcAepINAEFjc6utlbrFZoy - CNdpMgGRjg4qtZz6oL+9aO1VnYpvXeBt+Xjnvmr9hq2mxWNvHJcKrJGgI9CB - VWy1PT49Qv5XnUJIY9p9cLg0ARahPqjXFmZbVUZZcqA4O446e1Xbm51g28oe - zRVKNk+YOBiq2o6nYS3Fk0c6sI5csR2GKv3Wr6Y9tKi3CksjAD3IoApabcas - thAsNoroEGCZAMj6VDbT6oNTvWS1VpGEe9d4AXA4575q3pmq6dDp9vFLcKrq - gBB7GoLXU7BNUvZmnUJIItp7HA5oAj1KfVGa0861VMTqVw4OW5wPatCW51kx - uGskAwc/vBVTU9T0+Z7MxTq3lzozY7AZya0ZdZ0sxOBcqSQaAM3SrjVU0+BY - LRZIwOGMgBPPpUcM+qDVbh1tVMpRNy7xgDsc1Y0nVNPg06CKWdVdVwQe3NMg - 1PT11a5nadRG6IAexI60ARapPqjpb+faqgE6FcPnLdh+NaZutawf9CT/AL+C - qGranYTpbCKdWKTxscdgM5Nap1nS8H/SUoAx9Hn1RNOhW3tVkjGcMXAJ+Y9q - RJ9U/teVxaqZTEoK7xgDPXNTaLqmn2+mQQzTqjruyD2+Y0kep6eNZlnM6+W0 - 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 - 0fYbv+2RD9tff5G7ftGcbsY/rRpF9dxWQSOyeVdzHcGAHJNH267/ALZE32J9 - /kbdm4ZxuznP6UAGsWV3DYO8t68qgr8pUAcsK0/7Nv8A/oIyf98rWZrF9dy2 - DpLZPEpK/MWBHDD0rT/tK/8A+gdJ/wB9LQBmaTZXctvI0d68QErjAUHJB6/j - RJZXY1eKI3rlzExD7RkDPSjSr27it5FjsnlBkc5DAYJPT8KJL27OrxSmycOI - mATcMkZ60ALrFjdxadNJJevKoxlSoAPzCtEabf4H/Exk/wC+VrO1i+u5dOmj - ksniU4yxYED5hWiNSv8AA/4l0n/fS0AZumWN3Itx5d68e2d1OFByR3/Giaxu - xqltEb1y7I5D7RkY7fjRpl9dxrceXZPJundjhgME9vwomvrs6pbSmycOqOAm - 4ZOe/wCFAD9UsbyLT55JL55FC8qVAB5q5Fp18YkI1CQAgcbV9Kp6pfXkunzx - yWLxqV5YsCBzVyLUb4RIBp8hAA53L6UAUNNsruR7sJevHsnZThR8xGOTRc2N - 2upWUbXrsziTDbRlcDnH1o029u43uylk8m+dmOGHyk44NFzfXbalZSNZOrIJ - MLuGWyOcfSgCbUbC8jsZ3e+eRVQkqVGD7VPbaffNbxMuoSKCikDavHHSoNRv - 7ySxnR7F41ZCCxYYHvU9tqF8tvEq6fIwCKAdy88daAKVhY3b3F4qXroUkwSF - HzHHU0XljdpfWSNeu7Oz7WKjK4Xt9aLC+u0uLxksncvJkgMPlOOhovL67e+s - naydGRn2qWGWyvb6UAWb7T71LK4d793VY2JUqMEAHilstPvXs4HS/kRWjUhQ - owAR0pL7UL17K4R7B0Vo2BYsMAEHmlstQvUs4ESwkdVjUBgwwQB1oAq2Vldv - e3qLeujIy7mCjLZHei+sbtLmzV713LyEAlR8px1FFle3aXt66WTuzsu5Qwyu - B3ovr67e5s2eydCkhIBYfMcdBQBcutPvltpma/kYBGJG0c8dKi0+wvZLGB0v - njVkUhQowOOlS3WoXzW0ytYSKCjAncOOOtRaff3sdjAiWLyKqKAwYYPHWgCC - 1sbttSvo1vXVk8rcwUZbK8Z+lGo2N3HJZh715C8ygEqPlPqKLW+u11K+kWyd - mfytyhhlcLxn60ajfXcklmXsnjKTKQCw+Y+goAvzadfCFydQkICnjavPFVNL - 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 - 12dXSU2ThxCRs3DJG7rmgA1ixu4dNmklvXlUbcqVAB+YVp/2bf8A/QRk/wC+ - VrM1i+u5tNmjlsniU7csWBA+YVp/2lf/APQOk/76WgDM0uxu5Y5zHevGFmcE - BQckd/xomsrsarbxG9cu0bkPtGQB2o0u+u4o5xHZPIGmckhgME9vwomvbs6r - bymycOsbgJuGSD3oAfqtjeRafNJJevKoAypUAHkVdj06+MakahIMgcbVqlqt - 9eS6fNHJZPEpAyxYEDkVdj1G+EagafIcAc7loAz9NsbuQ3fl3rx7J3U4UfMR - jk/Wi4sbtdTs42vXZnEmG2jK4HOPrRpt9dxm78uyeTfO7HDD5SccH6UXF9dt - qdnI1k6sgkwu4ZbI5x9KAJdSsLyOwneS+eRVUkqVGDVi306+aCNhqEigqDja - vHFV9Sv7ySwnSSxeNWUgsWGBVi31G+WCNRp8jAKBncvPFAFLT7K7kmvAl68Z - SUgkKPmOOpou7K7TULGNr12ZzJtYqMrhecfWjT727jmvClk8heUkgMPlOOho - u727fULGRrJ1ZDJtUsMtlecfSgCxf6fepZTu9+7qqMSpUYIx0p9pp969pCy3 - 8iAopACjgY6Uy/1C9eynR7B0VkYFiwwBjrT7TUL1LSFVsJHARQCGHIx1oAqW - Vjdvd3qJeuhR1BIUfNx1NF9Y3aXdkr3ruXcgEqPlOOoosr67S7vXSydy7qSA - w+XjoaL6+u3u7JnsnQo5IBYfMcdBQBbu9PvUtJna/kcKjEgqOQB0plhYXslj - A6X7orIpChRgDHSn3eoXr2kyNYSIGRgSWHAI60ywv72OxgRLB3VUUBgwwRjr - QBXtLK7fUb6Nb11ZDHuYKMtleM/SjULG7jmsw967l5QASo+U46ii0vbtNRvp - FsnZnMe5QwyuF4z9aNQvruSazL2ToUlBALD5jjoKAL0+nXywSMdQkYBTxtXn - iq2m2F5JYQPHfPGrKCFCggVZn1G+aCRTp8igqedy8cVW02/vI7CBI7F5FVQA - wYAGgCK3sbttTu41vXVkWPL7RlsjjP0o1Oyu4zaeZevJvnRRlQNpOfmH0ot7 - 67XU7uRbJ2Z1jym4ZXA4z9aNTvbuQ2nmWTx7J0YZYHcRn5R9aANCTTr4IxOo - SHg/wrVHSbG8l06GSO9eJSDhQoIHJq9JqN8UYHT5Bwf4lqjpN9eRadDHHZPK - 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 - lhYyS3okgRgk7KuVBwMDgUXmn2Kapp8SwIEk83cAowcLkZ+ldeCx9fDz9pQm - 4vydjDEYWnWjy1YprzPljVf2YPD6Ryz6X4pZAgJVJIklY47ZV0/lVKL9lqzk - iSRvGMaFlBINoOMjp/r6+vNS06wj0+4kjt41ZUYghQCDiprPTNPe0gdraMsy - KSSo5JFfTw8Qc3irKv8A+Sx/+RPFlwrgG7+z/F/5nxvB+y/azSzRv4uSMRNt - BNoPmGOo/f0T/sv2sU8ES+LkdZSQWFoMLgZyf3/evrrT7Cxku75XgRgkgCgq - OBjtRfafYpfWCJAiq7uGAUYOF71f/EQ84/5/f+Sx/wDkRf6p5f8A8+/xl/mf - JU37LdnFDJKvjGNyikhRaDJIHT/X96SD9lyzmgjlbxjGjOoYqbQZBI6f6/tX - 2Ffabp6WVw6W0assbkEKMggGm6fpunyWFs728bM0aEkqMkkCj/iIecf8/v8A - yWP/AMiH+qeX/wDPv8Zf5nx1D+y/ay3E8LeLkRYioDG0GHyM8fv+1Fx+y/aw - yQoni5JBK20kWg+Uep/f19d2NhZPqN/G8CFY2j2gqMDK84o1Kwso7mxWOBFD - y4YBRyMdDR/xEPOP+f3/AJLH/wCRD/VPL/8An3+Mv8z5Ll/Zaso43dfGUbFQ - SALQc47f6+mW37LtpPbxzP4wjjZwCVNoMj2/19fY11pmnrbTMttGCEYg7R6V - X0vTrCXTreSS3jZmQEkqCTR/xEPOP+f3/ksf/kQ/1Ty//n3+Mv8AM+Pov2X7 - WS6ngbxcirFtw5tBhtwycfv+1Fz+y/awGEJ4uSTzHCHFoPlB/iP789K+urSw - sW1W+iaBCiCLaCowMqc4o1TT7GJ7IRwIu+4RWwoGQc8Gj/iIecf8/v8AyWP/ - AMiH+qeX/wDPv8Zf5nya/wCyzZKjMPGUZIBOPsg5/wDJioLT9l60uLdJpPF8 - cTOMlTaDI/8AI4r7Lm0vThC5FtGCFP8ACPSqOkafYy6bBJLbxuzLySoJPNH/ - ABEPOP8An9/5LH/5EP8AVPL/APn3+Mv8z5AT9l+1e7ktz4uRUjVSH+yDDZ7f - 6/tRdfsv2tuIzH4uSXe6ocWg+UH+L/XnpX13BYWTaxdQmBCiohC7RgE0avYW - USWxigRd1xGpwoGQc5FH/EQ84/5/f+Sx/wDkQ/1Ty/8A59/jL/M+Tj+yxY/9 - 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 - c980usHWf7Om+1CDyuN2zdu+8OmeOtI+sWB1eK5DN5axMpO1upPpil1jWLC6 - 06aCF2LtjGVYdGB7igDSB8Q4HFr/AOP1maWdZ2XH2YQY8992/d97vjHb0rSG - v6ZgfO3/AHw3+FZul6xYW6XAlcjfO7jCseD06CgAm/tn+1bbeIPO2Ptxu247 - 571Jqp1r+z5/tIt/K2/Ns37sZ7Z4qObWLB9VtrhXPlojgna3U9OMU/VdZ0+4 - 0+eGJ2LuMDKsO/uKALsR1/yk2i2xtGM784xWfpp1nfd/ZxBnz237t33uM4x2 - q/Fr2mLEil2yAB9xvT6VQ03WLCB7syOR5s7OvyseDj2oALk6z/adl5gg83Em - zG7b05z3+mKn1E659hn88W/l7Du27849s1Bc6xYSalZTqzbIhJuO1v4hgVNq - Ot6fPYzwxuxZ0IHyMOfyoAntjr32eLyxbbdi4zvzjHGapWB1n7ReeSIN3mfP - u3Y3Y7Y7fWrttrumx28SM7ZVFB+RuoH0qlYaxYQ3F48jMBLJuX5WPGPpQAXh - 1n7fY+aIPM3Ps27tv3ed34dMVZvjrv2K484W3l+W27bvzjHOM96rXmsWEt/Z - TI5KxFy3yt3XA7VZvtc06ayuIo3Ys8bKPkYckfSgBbI679jg8oW2zy127t+c - Y4zjvVWyOs/bb3yhB5m5d+7djOONuP61as9c06Kzgid2DJGoPyN1A+lVbLWL - CK9vZXdgsrKV+Vuwx6UAF8dZ+02fnCDf5h2bd2M4757fSrl0de+zTeYLbZsb - ON+cY5xVO+1iwmubOSNmKxSEt8rDjH0q5da7psltNGjtuZGA+RupH0oAi086 - 59hg8gW/l7F27t+cY4zioLU6z/aV95Yg83915md237vG3v065qfT9b0+Cxgh - kdgyIoPyMeQPpUFrrFhHqV9O7nZN5W35W/hXB4xQAaidZ8yz88QZ85dm3d97 - tnPar8x1/wAmTeLbbtOcb84xVDUdYsJ5LNo2YiKZWb5WHA/Cr82vaa8Miq7Z - KkD5G9PpQBV0w639gg+zi38vb8u7fux744qKA6z/AGpdbBB521N+d23GOMd/ - rUmma1p9vYQQyuwdFwflY/yFRwaxYJql1cM7bJFQKdrdhzxigA1M6zi1+0CD - /Xx7du77/OM57etaTnxBsbItcYP9+s3U9YsLgWvlMx8ueN2+Vh8oznqK0X1/ - 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 - R9mfCH9qU6mbTwt43igtrs4jhvc+XDIegEo6Ix/vD5fZe/1naz6p/aV48duj - SMI9w38DjjB75r8Ta+/f2WvjAL4T+B/FV0WuoYlNjNISTJFEMGInuUHK/wCy - CP4efo8lzqU5KjWevR/ofX8OcRyqSWHxDu3s/wBGfW2pTaqzWnnWyIROpXD5 - y3OAa0JbjW/LfdaRgYOf3lU9T1XT5mszFOreXOjN14UZyelaEutaW0TqLhSS - D6/4V9WfdGdpU+rLp8CwWyPGBwS+CefSvJ/iO9w+pQNdII5Np4ByO3evXNJ1 - bToNOghmnVXVcEHPHP0ryT4k3EN1qcE1u4dChGR7YoKiN8CtOsVz5SBh59se - Tj5hv2j8ea9oNxrmD/okf/fyvGfAk8UUVyJGCn7RbN/wFd+T+Ga9rOt6Vg/6 - Sv6/4UCZk6PNqqadCtvbI8Yzhi+CfmPakSbVf7XlYWyeaYlBXfxtz1zUmjar - p9vpsMM06o67sg54+Yn0oj1XTxrEtwZ18toVUNz1B6UCI9Vm1VrdBcWyIvmJ - gh8854Faf2jXP+fSP/v5VDV9V0+4t40hnViJUYgZ6A89q1P7b0r/AJ+V/X/C - gDH0ibVVsVFvbI6bmwS+D9454o87Vf7ZL/Zk87yMbd/G3d1z9ak0bVdPt7BI - ppwjhnODnuxNJ/amn/22bnz18r7Ps3c43b84/KgBmrzaq9kRc2yIm5eQ+TnP - Faf2jXP+fSP/AL+Vn6zqmn3FiYoZ1dtyHAz2IrV/tvSv+flf1/woAx9Jm1Vb - Zhb2yOvmPyXxznkUNNqv9ro5t087ySAu/jbu65qTSNV0+3tWSacKxkc4OehP - FD6rp51mO4E6+WISpbnruzjpQBHrE2qvpsy3NskcZ25YPkj5h2+taf2jXP8A - n0j/AO/lUNa1XT7nTJoYJ1d224Az2YH0rU/tvSv+flf1/wAKAMfS5tVWOfyL - ZHBmcnL4w3cUTTaqdVt2a2QSiN9q7+CO/NP0nVNPgjnE06qWmdhnPIPQ9KJt - V09tXt7hZ1MaRuCeeCenagA1WfVm0+Zbi2RIyBkh8kcjtV2O41vy122kZGBj - 95VXV9W06406eGGdWdgMAZ55HtV+PWtKEaA3C5AHr/hQBlabNqqm78i2R8zu - Wy+MNxkCi4m1U6nZs9sglAk2rv4PHOT2xUml6rp8JvPNnVfMuHdevKnGDRc6 - rp76pZzrOpSMSbjzxkcdqAF1KfV2sJ1ntkSMqckPkgfSrFvca0IIwlpGV2jB - 8ztio9U1bTZtPniinVnZSAOeT+VWbfWdLS3iRrhQVVQRz1A+lAGbp82qrNeG - G3RmMpLgvjDY6D1ou5tVOoWLSWyLIDJsAfg/Lzk9sU/TtU0+Ge9aSdVEkpZe - vIx1ovNV0+TUbCZJwUiMm488ZXA7UAS38+sNZTiW1RUKNuIfJAxzT7SfWRaQ - iO1jZAi4JfGRjil1DWNNlsbiKO4VmeNgBzySPpT7PWNMjtII3uFDKigjnggf - SgChZTaqLu9MVsjOXXeC+MHHb1ovptVN3ZGW2RXDnYA+cnHf0qSx1XT4ry+k - knVVldSp55AH0ov9V0+W7spI5wyxuSx54GPpQBPdz6ybSYSWsaoUbJD5wMc0 - ywn1hbGAQ2qMgRdpL4JGKnvNY0yS0njS4UsyMAOeSR9KZp+r6bFY28Ulwqsk - agjnggfSgCnaTaqNRvmjtkaQmPeC+APl4we+aNQm1VprMzWyKRKCmHzlsdD6 - U+z1TT49Sv5nnUJKY9p55wuDS6jqunzTWbRzqwjmDN14GOtAFqe41owSB7SM - LtOT5nbFVtNn1dbCBYLZHjCjBL4JH0q7ca1pbwSKtwpJUgdfT6VW0vVtNh0+ - CKWdVdVAI54P5UAVrebVRqd2yWyGUrHuXfwOOMGjU5tVY2nn2yJidCuHzluc - A1Jbarp6areTtOBHIsYU884HNJqmqafObPyp1by7hHbrwozk0AXZLjW9jZtI - 8YP/AC0qjpM2rLp0K29sjxgHBL4J5PatOTWtKMbAXC5IPr/hVDSNV06302CG - adVdQcg545PtQBDFNqo1WdltkMpjTcu/gDsc0apNqrRwefbogEyEYfOWzwKk - h1XT11e4nM4EbxoAeeSOtGq6rp88UCwzqxWZGOM8AHk9KAL/ANo1z/n0j/7+ - VmaPNqqadCttbJJGN2GL4J+Y54+tbH9t6V/z8r+v+FZei6rp9tpkMM86o67s - g57sT6UARrNqv9sO4tk87yQCu/jbu65o1abVWtVFxbIi+YnIfPOeKemqaeNZ - e4M6+WYQobnruzjpRrGq6fcWqpDOrsJEOBnoDz2oA0PtGuf8+kf/AH8rM0ib - VVswLe2R03NyXwc55rY/tvSv+flf1/wrK0bVdPt7IRzThG3ucHPQnigBhm1X - +2Q/2dPO8jG3fxt3dc/WjWJtVewdbi2RI8rkh8n7wxxTzqmn/wBtC589fK+z - 7N3ON27OKXWdV0+4094oZ1dyV4GezA+lAF/7Rrn/AD6R/wDfyszSptVWCQW9 - sjr5rkkvjnPIrY/tvSv+flf1/wAKy9J1XT4LeRJpwpMrsM56E8dqAI5JtV/t - eJjboJhEwC7+CueuaXWJtVfTpluLZEjOMsHyR8w7U6TVNPOsRXAnXy1iZS3P - UnpS6zqun3GmzQwzq7ttwBnn5gfSgC8LjW8DFpH/AN/KzdLm1VVufItkcGdy - 2Xxhu4rXXW9KCgfaV/X/AArM0rVdPgW5Es6rvnkYdeVPQ9KAI5ptVOqWzNbI - JQj7V38Ed+a2bebVXmVbm2SOM5ywfJHHpWVPquntq1tOs6mNEcE88E9O1bMG - q6fcSrDBOru3QDPbn0oA0KKKKACiiigAooooAKKKKAP/0v3etIojrN8pQYCx - YGB6UurxRKbHaijNzGDwOnNZ9vprvqd3D9rnUxrH8wb5myO5x27Ualprwm0z - dzvvnRfmbO3OeRx1FAHSywQ+W/7teh7Cs3RIom0q3LIpJU8kD1NMk0iQIx+3 - 3BwD/H/9aqWlaY8+nwyi8njDA/Kr4UcnoMUAXYIov7buV2DAiTjFGtRRLDb7 - UUZnjHAHrWfFprtqs8P2ucFY0O4N8xz2J9KNU014Y4CbueTdMi4Zs4yeo46i - gDqPIh/55r+QrG8PxRNpEDMgJO7kgf3jUn9jyf8AP/c/99//AFqzNG017jTY - ZRdzxBt3yo2FGGI4GKAL6RRf29IuwY+zg4wMfepdciiWzQqgH72PoPes9dNc - 6w8H2ufIhDb93zfe6Zx0o1bTXgtlc3c8mZEGGbI5PX60AdR5EP8AzzX8hWPo - UUTaeCyAne/UD+8af/Y8n/P/AHP/AH3/APWrM0jTXnshILueP5mGEbA4J9qA - NAxRf2+F2Lj7NnGBjO+k16KJdNcqgB3J0A/vCqH9mv8A2yLf7XPnyN2/d833 - sYzjpRrGmvBYvKbueXDL8rtkcsPagDqPIh/55r+QrG0SKJrWUsgP76TqB61J - /Y8n/P8A3P8A33/9aszStNee3kYXc8eJHGFbAOD16daANCSKL+3YV2DHkNxg - f3qXXool0m4ZUUEBeQB/eFZz6a41eKD7XOSYmbfu+Yc9M46Uusaa8GnTSm8n - lC4+V2yp+YdRigDphBDgfu1/IVj6NFEyXW5AcXEg5H0p40eTA/0+5/77/wDr - Vm6XprzJcEXc8e2d1+VsZx3PuaAL9xFENatFCDBjk4wKl1qKJdLuCqKCF7Ae - orLm0111W2h+1zkujncW+YY7A470/VNMeHT55TeTyBV+6z5B578UAdBBBD5M - f7tfujsPSsvSYome+3IDi4cDj6URaRI0SN9uuBkDgP8A/WqhpumvK92Bdzps - nZflbG7GOTx1oA0LyKIavp6hBgiXIwP7oqxq0MQ025IRQQh7Cse50101Kyh+ - 1zsZBJ8xb5lwOxx371NqOlvFYzyG9nfahO1nyD9eKANq0hhNpCTGv3F7D0rP - 0yKI3V+CinE3HA9KZbaS728T/brhdyKcB+BkduKpWGmvLcXii7nTy5MZVsFu - Op460AX7+KIalpwCAAtJngc/LVzUoYRp90QigiJ+w/umsS801476yiN3O3mM - /wAxblcL2471ZvtKeOyuJDe3D7Y2OGfIOB0PHSgDU0+GE2FsTGpJiTsP7oql - p8UR1DUAUBAdMcDj5ahs9KeSzgkF7cLujU4D4AyOg46VVstNeS9vYxdzr5bK - MhuWyO/FAGhqUUQvNPAQDMpzx7VfvYYRZzkRr/q27D0rAvtNeO5s0N3O/mSE - ZZsleOo96uXWkultM5vrhtqMcF+DgdDxQBd0qGE6bbEopJjXsPSqtlFEdX1J - SgIHk4GBx8pqvp+lvLYwSC9nTcinar4A46DioLXTXfUr6IXc6mPyvmDfM2Vz - ycc47UAX9WiiWWwwgGbhQeB6GtO4hhEEhEa/dPYelc7qOmvFJZg3c7+ZMq/M - 2due4461fm0mRYZG+3XBwpOC/HT6UATaPDE2mWxZFJK9wKitoojrN6pQYCR8 - YHpVPTNMeawglF5PGGXO1XwB9OKjg0121S6h+1zgoqHcG+Y5Hc47UAaGsRRK - LPaijNzEOg6c1rPBDsb92vQ9hXM6nprwi1zdzyb541+Zs4znkcdR2rRfSJAp - P2+56H+P/wCtQAuhRRNpNuWRSSDyQP7xpkMUX9uXC7BgQpxj3qjpGmvPp0Mo - vJ4wwPyo2FHJ6DFJHprnVpoPtc4Kxqd4b5jk9CcdKAL+txRLbwlUA/fR9APW - tnyIf+ea/kK5fVdNeCGJjdzybpUXDNkDJ6jjqK0/7Hk/5/7n/vv/AOtQAzQY - om0uIsgJy/JA/vGhYov7fZdgx9mBxgY+/Wfo+mvPp8cou54gS3yo2FGGI9KB - pr/2w0H2ufIgDb93zfexjOOlAF/XYolsQVQA+YnQD1rZ8iH/AJ5r+Qrl9X01 - 4LQObueT50GHbI5PXpWn/Y8n/P8A3P8A33/9agCPQoomsSWQE+Y/UD1oaKL+ - 30XYMfZycY4+9VDSNNee0Li7nj+dxhGwOD16UNprjWFt/tc+TAW37vm+9jGc - dKANDXool0uUqgBynIA/vCtjyIf+ea/kK5fWNNeDT5JTdzygFfldsqcsB0xW - n/Y8n/P/AHP/AH3/APWoAZosUTQT7kB/fydQPWvCfiEqr4ruwoAG2Pgf7gr2 - bStNeaGVhdzx7ZXXCtgHB6njqa8T8dwm38TXMRkaUhY/mc5Y5Qd6Cono/hlE - /wCEAD7Ru3Pzjn/WV6WkEOxf3a9B2FeU+GrNj4JW68+QAF/3Yb5P9ZjpXoKa - RIVB+33PQfx//WoExNHiiYXm5AcXMo6D2ouYohrNkoQYKScYHpWfpmmvMLrF - 3PHsnkX5WxnGOTx1PeifTXXVLWH7XOS6udxb5hgdjjvQI1dYhiXTLkqighew - FXbeGEwRkxr90dh6Vg6npjw2E8pvJ5Aq52s+QfrxVuHSZGhjb7dcDKg4D8dP - pQAulRRGa/yinE7AcD0FF7FENW00BFAPnZGBz8tZ+naa8sl4Bdzp5czLlWxu - 4HJ460XWmumpWMX2udjJ5vzFvmXC54OOM96ANnVIYhptyQigiNuw9KmsoYTZ - wExqSY17D0rH1DS3isZ5DezvtRjtZ8g8dDxUtrpTvawuL64XcinAfgZHQcUA - SabFEbzUAUBxKMce1GoRRDUNPAQAF3zwOflrPsdNeS5vEF3OnlyAZVsFuOp9 - 6L3TXjvbKM3c7eYzDJblcDtxQBu6hDCLC5IjUERP2H9003TYYTp9qSikmJOw - /uis680p47OeQ3tw22NjgvkHA6HjpSWOlPJZW8gvbhN0anCvgDI6DjpQBNYR - RHUtRBQEBo8cDj5aNUiiF1YAIBmbnj2qhZ6a8l/exi7nXyynzBuWyvfjtRf6 - a8VxZqbud/MkxlmyV46jjrQB0F3DCLSYiNfuN2HpVbSYYm022LIpJQdhVW50 - l0t5X+3XDbUY4L8HA78VBp2lvLYQSC8nTcgO1XwB9OKALVnFEdX1BSgwBFgY - H900atFEr2O1AM3KA8D3rPttNd9SvYftc6mMR/MG+Zsjucdu1Gpaa8TWgN3O - ++dV+Zs7c55HHWgDo54IfJk/dr909h6VQ0WKJtLtyyKSV7gepqKXSJFidvt1 - wcA8F/8A61U9L0x5tPglF5PGGX7qvgDntxQBct4ojrV2pQYEcfGBRrMUSpa7 - UAzcRjgfWqEOmu2q3MP2ucFEQ7g3zHPYnHajVNNeFLcm7nk3zovzNnGe446i - gDpzBDg/u1/IVk6DFE2k27MikkNyQP7xpTo8mD/p9z/33/8AWrO0fTXn06GU - Xk8QbPyo2FHzHoMUAX44ov7dmXYMeQvGB/eo1uKJbWMqij99H0A9az001zq8 - sH2ucERK2/d8x56Zx0o1XTXgt0Y3c8mZEGGbI5PXp1FAHUeRD/zzX8hWNoMU - TaahZATufqB/eNSf2PJ/z/3P/ff/ANaszR9NeexSUXc8WWb5UbA4Y+1AF/yo - v+EgK7Bj7LnGBjO+l12KJdPJVADvToB/eFZ/9mv/AGybf7XPnyN2/d833sYz - jpRq+mvBZGQ3c8nzKMO2RyR7UAdR5EP/ADzX8hWPocUTWblkB/eydR70/wDs - eT/n/uf++/8A61Zmk6a89szi7njxI4wrYHB6/WgDQeKL+3o12LjyGOMD+9Xy - vJ/rG+pr6YbTXGrpB9rnyYS2/d8w+bpnHSvmeT77fU0FRPruCCHyI/3a/dHY - elZeixRNFc7kBxcSDkD1pINIkMMZ+33Iyo/j9vpVHS9NeaOci7nj2zOuFbGc - dzx1NBJoTxRf23bLsGDE/GKfrcUS6VcFUUEKOQB6isyXTXXVYIftc5LRudxb - 5hjsD6U/VdMeDT5pTeTyBQPlZsqee4xQB0UUEPlp+7XoOwrK0iKJjfbkU4uZ - AOB04oj0iQop+33AyB/H/wDWrP03TXmN3i7nj2TuvytjdjHJ46mgC/dxRDWb - FQgwVlyMD0qfV4Yl0y5KooIQ9AKybjTXTU7SH7XOxcSfMW+ZcDscd+9S6lpb - w2E8pvJ5Nqk7WfIP14oA3LWGE20JMa/cXsPSs3S4ojcX4KA4mOOB6U230l2g - jb7dcLlQcB+Bx9KpafpryzXii7nTy5SuVbBbjqeOtAF++iiGqacAgAJlzx1+ - WrepwwjTrkhFBEb9h6Vi3emumoWMRu52Mhk+YtyuF7cd+9WL/S3isp5De3D7 - UY7WfIOB0PFAGtYwwmxtyY1JMadh6CqOnRRG+1AFFIEi44H92orTSnktIXF7 - cLuRTgPgDI6DiqllpryXd6gu508t1GVbBbjqeKAL+oxRC+08BAAZGzwPSr99 - DCLG4IjUERv2Hoawb7TXju7JDdzv5jsMs2SvHUcVbu9KeO0mc3tw21GOC/Bw - Oh4oAv6ZDCdOtiUUkxr2HpVWxiiOqaiCgIBiwMDj5ar2GlvLYwSC9uE3Ip2q - +AMjoOKr2mmu+oX0X2udTGY/mDfM2Vzycc47UAaGqRRCewwgGZxngehrRuYY - RbSkRr9xuw9K57UNNeKazU3c7+ZKFyzZK8dRx1q9PpMiwSN9uuDhScF+Dx9K - ALGkQxNplsWRSSg7CoLSKI6zfKUGAsWBj2qrpulvNYQSi8nj3KDtV8AfTior - fTXfU7uH7XOpjWP5g3zNkdzjt2oAv6xFEpsdqAZuoweB05rWlgh8t/3a9D2F - c1qemvCbTN3PJvnRfmbO3OeRx1FaEmkSBGP2+4OAf4//AK1AD9EiibSrcsik - lTyQPU0yCKL+27ldgwIk4xVHSdMefT4ZReTxhgflV8KOT0GKbFprtqs8P2uc - FY0O4N8xz2J9KANDWoolht9qKMzxjgD1rY8iH/nmv5CuX1TTXhjgJu55N0yL - hmzjJ6jjqK0/7Hk/5/7n/vv/AOtQAzQIom0mBmQEnfyQP7xpEii/t6Rdgx9n - BxgY+9VDR9Ne406GUXc8Qbd8qNhRhiOBihdNc6w8H2ufIhDb93zfe6Zx0oAv - 65FEtmpVAD5qdB71s+RD/wA81/IVy+raa8Fqrm7nkzIgwzZHJ69Otaf9jyf8 - /wDc/wDff/1qAGaFFE2ngsgJ3v1A/vGgxRf2+F2Lj7NnGBjO+s/SNNeeyEgu - 54/mcYRsDgn2o/s1/wC2Rb/a58+Ru37vm+9jGcdKAL+vRRLprlUAO5OgH94V - s+RD/wA81/IVy+saa8Fg8hu55cFfldsjlh7Vp/2PJ/z/ANz/AN9//WoAj0SK - JrWUsgP76TqPeiWKL+3YV2DHktxgY61Q0rTXnt5GF3PHiRxhWwDg9enWiTTX - GrxQfa5yTEzb93zDnoDjpQBo69FEuk3DKiggLyAP7wrWWCHaP3a9PQVzOsaa - 8GnTSm7nlC4+V2yp5HUYrRGkSYH+n3P/AH3/APWoAbo0UTJd7kBxcyDoPai4 - iiGtWihFwY5OMCs/S9NeZbki7nj2TuvytjOO546mibTXXVLaH7XOS6Odxb5h - jsDjvQBqa1FEul3BVFBC9QB61fggh8mP92v3R2HpXP6ppjw6fPKbyeQKv3Wf - IPPfirkWkSNEjfbrgZA4D/8A1qADSYome+3IDi4cDj6Ut5FENX09QgwRLkYH - 90Vn6bpryvdgXc6bJ2X5Wxuxjk8daLnTXTUrKH7XOxkEnzFvmXA7HHfvQBsa - tDENNuSEUEIewqxaQwm0hJjX7i9h6Vi6jpbxWM8hvZ32oTtZ8g/Xip7bSZHt - 4n+3XC7kU4D8DI7cUAP0yKI3V+CinE3HA9KL+KIalpwCAAtJngc/LWfYaa8t - xeKLudPLkxlWwW46njrReaa8d9ZRm7nbzGcbi3K4XtxQBt6lDCNPuiEUERP2 - H900unwwmwtiUUkxJ2H90VmX2lPHZXEhvbh9sbHDPkHA6HjpS2WlPJZwSC9u - E3RqcB8AZHQcdKAJdPiiOo6iCgIDpjgcfLS6lFELzTwEUAynPA9Kz7LTXkvb - 2MXc6+WyjcG5bI78UX2mvHc2aG7nfzJCMs2SvHUe9AG/ewwiznIjX/Vt2HpU - OlQwnTbYlFJMa9h6VSutJdLaZzfXDbUY4L8HA6HiotP0t5bGCQXs6bkU7VfA - HHQcUAWbKKI6vqKlAQPJwMDj5TSatFEsthhAM3Cg8D0NULXTXfUr6IXc6mPy - vmDfM2Vzycc47UajprxSWYN3O/mTKuWbO33HHWgDoriGEQSERr909h6V+VH7 - Rni2TxF49/smNv8ARNBhS2QDoZGG+VvruIU/7or9RJtJkWGRvt1wcKTgvx0+ - lfi94tunvfFWs3khy097cOf+BSMa+a4mrNUowXV/kfG8aYhxoRprq/yMOCCa - 6njtrZDLLMwREUZZmY4AA7kmv1W+F3wk0v4X+F9PheJJdbvZYmvrjALbjz5S - n/nmnQep+Y9cD4D+AmjQ678XfDdhPnYs7z5HUNbxPMp/BkFfqlqNg0Qt83Uz - 75kX5mzjOeR71xcOYWLUqz32RwcH4GLUsRJap2X6nQvDDtPyL0PYVnaNFG2m - wFkBJB6geprC8S6ho/hLRrjXfEOry2dlbjLO79SeiqAMsx7Acmvz28f/ALRP - ivxBv0rwpcTaNpQyuUcrcSD1LL9wH+6pz6sa/S8h4ZxOYS/dK0Vu3t/wX5Hs - Z9xNhcvj++d5PaK3/wCAvM+5vFHxL+H/AII1W4HiTVYLeRY1HkL+9mz/ANc4 - wzDPqQB714h4i/ax8CjEOiaReXZjdW3uI4FYD0+Zm/MCvz/d3kdpJGLOxJJJ - yST1JNaOnaLrGrts0mwnvWBAxBE8hyeg+UGv1LCeHOApR5sRJy+dl+H+Z+V4 - vxHx9aXLh4qPyu/x/wAj7WH7Yumb8N4QYJ6/a1z+Xk/1ro/DH7Vfw8eGO01v - T7ywfJzJ5aTRjJzyVbf+S18Xt8LPiYsfmN4U1UL/ANeU2fy25rj73TtQ02QQ - 6jay2sh/hlRkP5MBXT/qTk9ZctJa+Um/zbOb/XfOaL5qr084pfoj9dfCvjfw - V411IzeGNTt79fs+SinbIvzfxRsA4/ECuu1iKNbPKoAd6dAPWvxYtbu6sbiO - 8spnt54juSSNijqR3DDBB+lfUXw7/aS1mzaLRviBPLf2RKhbsEmaPB6yL/y0 - A9R83f5ulfIZ34cVaUXUwcuddnv8uj/A+wyPxIo1pKnjI8jfVbfPqvxP0a8m - H+4v5CsnRoo2syWQE736j3qtpyWmr2MGp6Xqsl1aXKB4pY5AyOp6EEVHplg0 - 1tvF1NH87DCtgcGvzOUWnZn6bGSaunoXWij/ALaVdgx5BOMf7VLrUUa6bKVQ - A5XoP9oVRNgw1VYPtU2TCW37vm+90z6UarYPDYySG6mkwV+VmyOSKQzo/Jh/ - uL+QrK0mKNoZtyA/vn6getP/ALKf/n9n/wC+6ztNsHmilIupkxI4wrYzjv8A - WgC7LFH/AGxAuwY8puMe9P1mKNdNnKoAQB0A9RWfJYMNTih+1TEtGx3bvmGD - 0B9KdqenvDYyyG6mkCgfKzZB5HWgZvJDFsX5F6DsKzdKijYXeUBxcSDp9KVN - LcqD9tnHH9+qGn2Dyi5xdTJsmdflbGcY5PuaBF64ijGq2ihBgrJ2HpUmqxRL - p05CAEL6Cs2awddRtovtUxLq53FvmGB2+tSajpzxWU0hupn2j7rNkH60DRsw - QxGCMlF+6Ow9Kz9NijMt7lAcTNjgUkOmO0SN9snGVBwG46VTsbBpZLoC6mTZ - KV+VsZ9z70CLt5FGNTsAEGD5ueP9mrOoxRCwuCEUEI3YelZNzYMl/ZxG6mbz - PM+YtyuB2+vepr7Tnjs5pDdzPtQnDNwfrQM1LSGI2kJKL9xew9Kp2EUZu74F - AcSDHHtUdtpjvbxP9snXcinAbgZHaqtnYPJcXaC6mXY4GQ3LcdTQBdvooxfW - ICAAs2eB6VcvoYhZXBCKCI37D0NY13YNHd2iG6mbezDJblcDtVm7010tZnN3 - O21GOC3BwOhoEXtPhiNjbkopJjXsPSq1lFGdQvgUBAKY4H92obPTXktIZBdz - JuRTgNwMjoKr2tg73l3GLqZfLKchuWyO9AF7UYoxcWQCAZl549qo+LPC+heK - fD97omuWcdzaXEbAqVGVODhlPVWU8gjkGi9sGjmtVN1M++TGS3K8dR71buNM - dYJG+2TthScFuDxSlFNWYpQUlyvVH48/ELwVe+AfFN14dvCXRNskEpGPNgkG - Uf8AofRgR2rG8Ma/e+FfEOneI9POLjTp0mUdm2nJU+zDIPsa+r/2uNFht/8A - hEteUlpbqG5gck9FiMboB7Au9fGdfnWPo+xryjHpt+Z+QZphvq2KlCHR3X5o - /baS6sdUsdH1SxAa3vXgmjOB8ySLuX8wa6GaCHyX/dr909h6V4R8I1mvvhT4 - MupLqUl4ooQN3CCMtGNvpgLxXscukSCNz9uuDgHgv/8AWr9JoVOeEZd0fsWG - q89OM+6TJNFiibS7csikle4Hqa5nV/Cmm+I9ZkS8eSIW8alfKKr97rnKn0rV - 0rTHm0+CUXk8YYfdV8KOewxTIdNdtVuIftc4KIh3BvmOexOK1NjMh8Kab4aj - QWTySfaLmHd5pU427umFHrzXdGCHB/dr+QrmNU014UtybueTfOi/M2cZ7jjq - K0jo8mD/AKfc/wDff/1qAE0GKJtJt2ZFJIbkgf3jSRxRf27MuxceQvGB/eqh - o+mvPp0MovJ4g2flRsKPmPQYpE01zq8sH2ucERK2/d8x56Z9KANDW4oltYyq - KP30fQD1rY8iH/nmv5CuX1XTXgt0Y3c8mZEGGbI5PXp1Faf9jyf8/wDc/wDf - f/1qAGaDFE2moWQE7n6gf3jSeVF/wkBXYMfZc4wMZ31Q0jTXnsVkF3PHlmG1 - GwOGPtR/Zr/2ybf7XPnyN2/d833sYzjpQBf16KJdOYqgB3p0A/vCtnyIf+ea - /kK5fV9NeCyMhu55PmUbXbI5I9q0/wCx5P8An/uf++//AK1ADNDiiazcsik+ - bJ1A9aHii/t6Ndi48hjjA/vVn6Tprz2zOLuePEjjCtgcHr9aG01xq6Qfa58m - Etv3fMPm6Zx0oA0NfiiXSLhlQAjbyAP7wrY8iH/nmv5CuX1nTXt9NmlN3PKF - 2/K7ZU5YDkYrT/seT/n/ALn/AL7/APrUAR6LFE0VzuQHFxIOQPWieKIa3ars - GDE/GKoaXprzRzkXc8e2Z1wrYzjueOpom0111W3g+1zktG53FvmGOwOOlAGn - rcUS6VcFUUEKOQB6itGKCHyk/dr0HYelc9qumPBp80pvJ5AoHys2VPPcYq7H - pEhjU/brgZA/j/8ArUAGkRRMb7cinFzIBwOnFF3FENYsFCLgrLkYHoKz9N01 - 5jd4u549k7r8rY3YxyeOpouNNdNTs4ftc7GQSfMW+ZcDsffvQBravDEumXJV - FBCHoBVu1hhNtCTGv3F7D0rD1LS3hsJ5TeTybVJ2s+QfrxVi30l2gjb7dcLl - QcB+Bx9KAHaXFEbi/BQHExxwPSi+iiGqacAgAJlyMDn5aoafpryzXii7nTy5 - SuVbBbjqeOtF3prpqFjEbudjIZPmLcrhe3HfvQBtanDCNOuSEUERv2HpUlhD - CbG3JjUkxp2HoKyb/S3isp5De3D7UY7WfIOB0PFPtNKeS0hcXtwu5FOA+AMj - oOKAJdOiiN9qAKKQJFxwP7tGoxRC908BAAZGzwP7tZ9lpryXd6gu508t1GVb - BbjqeKL7TXju7JDdzv5jkZZsleOo4oA3r6GEWNwRGoIjfsPQ1HpkMJ062JRS - TGvYelULvSnjtJnN7cNtRjgvwcDoeKZYaW8tjBIL24Tcinar4AyOg4oAnsYo - jqupKUBAMWBgcfLS6pFEJ7ABFGZxngehrPtNNd9RvohdzqYzH8wb5myvc45x - 2o1DTXims1N3O/mShcs2SvHUe9AHQ3MMItpSI1+43YelVNIhibTLYsiklB2F - V59JkWCRvt1wcKTgvwePpVbTdLeawglF5PHuUHar4A+nFAFu1iiOsXylBgLF - gYHoaTWIolNjtQDN1GDwOnNULfTXbU7uH7XOpRYzuDfM2R3OO3ajU9NeE2mb - ueTfOi/M2duc8jjqKAOllgh8t/3a9D2FZuhxRNpVuWRSSDyQPU0yTSJAjH7f - cHAP8f8A9aqOk6Y8+nQyi8njDA/KrYUcnoMUAXoIov7buV2LgRJxgUa1FEsN - vtRRmeMcAetZ8Wmu2qzw/a5wVjQ7g3zHPYn0o1TTXhjgJu55N0yLhmzjJ6jj - qKAOo8iH/nmv5CsfQIom0mBmQEnfyQP7xp/9jyf8/wDc/wDff/1qzNH017jT - oZRdzxBt3yo2FGGI4GKAL6RRf29IuwY+zg4wMfeo1yKJbNSqAHzU6D3qgumu - dYeD7XPkQht+75vvdM46UatprwWqubueTMiDDNkcnr060AdR5EP/ADzX8hWN - oUUTaeCyAne/UD+8ak/seT/n/uf++/8A61Zmkaa89mJBdzx/M4wjYHB+lAF8 - xRf8JAF2DH2bOMDH36XXool0yQqig7k6Af3hWedNf+2Rb/a58+Ru37vm+9jG - cdKNY014LB5TdzygFfldsjlhQB1HkQ/881/IVj6JFE1tKWQH99J1A9af/Y8n - /P8A3P8A33/9aszStNeaCRhdzx4lcYVsA4PXp1NAF+WKL+3YV2DHktxgY607 - Xool0m4ZUUEBeQB/eFZ0mmuNXig+1zkmJm37vmHPQHHSl1jTXg06aU3c8oXH - yu2VPI6jFAHTLBDtH7tenoKyNGiiZLvcinFzIOg9qcNIkwP9Puf++/8A61Zu - maa8y3JF3PHsndflbGcdzx1NAGhcRRDWrRQi4McnGBWysUSncqKCO4ArlptN - ddUtoftc5Lo53FvmGOwOO9bNvprwTLKbueULn5XbKnjuMUAalFFFABRRRQAU - UUUAFFFFAH//0/3Pt7nUhql26WQaRlj3L5gG3A45xzmjUrnUnNp51kI9s6Ff - 3gO5hnA9s+tTW2o2K6tezNOgR1j2nPBwOaXVNRsZTZ+XOjbLhGbB6AZyaALU - l5rBRgdPAGD/AMtl/wAKo6TdammnwpBZCVADhvNC55PYitaTVtNMbAXKZIPe - qGj6lYQ6bBFLOiOoOQTyOTQBViudSGqzutkDIY0BTzBwOxzijVLnU3jgE1kI - wJkIPmBssDwOnf1qeHUbFdYuJjOgRo0AbPBIo1fUbGaKARToxWeNjg9ADyaA - Lv2zWP8AoHD/AL/L/hWXo1zqUemwpb2QljG7DeYFz8x7EVuf2vpn/PzH+dZO - h6jYwaXBFNOiOu7IJ5GWJoAhW51L+2HkFkPN8kAp5g4Xd1z/AEo1a51J7ZRP - ZCJfMQ58wNzngYA71Mmo2I1qSczp5ZgC7s8Z3dKXWNRsZrVUinR2EiHAPYHm - gC79s1j/AKBw/wC/y/4Vl6Rc6nHZBYLISpub5vMC85OeDW5/a+mf8/Mf51la - LqNjBYiOadEbc5wT6saAIPtOpf2yJPsQ83yMbPMH3d3XP14xRrFzqUlg63Fk - Ik3LlvMDfxDHAFTnUbH+3BP56eX9n27s8Z35xSa3qNjPp7xwzo7Fk4B54YUA - Xvtmsf8AQOH/AH+X/CsvSbnUkt5BBZCVTK5J8wLg55HTtW5/a+mf8/Mf51k6 - PqNjDbSLLOiEyuQCexPBoAhe51M6vFIbICURMAnmDkZ65pdYudTk06ZJ7IRR - nGW8wNj5h2AqaTUbE6zFOJ08sQspbPGc9KXWtRsJ9MnihnR3bbgA8n5hQBbF - 5rGB/wAS4f8Af5f8KzNLudSRLjybISAzuW/eAYY9R05x61tjV9MwP9Jj/Osr - SdRsYUuRLOi7p5GGT1Bxg0AQzXOpHVbZ2sgJAj7U8wcjuc44xUmq3WqPp86T - WQjQjlvNBxz6Yp0+o2LavazLOhREcFs8AnpUmr6lYTabPFFOjOy8AHk80ATR - XmriJAungjAwfNX0+lZ+m3OpI935NkJC07Fv3gG1uMjpz9a2IdW00RIDcoCF - Hf2rN0vUbGJ70yTou+d2XJ6g45oAhubnUjqdk72QWRRJtXzAd2RzzjjFT6jd - aq9jOstiI0KHLeapwPXGKLrUbF9VsZVnQpGJdxzwMrxmp9T1PT5dPuI47hGZ - kIAB5JoAS2u9XFvEEsAyhFwfNUZGOvSqVhc6ktxeGKyDs0mWHmAbTjp71q2u - q6altCrXKAhFBGe+Ko6dqNjHc3zSTooeXKknqMdqAILy51Jr+xaSyCOrPsXz - Ad2V55xxirN9d6q1lcLJYBEMbAt5qnAxycYpl7qNi+oWEiToVjZ9xB4GV4zV - vUNU06SxuI0uEZmjcAA9SQaAILK71ZbOBY7AOojUBvNUZGODjFVbK51Nb29a - OyDuzLuXzANpxxz3rSsdU06Oyt0e4RWWNAQT0IAqpY6jYx31/I86BZGQqSeu - F7UAQX1zqTXNmZLIIyyEqPMB3HHTOOKuXV3qzW0wewCqUbJ81TgY64xUWoaj - YyXVi8c6MschLEHoMd6u3eq6c9rMi3CFmRgBnuRQBS0+61VLGBYrEOgRcN5q - jIx1xioLW51JdSvnSyDSN5W9fMA24XjnHOav6bqenxafbxyXCKyooIJ5BxVa - z1GxTVNQledAknlbTng4XBx9KAIdRudSeSzMtkIysylR5gO5vT2+tX5rzVzD - IG08AFTk+avHH0qtqeo2MstkY50YJOrNg9Bzya0Z9V01oJFW5QkqQOfagDN0 - y61RLCBYbESIF4bzVGR9MVFBc6mNUunWyDSMqbk8wDaAOOe+auaVqWnw6dbx - y3CK6rggnkVFb6jYrq13M06BHWMA54OBzQBBqdzqTi186yEe2eMr+8B3MM4H - tn1rSe81jY2dPHQ/8tl/wqpquo2MotPKnRtlxGxwegGcmtN9W0wowFynQ96A - MfSLnU49OhSCyEsYBw3mBc8nsRTY7nUhq0ziyBlMSgp5g4GeucVY0bUrCDTI - Ipp0R1ByCeRyabFqNiNZnnM6CNolAbPBIPSgCHVbnUnhiE9kIwJUIPmBsnPA - /GtT7ZrH/QOH/f5f8Ko6xqNjNBCsU6OVmQnB7A8mtb+19M/5+Y/zoAw9HudS - j0+NLeyEqAthvMC5+Y54IoFzqX9sNJ9iHm+QBs8wfd3dc49e1T6JqNjBpsUU - 06I4LZBPPLE0DUbH+22n89PL8gLuzxndnFAEGr3OpSWm2eyES7058wNzngYA - rU+2ax/0Dh/3+X/CqOs6jYz2YSGdHbehwD2BrW/tfTP+fmP86AMPSLnUo7Tb - BZCVd78+YF5zyMEUNc6l/bCyfYh5vkEbPMH3d3XOP0qbRtRsYLMpNOiNvc4J - 7E0NqNj/AG2s/np5YgK7s8Z3ZxQBDrFzqUmnyJcWQiQlct5gbHzDHAFan2zW - P+gcP+/y/wCFUtb1Gxn02WKGdHclcAHnhga1f7X0z/n5j/OgDD0q51NIZRDZ - CQGVyT5gXBzyPwrgPEvhPV9c1+S6CrC86qQhYNwihTzwO1ejaRqNjDDMss6K - Wmdhk9ieDRLqNidYgmE6GNYmBbPAJNA0znLLT9U0Tww2k3NuCiEkyBx/E+fu - 8/zrrkvNY2LjTx0H/LZf8Kq6zqVhPpk8UM6O7AYAPJ5FaSatpgRQblOg70CM - XTLnU0F15NkJN08hb94BtY4yPfHrRPc6mdUtXayCyKr7U8wHcCOee2Kn0rUb - GIXfmzou+4kYZPUHGDRcajYtq1pMs6FEWQE54GRxQA3U7rVHsJ1msRGhXlvN - U4H0xVqG81cQxhdPBAUYPmrzx9KZqupafNp1xHFcIzsuAAeTVuDVdNWCNWuU - BCjPPtQBkadc6mkl4YrISFpmLDzANrYHHTn60XVzqbalYu9kFkXzdi+YDuyv - PPbFT6ZqNjFLemSdFDzsy5PUYHNF3qNi+qafKk6FI/N3HPAyuBmgA1C61V7G - dZbEIhRst5qnAx1xipbW71ZbWFUsAyhFwfNUZGOuMU/UtT0+XT7iOO4RmZGA - APJOKls9U05LSBHuEDKigjPQgUAZdjc6mtzeGOyDs0gLDzANpx0zjmi9udTa - 9smksgjqzbV8wHccc89qn0/UbGO6vnknRVkkBUk9RjtRfajYyX1hIk6FY2cs - QemV70ASXl3qzWc6yWARTGwLeapwMcnGKbY3eqrZW6x2AdBGoDeaoyMcHGKs - 32qadJZXCJcIzNG4AB6kg0mn6pp0djbxvcIrLGgIJ6EAUAZ1nc6kt/fNHZB3 - Zk3r5gG3C8c45zRqFzqTXFmZbIIyy5UeYDuOOnTiprLUbGPUL+R50CyMm0k8 - HC84o1HUbGW5sWjnRhHLliD0GOpoAnubvVzbyh7AKpRsnzVOBjr0qDTbrVEs - IFhsRIgQYbzVGR64xV+61XTXtplW5QkowAz3xVfTNT0+LT7eOS4RWVACCeQa - AKVtc6mNTvXSyDSMI9y+YBtwOOe+aNSudSdrTzrIR7Z1K/vAdzc4HTj61Pa6 - jYpqt9K06BJBFtOeDhecUapqNjK9mY50bZOjNg9AM80AWZbzVzE4bTwBg5Pm - r6fSqelXWqJp8CQ2QkQDhvNAzz6YrUm1bTTE4FyhJU9/aqOkalYQ6bBFLOiu - q8gnkc0AVYbnUhqty62QMhRNyeYOB2Occ5o1S51J0t/OshGBOhX94Dlh0HTj - PrU0Go2K6vdTNOgR0QBs8EjrRq2o2MyWwinRts8bHB6AZyaALpvNYwf+JcP+ - /wAv+FZuj3Opx6dCkFkJYxnDeYFz8x7EVtHV9Mwf9Jj/ADrM0XUbCDTIIpp0 - R13ZBPI+Y0AV0udTGryyCyBlMSgp5g4GeuaNVudSe3QT2QiUSIQfMDZOeB+N - Tx6jYjWZZzOnlmFVDZ4znpRrGo2M1tGsU6ORKhIB7A80AXftmsf9A4f9/l/w - rL0e51KOwRbeyEqbmw3mBf4jngitz+19M/5+Y/zrJ0TUbGDT0jmnRGDPwTzy - xoAh+06l/bJk+xDzfs+NnmD7u7rn68Yo1e51OSyKz2QiTcvzeYG5yMcCpv7R - sf7cM/np5f2fbuzxu35xS61qNjPYmOGdHbchwD6MKALv2zWP+gcP+/y/4Vl6 - Tc6klswgshKvmOc+YF5zyMEdq3P7X0z/AJ+Y/wA6ytH1GxhtWSWdEYyOcE9i - eKAIHudT/teOQ2QEohICeYOV3dc4/SvmeT77fU19PvqNidajnE6eWICpbPGd - 3SvmCT/WN9TQVE+p4LzWPJjxp4I2j/lsvp9KoaVc6kkc4hshIDM5J8wLhj1H - 4eta8GraYIIwblOFHf2rO0jUbGGK4Es6KWnkYZPUHoaCSGW51M6rA7WQEgjc - BPMHI7nOKfq11qb6fMk9kIkIGW80NjkdgKkm1GxOsW8wnQosbgtngE0/WNSs - JtNniinR3YDAB5PIoAnjvNYCKBp4IwP+Wy/4Vnabc6khu/JshJunct+8A2sc - ZHvj1rZj1bTRGoNymQB3rN0vUbGI3nmTou+4dlyeoOMGgCC4udSOp2jvZBZF - WTavmA7sjnnHGKm1K61R7CdZrERoVOW81TgfTFFzqNi2rWUyzoURZNxzwMji - p9U1PT5dOuI4rhGZlIAB5NAC293q4gjC6eGAUYPmqMjH0qjp9zqSTXhisg5a - Ulh5gG046e9a1tqumrbxK1ygIVQRn2rP03UbGKe9aSdFDzErk9RjqKAIbu51 - JtQsXeyCupk2L5gO7K8844xVm/u9VaynWWxCIUYFvNU4GOTjFMvdRsX1KwlS - dCkZk3EHgZXjNWtR1TT5LC4jjuEZmjYAA8kkUARWl3qy2kKx2AZQigHzVGRj - g4xVSyudTW7vWjsg7M67h5gG046Z71p2WqaclnAj3CBljUEE9CBVOw1Gxjvb - 53nRVkdSpJ6gDtQBBfXOpNd2TSWQRldto8wHccdM44q3d3erNaTLJYBVKMCf - NU4GOTjFRX+o2Ml5Yuk6MsbsWIPQY71dvdU057OdEuELNGwAB6kigCpYXWqr - YwLFYh0CKA3mqMjHXGKr2lzqa6hfOlkGdjHvXzANuF45xzmr+nanp8dhbxyX - CKyxqCCeQQKr2eo2KalfyvOgSQx7STwcLg4oAg1C51N5rMy2QQrKCo8wHccd - Par093q5gkDaeFBU5PmqcDH0qDUtRsZZrJo50YJMGbB6DHU1fuNV01reVVuU - JKsAM+1AGfpt1qiWECw2IkQKMN5qjI+mKht7nUhql26WQaRlj3L5gG3A45xz - mrul6np8WnW8ctwisqgEE8ioLbUbFdWvZmnQI6x7Tng4HNAEOp3OpObTzrIR - 7bhCv7wHcwzge2fWtGS81gowOngDB/5bL/hVTVdRsZjZ+VOjbLiNmweijOTW - nJq2mmNgLlMkHvQBk6TdammnwpBZCVADhvNC55PYimRXOpDVZ3WyBkMaAp5g - 4HY5xVrR9SsIdNgilnRHUHIJ5HJpkOo2K6xcTGdAjRoA2eCRQBBqlzqbxwCa - yEYEyEHzA2WB4HTv61qfbNY/6Bw/7/L/AIVS1fUbGaKARToxWaNjg9ADya1f - 7X0z/n5j/OgDD0a51KPTYUt7ISxjdhvMC5+Y9iKFudS/th5BZDzfJAKeYOF3 - dc/0qfRNRsYNMhimnRHXdkE8jLE0iajYjWpJzOnlmALuzxnd0oAh1a51J7VR - PZCJfMQ58wNzngYA71qfbNY/6Bw/7/L/AIVR1nUbGa0VIp0dhIhwD2B5rW/t - fTP+fmP86AMPSLnU47ILBZCVNzfN5gXnJzwaDc6l/bIk+xDzfIxs8wfd3dc/ - XjFT6LqNjBYiOadEbc5wT6saDqNj/bgn89PL+z7d2eM784oAg1i51KSwdbiy - ESbly3mBv4hjgCtT7ZrH/QOH/f5f8Ko61qNjPp7xwzo7Fk4B54YVrf2vpn/P - zH+dAGHpNzqSW8ggshKplck+YFwc8jp2okudSOrxSGyAlETAJ5g5Geuam0fU - bGG2kWWdEJlcgE9ieDRJqNidainE6eWIWBbPGc9KAItYudTk06ZJ7IRRnGW8 - wNj5h2ArRW81jaP+JcP+/wAv+FVda1Gwn0yeKGdHdtuADyfmFaa6tpm0f6TH - +dAGJpdzqSLceTZCTM7lv3gGGPUdOcetE9zqZ1W2drICQI+1PMHI7nPbFT6T - qNjClyJZ0XfPIwyeoPQ0T6jYtq9rMs6FERwTngE9KAGardam+nzpPZCNCvLe - aDjn0xVyK81cRIF08EYGD5q+n0qHV9SsJtNniinRnZeADyeavQ6tpoiQG5QE - KO/tQBj6bc6kj3fk2QkLTsW/eAbW4yOnP1oubnUzqdk72QWRRJtXzAd2Rzzj - jFTaXqNjE96ZJ0XfO7Lk9Qcc0t1qNi+q2MqzoUjEu454GV4zQAajdaq9jOst - iI0KHLeapwPXGKmtrvVxbxBLAMoRcHzVGRjr0pdT1PT5dPuI47hGZkIAB5Jq - e11XTUtoVa5QEIoIz3xQBlWFzqS3F4YrIOzSZYeYBtOOnvReXOptfWTSWQR1 - Z9q+YDu+XnnHGKn07UbGO5vmknRQ8uVJPUY7UXuo2L6hYSJOhWNn3EHgZXjN - ADr671VrK4WSwCIY2BbzVOBjk4xS2V3qy2cCx2AdBGoDeaoyMDBxip9Q1TTp - LG4jS4RmaNwAD1JBpbHVNOjsbeN7hFZY0BBPQgCgDNsrnUlvb1o7IO7Mu9fM - A2nHHOOaL651NrmzMlkEZZCVHmA7jjpnHFTWOo2Md/fyPOgWRkKknrhe1Ub3 - xJoc+p2ttHdp5lvKd4Py4yvYng/gaANS6u9Wa2mD2AVSjZPmqcDHXGKi0+61 - VLGBYrEOgRcN5qjIx1xirt3qunPazItwhZkYAZ7kVFpup6fFp9vHJcIrKigg - nkHFAFC1udSXUr50sg0jeVvXzANuF45xzmjUbnUnkszLZCMrMpUeYDub09vr - U9pqNimqX8rToEk8rac8HCkHFJqeo2MstkY50YJOrNg9BzyaALM15q5hkDae - ACpyfNXjj6V+Kevf8h3Uf+vmb/0M1+2k+q6a0EircoSVIHPtX4l69/yHdR/6 - +Zv/AEM18pxT8MPn+h8Lxv8ABS9X+h69+zY8qfGbQWgj81wt3hc7c/6NL3Nf - pZ4o14aJpTazrcS2dnYsJnkMgIwgJxx69vfivzV/Zqljg+M+gSysEULd5J6f - 8este1ftYfEkX95a/DzSJg1vbhbm9ZT96Vh+7jPsqncfUsvpXveHmTSx01h4 - 6K7bfZWV/wDL1PLwGcxwGV1MRLV81ku7srf5+h4P8WvixrPxS143lyWttLti - VtLQNlUX++3Yu3c9ug4Fcl4O8E+JPHusJofhm0N1cEbnP3Y407u7HhQP16DJ - 4rN8PaDqPifWrPQdKQPdXsgjTJwo7lmPZVGST6Cv1Y+FnhLwx8OfCsGjaeyC - 4f57qZsCSaX+83sOir0A98k/0LxBn1DJ8NGhh4rmt7q7Lu/61fzPg+Hsgr5z - iZYjESfLf3n3fZf1ojyH4e/s5eGfC86y+I7FfEOpIoZlmYC3Qn+7HyG9Pnz6 - 4FfQ9wk1pZQWkGnR2cEUibEjZQox0AVQAKuR39mNVmmMy7GjUA54zmjVL+zm - hiWKZWIlQnB7A1+H5hmuIxc+fETcn+HyWyP3LL8pw+EhyYeCivx+b3fzLn2r - Vf8AnxH/AH9WufSyj1XRxp+oaTDqVo+7KT7HRuT1VwRXT/2pp/8Az8J+dZmk - X9nDYRxyzKrAtwT6k1wxk07p6nfKCas0fKHxD/Zl0rXLiW48D240W/2eZ9lM - m+2fnsTzHk+mQP7or4h1/wAP6z4X1afQ9ftHsr22OHjcc+xBHBB6ggkEdK/Y - 4X9n/a7Tecuwwhc54zu6V5J8bvh5oHxL8OH7O0aa5ZDNpOOD7xue6N/46eR3 - B/RuFuO6tGao4yXNB9Xuv81+P5H5vxTwHRrQdfBx5Zrotn/k/wAPzPjT4G/G - rUPhtqY0jU3a48P3rjzI2J/0dyf9anXA/vgdRz1Ffo5o17dyWKy2VutxDISy - usq4YNzkeo9+9fjVd2txY3U1leRmKe3do5EbqrqcEH3Br7+/ZW+JUeo+Hrnw - PrE4W40j95bMx5e2c4K/9s24+jAdq9nxB4chKn/aFBa/a810f+fl6Hi+HnEc - 41P7PrvT7N+j7f5fd1Pps3Gof2qrm0HmeSRs8wdN3XP9KXVbjUHsZFntBEhK - 5bzA2OR2qRr+z/tdZvOXYISuc8Z3dKXV7+zmsJI4plZiVwAfRhX48fsZb+1a - r/z4j/v6tZ2m3GoJFKIbQSAyOSfMAwe4/Ctj+1NP/wCfhPzrN0u/s4opVkmV - SZXIyexNAWIZLjUDqcTm0AkEbAL5g5GeuadqdxqD2MqzWgjQgZbzAccjtT5L - +zOqwzCZdixsCc8ZzTtV1Cym0+aOKZWZgMAHnqKBlhLrVNoxYgjA/wCWq1R0 - +41BBceVaCTMzlv3gGG4yPfHrWqmqaeEUGdOg71n6bf2cQufMmVd07sMnqDj - BoFYhmuNQOo2ztaASBX2r5g54557YqTUbjUXspllsxGhHLeYDj8KdPf2bana - yrMpRFcE54GRxUmpahZS2E0ccyszLwAaB2Hw3WqCJAtiCNowfNXniqVhcags - l0YrQOWlJYeYBtPp71pw6nYLDGpnQEKB19qo6ff2cUl2ZJlUPKSMnqPWgViK - 5uNQN/Zs9oFdfM2r5gO7I557Yqe+udSazmWSzCKUOW8wHA9cU26v7N9RspVm - UrH5m454GV4qxf6jYyWU8aTqzMhAAPU4oGNtrnUxbxBLIMoRcHzAMjHWqlnc - agtxdmO0DszjcPMA2nHT3rRtdSsEtoUadAVRQRnuBVSyv7OO5vHeZQHcFST1 - GKAIbu41Bru0aS0CsrNtHmA7jj17VZu7nUmtZlksgqlGyfMBwMcnFR3l/ZyX - lm6TKVRmLHPTIq1ealYvaTok6lmRgBnqSKBEFnc6ktpCsdmHUIuD5gGRjriq - 9rcagL27ZLQM7FNy+YBt44575q9Y6jYx2cCPOoZUUEZ6HFV7S/s0vr2R5lCu - U2nPXA5oAhvbjUGmtTJaBCsmVHmA7jjp7VbuLrUzBIHsgqlTk+YpwMVFf39n - JPaMkysEky2D0GKuXOpWDW8qrOhJVgBn2oGfD37XUk7aH4QWWLYivdbW3A7v - li7dq+Ha+5P2u54ZNB8HRxuGaN7vcB1HyxV8N18Dnn+8y+X5H5TxP/vs/l+S - P1U+Cs96PhF4OUWwKIMo28fOfNk4x2+te3y3mrmNwdPAGDz5q/4V4r8Fby1H - wh8GRmVd0XzOM8qBLJya9yl1bTTE4FyhJU9/avvcF/Bh6L8j9Qy3/d6f+Ffk - ZelXWqJp8CQ2QkQDhvNAzz6YqOG51IarcOtkDIUQMnmDgdjnHOataRqVhDps - EUs6K6ryCeRzTINRsV1e5mM6BGRADngkda6TtINUudSdLfzrIRgToV/eA5Yd - B04z61pm81jB/wCJcP8Av8v+FUtW1GxmS2EU6NtnjY4PQDOTWqdX0zB/0mP8 - 6AMXR7nU49OhSCyEsYzhvMC5+Y9iKRLnUxq8sgsgZTEoKeYOBnrmrGi6jYQa - ZBFNOiOu7IJ5HzGkj1GxGsyzmdPLMKqGzxnPSgCDVbnUnt0E9kIlEiEHzA2T - ngfjWp9s1j/oHD/v8v8AhVLWNRsZraNYp0ciVCQD2B5rV/tfTP8An5j/ADoA - w9HudTjsVWCyEqbm+bzAv8RzwRR9p1L+2TJ9iHm/Z8bPMH3d3XP14xU+i6jY - waekc06IwZ+CeeWNJ/aNj/bhn89PL+z7d2eN2/OKAIdYudSksis9kIk3L83m - BucjHAFan2zWP+gcP+/y/wCFUda1GxnsGjhnR23IcA+jCtb+19M/5+Y/zoAw - 9JudTS2YQWQlXzHOfMC855GCO1D3Op/2vHIbICUQkBPMHK7uucfpU+j6jYw2 - rJLOiMZHOCexPFD6jYnWo5xOnliEruzxnd0oAg1m51KTTZkuLIRRnblvMDY+ - YdgK0/tms/8AQOH/AH+X/Cqet6jYz6XPFDOju23AB5OGBrV/tfTP+fmP86AM - PSrnUkjnENkJAZnJ/eAYY9R+HrRNc6kdWt3ayAlEbgJ5g5Hc5xxU2kajYwxX - AlnRS08jDJ6g9DRNqNi2sW8wnQxrG4LZ4BNADNWutTfT5knshEhAy3mhscjs - BV6O81gRqBp4IwP+Wy/4VBrGpWE2mzxRTo7sBgA8nkVfi1bTRGgNymQB3oAx - tNudSQ3fk2Qk3TuW/eAbWOMj3x60XFzqR1Ozd7ILIok2r5gO7I557YqfS9Rs - YjeeZOi77h2XJ6g4waLnUbFtVspVnQogk3HPAyOM0AJqV1qj2E6zWIjQqct5 - qnA+mKsW93q4gjC6eGAUYPmqMjH0pNU1PT5dOuI4rhGZkIAB5NWbbVdNW3iV - rlAQqgjPtQBk6fc6kk14YrIOWlJYeYBtOOnvRd3OpNqFi72QV1MmxfMB3ZXn - nHGKm03UbGKe9aSdFDzErk9RjqKL3UbF9SsJUnQpGZNxB4GV4zQA+/u9Vayn - WWxCIUYFvNU4GOTjFOs7vVltIFjsA6hFAPmqMjHBxipdR1TT5LC4jjuEZmjY - AA8kkU+y1TTks4Ee4QMsaggnoQKAMyyudTW7vWjsg7M67h5gG046Z70X1zqT - Xdk0lkEZXJUeYDuOOmccVPYajYx3t87zoqyOpUk9QB2ov9RsZLyxdJ0ZY3Ys - Qegx3oAku7vVmtJlksAqlGBPmqcDHJximWF1qq2MCxWIdAigN5qjIx1xird7 - qmnPZzolwhZo2AAPUkVHp2p6fHYW8clwissaggnkECgChaXOpLqN88dmGkYx - 718wDbheOe+aNQudTeazMtkEKygqPMB3HHT2qaz1GxTUr+V50CSGLaSeDhcH - FLqWo2Ms1k0c6MEmDNg9BjqaAJ57vVzBIG08KCpyfNU4GPpVfTLrVEsIFhsR - IgUYbzVGR9MVoXGq6a1vKq3KElWAGfaq2l6np8WnW8ctwisqgEE8igClb3Op - jU7t0sg0jLHuXzANuBxzjnNGp3OpObTzrIR7bhCv7wHcwzge2fWp7bUbFdWv - JmnQI6x7Tng4HNJquo2Mxs/KnRtlxGzYPRRnJoAtyXmsFGB08AYP/LZf8Ko6 - TdammnQpBZCVADhvNC55PYitaTVtNMbAXKZIPes/R9SsIdNgilnRHUHIJ5HJ - oArRXOpjVZ3WyBkMaAp5g4HY5xRqlzqbxwCayEYEyEHzA2WB4HTv61PDqNiu - sXExnQI0aANngkUavqNjNFAIp0YrNGxwegB5NAF37ZrH/QOH/f5f8Ky9GudT - j02JLeyEsY3YbzAufmPYj1rc/tfTP+fmP86ytE1Gxg0yGKadEdd2QTyMsTQB - AtzqX9sPILIeb5IBTzB93d1z/SjVrnUntVE9kIl8xDnzA3OeBgDvUyajYjWp - JzOnlmALuzxnd0o1nUbGa0VIp0dhIhwD2B5oAvfbNY/6Bw/7/L/hWXpFzqUd - kFgshKm5vm8wLznngitz+19M/wCfmP8AOsnRdRsYLERzTojb3OCfU0AQm51L - +2RJ9jHm+RjZ5g+7u65+vajWLnU5LB1nshEmVy3mBsfMMcCpjqNj/bgn89PL - +z7d2eM784pda1Gxn0944Z0diU4B54YUAXftmsf9A4f9/l/wrL0q51NIJBDZ - CQGVyT5gXBzyOnatz+19M/5+Y/zrK0fUbGG3lWWdEJlcgE9ieDQBBJc6kdXi - kNkBKImATzByM9c4pdYudTk06ZJ7IRRnGW8wNj5h2AqWTUbE61FOJ08sQsC2 - eM56U7WtRsJ9MnihnR3bbgA8n5hQBaW81jaP+JcP+/y/4Vm6Xc6mi3Pk2Qkz - O5b94Bhj1Hvj1rbXVtM2j/SY/wA6y9J1GxhS6Es6LuuJGGT1Bxg0AQT3OpnV - bZ2sgJAj7U8wcjuc9sVtW9zqckypcWQijOct5gbHHoBWZPqNi2r2syzoURHB - OeAT0rZi1GwnkEUM6O7dADyaALtFFFABRRRQAUUUUAFFFFAH/9T93LW2tzrF - 8hiQqqxYG0YGRRq1tbobLZEi7rmMHCjkc8dKpW9hcNql3ELyRWRY8sMZbI7/ - AEo1KwuIjabrySTfOijOPlJzyPcUAdDLaWnlv+4Tof4R/hWdottbPpduzxIz - EHJKgnqfalk0y6CMTqEx4PpVHSdPuJtPhkS9ljDA4VcYHJoAtQ21udauUMSb - REhA2jFGs21ukVuUiRczxg4UDjNUorC4OqzxC8kDLGpL8ZOexo1SwuIo4C95 - JJumQAHHBJ6/UUAdL9jtP+eCf98j/CsfQLa3k0mB5IkZju5Kgn7x9qn/ALLu - v+ghN+lZejWFxNpsMqXkkSnd8q4wPmNAF1La3/t2SPyk2+QDjaMZ3fSjW7a3 - S0QpEinzUHCgd6pLYXB1h4ftkm4Qht/Gcbun0o1awuIrZWe8kkBkQYbGOT1/ - CgDpfsdp/wA8E/75H+FY+h21u9gGeJGO9+SoP8Rqf+y7r/oITfpWXpFhcTWQ - dLySIbnG1cY4JoAum2t/7eEflJt+zZxtGM7+vSjXba3j012SJFO5OQoB+8Kp - GwuP7ZEP2yTd5G7fxuxuxj6d6NYsLiGweR7ySUBl+VsY5YUAdL9jtP8Angn/ - AHyP8Kx9Ftrd7aUvEjESyDlQeM/Sp/7Luv8AoITfpWXpNhcTW8jJeSRASuML - jkg9fxoAuyW1v/bkKeUm0wscbRjOaXXba3TSp3SJFYBcEKAfvD2qi9hcDV4o - ftkhYxMd/GQM9KXWLC4h06aR7ySVVx8rYwfmFAHRi0tMD9wn/fI/wrI0e2t3 - S63xI2LiQDKg4HHFTDS7rA/4mE36VmaXYXEqXBS8kj2zupxjkjufc0AXbi2t - xrNogiQKY5MjaMGpNZtrZNLuGSJFYLwQoB6/Ss6awuF1W2iN5IWZHIfjIx2H - 1qTVdPuItPnke9lkCryrYweaANyG0tDDGTCn3R/CPT6VmaTbW7vfb4kbbcOB - lRwOOKfFpl0YkIv5hlRxx6Vn6bYXEj3YW8kj2Tspxj5iMcn3oAu3dtbjV9PQ - RIFYS5G0YOFHWrGq2tsum3LLCgIQ4IUZ/lWVc2FwupWURvJGZxJhjjK4Hb61 - PqOnXMdjPI19LIFQkqcYPsaANa0tLU2sJMKElF/hHp9Kz9Ntrdrq/DRIQsuB - lRwMfSi2026a3iYX8qgopwMYHFUrCwuJLi8VbyRCkmCRj5uOpoAu39tbrqWn - qsSAM0mQFGD8vereo2tqun3LLCgIicghR6H2rHvLC4S/sY2vJGLs+GOMrhe3 - 1qzfadcx2Vw7X0rhY2JU4wcDoaANGwtbVrG2ZoUJMaEkqP7o9qpWFtbtf6gr - RIQrpgFRx8vamWWm3L2cDrfSoGjUgDGBkdKq2VhcPe3qLeSIUZQWGMtkd6AL - uo21ut3YBYkAaUg4Uc8d6v3lpai0nIhQEI38I9PpWHfWFxHc2ateSOXkIBOM - rx1FXLrTblLaZjfysAjHBxg8dKALWl2ts2nWzNChJjXJKjPT6VWsra3bVtRQ - xIVXycDaMDK9uKh0/TrmSxgkW+lQMikKMYHHQVBa2Fw+pX0QvJFaPyssMZbK - 9/pQBd1W2t0lsQsSLunUHCjkYPtWlcWlqIJCIUB2n+Een0rA1GwuI5LMNeSS - b5lUE4+U+o96vzaZdCGQm/lICnjjnigCTR7a2fTLdnhRiV5JUZ/lUNtbW51i - 8QxIVVI8DaMDIqvpmn3EthBIl7LGGXIUYwKigsLhtUuoheSKyKhLDGWyO/0o - Au6vbW6Cz2RIu65jBwo5Bzx0rVe0tNjfuE6H+Ef4Vzup2FxELXdeSSb541Gc - fKTnke4rSfTLoKT/AGhMeD6UAM0O2tn0q3d4kZiDklQT94+1Nitrc63OhiTa - IlONoxnP0qppFhcTadDIl7JErA/KuMDk02OwuDq00IvJAyxKd/GSM9KALutW - 1ulvCUiRSZoxwoHGa2Psdp/zwT/vkf4VzWq2FxFDEz3kkgMqDDY4JPX8K1P7 - Luv+ghN+lAEGhW1u+lxM8SMxL8lQT940LbW/9utH5Sbfs4ONoxnf1xVLR7C4 - m0+ORLySIEt8q4wMMaBYXH9sND9sk3eQG38Zxuxj6UAXdctrdLEMkSKfMTkK - B3rY+x2n/PBP++R/hXNavYXENoHe8klG9BhsY5PWtT+y7r/oITfpQBBodtbv - YlniRj5j8lQe9DW1v/byR+Um37OTjaMZ3dcVS0iwuJrQul5JEN7jC4xwetDW - Fx/bCw/bJNxgLb+M43dPpQBd122t00uVkiRWBTkKAfvCtj7Haf8APBP++R/h - XNaxYXEOnySPeSSgFflbGDlhWp/Zd1/0EJv0oAg0a2t3gnLxIxE0g5UHjNEt - tbjW7dBEm0xOSNoxnP0qlpVhcSwylLySMCVxhcckHr+NEthcDVoYTeSFmjY7 - +MjB6UAX9ctrZNKuHSJFYAYIUA/eHtWmlpabF/cJ0H8I/wAK5/V7C4h06aR7 - ySUKB8rYweRWgmmXRRT/AGhMOB6UARaRbW7i83xI225kAyo4Axx0ouba3GsW - aCJArJJkbRg4FUtMsLiUXW28kj2TyKcY+YjHJ9zRPYXC6paxG8kZnVyGOMrg - dvrQBp6xbWyaZcMkKKQvBCjP8quW9pamCMmFCdo/hHp9KxdT0+4isJ5HvZZA - q5KnGDVqHTLowxkX8oBUccccUAN0u2t2lvg0SHbOwGVHAwKL22t11XTkESBW - 87I2jBwvfiqWnWFxJJeBbyRNkzAkY+Y4HJ96LqwuE1KxjN5IzSebhjjK4Xt9 - aANbVLW2XTrllhQERtghRnp9KlsrW1azgJhQkxrztHp9Ky9Q065jsZ5GvpXC - oxKnGDx0NS2um3L2sLi/lUMinAxgZHSgBdOtrdru/DRIQsoAyo447UX9tbrf - 6eqxIAzvkBRz8veqVjYXElzeKt5IhSQAkYy3HU0XthcJe2SNeSOXZgGOMrgd - qANq/tbVbG5ZYUBEbkEKP7p9qbp1ratp9szQoSYkJJUeg9qo3um3KWc7tfSu - FjYkHGDgdKSx065ksrd1vpUDRqQoxgZHQUASWFtbtqWoK0SEK0eAVGB8vajU - 7a3W5sAsSANLg4UcjH0qlZ2Fw9/fRreSKUKZYYy2V7/Si/sLiO4s1a8kcvLg - E4+U46igDdu7S1FrMRCgIRv4R6fSq2lWts+m2zNCjEoMkqM/yqC5026W3lY3 - 8rAIxwcYPFQabp9zJYQSLeyxhkBCjGBQBPaW1udX1BDEhVRFgbRgZU9KNWtr - dHsdkSLuuEBwo5HPFUrawuG1K9iF5IrII8sMZbI7/SjUrC4ja0DXkkm+dVGc - fKTnke9AHQTWloIZCIU+6f4R6fSqGjW1s+l27PEjMV5JUE9fpSS6ZdCJyb+Y - 4B449Kp6Vp9xLp8EiXssYZeFXGBzQBZt7a3Os3aGJCojjwNowKNYtrdEtdkS - Lm4jBwoGRzxVKGwuG1W5iF5IGVEJfjJz2P0o1SwuIkty95JJunRRnHBPce4o - A6Q2lpg/uE/75H+FZOhW1u+lQO8SMxDZJUE/ePtUp0u6wf8AiYTfpWbo9hcT - adDIl5JErZ+VcYHzGgC5HbW/9uTJ5SbRCpxtGM5o1q2t0tYykSKTLGOFA4z9 - KpJYXB1eWH7ZIGESnfxkjPSjVbC4it0Z7ySQGRBhscZPX8KAOl+x2n/PBP8A - vkf4Vj6FbW8mmozxIx3PyVBP3jU/9l3X/QQm/SsvR7C4msEkS8kiBZvlXGOG - NAF0W1v/AG+Y/KTb9mzjaMZ39cYo1y2t0sCyRIp3pyFA/iFUvsFx/bJh+2Sb - vI3b+N2N2MfTvRq9hcQ2Rd7ySUblG1sY5IoA6X7Haf8APBP++R/hWPoltbva - OXiRj5rjlQe9T/2Xdf8AQQm/SsvSbC4ltmZLySMCRxhcY4PX8aALr21v/bka - eUm0wE42jGd1fLUn+sb6mvph7C4Grxw/bJNxhJ38Zxu6fSvmeT77fU0FRPre - C0tPIj/cJ90fwj0+lZujW1u8VyXiRsTyAZUHjP0p0GmXRhjP9oTD5R6elUNK - sLiWOcpeSR7ZnUgY5I7/AFNBJdmtrca1bIIk2mJyRtGKfrVtbJpdwyRIrADB - CgHqPas+WwuBqsERvJCzRsQ/GRjsKfq2n3EOnzSPeyyBQMq2MHkUAb0VpaeW - n7hOg/hH+FZek21u5vd8SNtuZAMqOBxx0qSPTLoopGoTDgelZ2m2FxKbvbeS - R7J3U4x8xGOT7mgC7dW1uNYsUESBWWXI2jBwKn1a1tk024ZIUUhDghRn+VZd - xYXC6paRG8kZnEmGOMrgdvrU2pafcRWE8jXssgVSSpxg0AbFraWptoiYUJKL - /CPT6VnaXbW7XF+GiQhZiBlRwMUtvpt00EbC/lUFQcDHHFUdPsLiSa8VbyRC - kpBIx8xx1NAF2+trddT05ViQKxlyNowcL3q1qVrarp9yywoCI2IIUen0rIu7 - C4TULGNryRjIZMMcZXC9vrVm/wBOuY7Kd2vpXCoxKnGDgdDQBo2NratZW7NC - hJjQklR6D2qlp9tbtfagrRIQrrgFRx8vam2em3L2kDi+lUMinAxgZHSqllYX - D3d6i3kiFHUEjGW46mgC7qNtbrfaeqxIA0jZAUc8d6u31rarZXDLCgIjcghR - 6H2rFvrC4S7ska8kcu5AJxleOoq3d6bcpaTO19KwVGJBxg4HSgC5plrbNp1s - zQoSY1ySo9PpVWytrdtU1FWiQqpiwNowMr2qKw065ksYHW+lQMikKMYHHQVX - tLC4fUL6MXkilDHlhjLZXv8ASgC7qltbrPYhYkAaYA4UcjBrRubS1FvKRCgI - Rv4R6fSsHULC4jmsw15I5eUAE4+U46ir0+mXSwSMb+VgFJwcc8UATaTa2z6b - bs8KMSgySoz/ACqC1trc6xfIYkKqsWBtGBkVBpun3EthBIt7LGGUEKMYFQ29 - hcNql3ELyRWRY8sMZbI7/SgC7q9tbobLZEi7rmMHCgZBzx0rUltLTy3/AHCd - D/CP8K57U7C4iNpuvJJN86KM4+UnPI9xWjJpl0EYnUJjwfSgBNFtrZ9Lt2eJ - GYg5JUE9T7UyG2tzrVyhiTaIkIG0YqrpOn3EunQyJeyxhgcKuMDk0yKwuDqs - 8QvJAyxqS/GTnsaALus21ukVuUiRczxg4UDjNbH2O0/54J/3yP8ACua1SwuI - o4C95JJumQAHHBJ6/UVqf2Xdf9BCb9KAINBtreTSoHeJGY7+SoJ+8fahLa3/ - ALdkj8pNvkA42jGd30qlo1hcTabDIl5JEp3fKuMDDGhbC4OsPD9sk3CENv4z - jd0+lAF3W7a3SzUpEinzEGQoHetj7Haf88E/75H+Fc1q1hcQ2qu95JKPMQYb - GOT1rU/su6/6CE36UAQaHbW72AZ4kY735Kg/xGg21v8A28I/KTb9mzjaMZ39 - elUtIsLiayDpeSRDc42rjHBNBsLj+2RD9sk3eRu38bsbsY+negC7rttbx6a7 - JEincnIUA/eFbH2O0/54J/3yP8K5rWLC4hsHke8klAK/K2McsK1P7Luv+ghN - +lAEGi21u9tKXiRiJZByoPGfpRJbW41yFBEm0wscbRjOapaTYXE1vIyXkkYE - rjC45wev40SWFwNXih+2SFjEx38ZAz0oAva7bW6aVO6RIrALghQD94e1aq2l - ptH7hOn90f4VzusWFxDp00j3kkqrj5Wxg/MK0V0u62j/AImE36UARaPbW7pd - b4kbFxIBlQcAY4ouLa3Gs2iCJApSTI2jBqlpdhcSrclLySPbO6nGOSO59zRN - YXC6rbRG8kLMjkOcZGOw+tAGjrNtbJpdwyRIrBeCFAPX6VfhtLQwxkwp90fw - j0+lYeq6fcRafPI97LIFXlWxg81ci0y6MSEX8wyo449KAGaTbW7vfb4kbbcO - BlRwOOKLu2txq+noIkCsJcjaMHCjrVLTbC4le7C3kkeydlOMfMRjk+9FzYXC - 6lZRG8kZnEmGOMrgdvrQBq6ra2y6bcssKAhDghRn+VWLS0tTawkwoSUX+Een - 0rJ1HTrmOxnka+lkCoSVOMH2NTW2m3TW8TC/lUFFOBjA4oANNtrdrq/DRIQs - uBlRwMfSi/trddR09ViQBmkyAowfl78VSsLC4kuLxVvJEKSYJGPm46mi8sLh - L6yja8kYuz4Y4yuF7fWgDY1G1tV0+5ZYUBETkEKPQ+1Lp9ratYWzNChJiQkl - R/dHtXL67fafpVvNHe6y3mFSBFkMzEjoVGSAa4Wbx/HBDHFYm5kKqAdzKijA - 7YDEj8qB2PVtPtrdtQ1BWiQhXTAKjj5e3FfP/jRVTxRqCoAqhxgDgfdFXT47 - 1tJZJLdhGZCCxJJJx0yeK5W+vbjUbuS9um3SynLH36UDSNDT/EOq6apjgm3R - kYKSAOuPbPI/DFej6H8QtIEMdrrFiI2QBfNRQ4OO5B5H4Zrx2igdj6Z0S70f - VdQv5bFop4iIioAHHynPBGRz14q/qttbpLYhYkXdOoOFHIwfavluKWWCRZYX - MbryGUkEfQiuntvGeuxmMXNw1ykTBhvPzAjuG65+uaBcp9H3FpaiCQiFAdp/ - hHp9K/EPXv8AkO6j/wBfM3/oZr9dtF8T22uhrcXV3FcbSShXep4/vKOB7kCv - yJ17/kO6j/18zf8AoZr5Tin4YfP9D4Pjf4KXz/Q9b/Zxmtrb4waNdXhAggjv - ZHLcgKlpKST9AK868Ta5ceJvEWpeILobZNQuJJivZQ7EhR7KMAewp3gq9ksN - XuLiJijf2fqMYI6/vbSVP/Zqwa/ZfAzCL6rXr9ea34Jv80fkfEWLfsadBbXb - /BJfkz7p/ZI8C25sdV8e38IeSRjZWu4Z2qoDSuM+pKqD7MO9fYuj29u+mws8 - SsSDyQCepryz4JeHn034UeHY4bl4hPa/aCq4xm4Jl/8AZq9H02ymksIpVu5I - lIPAxgcmvnOKMfLE4+rUfdpei0R+3cLYCOGwFKmuyb9XqyodV8OweK/7AuLu - 1jv7iEPFatIgmcDJJWMncRhScgdj6Vq6tbwJBEUjVSZUHAA4zX5p+IvEPiDV - /HGq/GnSpHmsNC1S3gifOC0I3KmOwDKgDe8g96/RQtHqOlWOq2d69xbXohli - Y4wUlG5WH4Gtc+4feChSlzX5lr5Ssm19zRnkPECxs6seW3K9POOqT+9Miu/H - Xw1sLqWxvvEGk21zbuUkikuoEdHU4KspYEEHgg0eEfEPhLX7UQ6RqVjqU6bi - ywTRTOBuPJCkkCvjjwN8OfDPxB+NHxA07xTC13FZXVxImJHjO43BUklGXPFS - fFz4V+Hvhr4Y0/4i+Bp5tH1K1vEjVVldg27dypclgw29M4IzkV6suHcF7eGD - 9rJVJJW0XLdq6W9/wPKjxHjfYTxjpRdOLd9XzWTs3tb8T7K1fV/Dfh7UBc+I - L200y1eMIr3MkcMZkJJwC5ALYBOOuAa1NUitGsFmgRCrshDKBggnsR2NfGn7 - SF7c6p8L/C+r3bMZr97O4cH+FpbaViv4E19YQ2c0fh6xka6kcGKD5T05A/lX - z+MytUcLTrt6yck1/ht/mfQYPNHWxVSglpFRaf8Aiv8A5HxF+1j4Hg0PxXZe - LdPiEdvraFZgowouIQATxwN6EfUgmvG/g34k/wCEV+JWham5HkSXC284b7vl - XH7tif8Ad3bvqK+2P2otAaf4WyahLcPMdOu4JV3Y43kxH/0OvzbVmRg6HDKc - gjsRX7NwfW+u5T7Grra8H6dPwaPxfjGj9Rzf21LS9pr16/imftU1vB/bKp5a - 7fIJxgYzuo1m3t006RkjVSCvIAB+8Kw9I8/UlsLw3Th7uzjn3cZG8A4+nNaO - q2U8NjJI91JIAV+VsYPIr8CnFxbTP3+Mk0mjoPstr/zxT/vkVlaTbwPDMXjV - iJXHIB4zU39m3P8Az/S/pWdptlPLFKVupI8SOMDHJHepKPHf2jfjHof7Pfw8 - 1T4nanp66iNOiRILISCE3VxPKsaRh9r7epYnacKpOK8E/ZW/bS0T9qg+KdEf - wsnhTVdCgt7mKEXgvPtEEjlJHB8mEr5bbARg53jmvir/AIKyfE1n17wn8GbK - 8adbKI6xfgnOJZd0Nspx0KoJGIPZ1NfGX7OXiPxJ+zN+014bHjKJ9KF0La01 - KJzjFlq8MciNJ7IJIpSOxTHagD+pxLW12L+5ToP4RXxB+1f+1jB+ynpmhX// - AAiK+KX8RXt9EFN2LMQrarEc58ibdnzBgYGMV9opp1yVB+2yjj2r8Yf+CtET - JoHw6LSF8ahrC8+oS25+poAzn/4K7B7mKcfCOMLGGBX+2+Dn/tx7V1nh/wD4 - K2eCdUuBZeMPhtdaLbS/Kbixvo750z38t4bbj1w2fQHpXoP7D37O3wU8d/s0 - eA/Eni7wXpOrarqY1Qz3V1ZQzTP5OoXMabnZSThFCjPQACtD9sD9hj4If8KV - 8VePPBGiW/hjXvC1hPqUUlkghhmjtV8yWKSFSEO5FIUgBg2OSMqQD9DPh142 - 8C/FHwdp3jfwJfW+r6NqMeYp4lxyvysrKwDI6kEMrAEHqK/Oz9or/godF+zx - 8Xtb+Fy/DxPEP9niCX7W2pfZc/aIll2iP7LLgKGxndz6CvnD/gkn4x1uTxd4 - 3+Gn22RNLmsY9WSMH5UnhlSB2Udi6yqG9di+lfL3/BRhDH+1p4tRmLlYdPGT - 1P8AokVAH9Ml1BANRsAIlAbzMjAwfl71Z1G2t1sZ2WJAQjYIUelZU9lMt7ZR - m6kYvvwxxlcL2+tWL6wuI7OZ2vJHCoTg4wfagC/BFZR2Mc86RoixhmZgAAAM - kkmvyj+MH/BUL4efDrxzqHhj4e+FU8eWdq5SXUFvhZ2xlXgrb4t5/NQf89Pl - Un7u5cMfav8AgoBo3xJ1r9n+w8KfDSTULzVfE+sWOnNaWRIe4gmimZ4mK4xE - SgL7iF2g7jtzX4x/tQfsrXH7MvhTwAviDUBfeJvEp1J9RSI5trf7MLXy4ojj - LFfOfe54Y4wABkgH9Gfwi+IMPxd+G/gv4l/2Umkf8JJbfajaCQTiLdkbfM2J - vxjrtH0r1y9trZbK4ZYkBEb4O0ehr5N/Y9tZT+zL8KiLhx5ulpj/AGOW6V9S - 3en3CWszteSMFRiQcYOB0oAuWFtbNY27NEhJjXJKj0qrZ28DX98rRqQpTAwO - PlplnYXD2kLreSIGRSAMYHHSq9rZTveXaC6kUoUywxlsjv8ASgC3qFvAtxZB - Y1AaXBwBzxV66tbYW0pESAhG/hHpWNe2U8c1qrXUjl5MAnHy8dRVu40+4WCR - jeysApODjnigD4q/a9jjXQPBrKoBZrvJA5Pyxda+GK+4v2uYXj0PwhI0rOHe - 6wp6L8sXSvh2vgc8/wB5l8vyPyrif/fZ/L8kfq78FIYT8H/BbGNcucE4GSPN - k617tNaWgiciFPun+Een0rwD4K2kx+EXg6QXLgSDAXjCEyycj3r2+XTLoRuT - fzHAPHFfe4L+DD0X5H6hlv8Au9P/AAr8hdGtrZ9Lt2eJGYrySoJ6n2rgvFvi - F/DWr4trSGZZkGQ68DGOmMetdhpWn3EunwSJeyxhhwoxgc15N8R4Xg1KCOSV - pjtPzN17V0ncjqNC8Qv4kiY3FpDB5FzbgeWuMh92Qc59K9RNpaYP7hP++R/h - XgvgWJ5IrkrIyfv7ZePU78H6jtXtJ0u6wf8AiYTfpQDItCtrd9Kgd4kZiGyS - oJ+8fakjtrf+3Jk8pNohU42jGc1T0ewuJtOhkS8kiVs/KuMD5jSJYXB1eWH7 - ZIGESnfxkjPSgRd1q2t0tYykSKTLGOFA4z9K2Psdp/zwT/vkf4VzWrWFxFbo - z3kkgMiDDYwCT1/CtT+y7r/oITfpQBBoVtbvpyM8SMdz8lQT94+1Atrf+3zH - 5Sbfs2cbRjO/rjFUtHsLiaxWRLySIFm+VcY4Y0fYLj+2TD9sk3eRu38bsbsY - +negC7rttbx6ezJEinenIUD+Ie1bH2O0/wCeCf8AfI/wrmtYsLiGyLveSSjc - o2tjHJrU/su6/wCghN+lAEGiW1u9o5eJGPmuMlQe9D21v/bkcflJt8hjjaMZ - 3fSqWk2FxLbMyXkkYEjjC4xwev40PYXA1eOH7ZJuMJO/jON3T6UAXdetrePS - Z3jiRWG3kKAfvD2rY+x2n/PBP++R/hXNazYXEOmzSveSSqu35Wxg/MK0/wCy - 7r/oITfpQBDo1tbvFcl4kbE8gGVB4z9KJ7a3GtWyCJNpjckbRiqWlWFxLHOU - vJI9szqQMckd/qaJrC4GrW8RvJCzRuQ/GRjsKANDWra2TS7hkiRWAGCFAPUe - 1aMVpaGJCYE6D+Ef4Vg6tp9xDp80j3ssgUDKtjB5FXo9MujGpGoTDIHpQBHp - Ntbub3fEjbbmQDKjgccdKLq2txq9igiQKyy5G0YOAKpabYXEpu9t5JHsndTj - HzEY5PuaLmwuF1OziN5IzOJMMcZXA7fWgDU1a1tk024ZIUUhDghRn+VWrW0t - TbREwoSUX+Een0rH1LT7iKwnka9lkCqSVOMGrFvpt00EbC/lUFQcDHHFACaX - bW7XF+GiQhZiBlRwMUX1tbrqenKsSBWMuRtGDhe9UtPsLiSa8VbyRCkpBIx8 - xx1NF3YXCahYxm8kYuZMMcZXC9vrQBr6la2q6fcssKAiNiCFHp9KfY2tq1lb - s0KEmNMnaPQe1Z1/p1zHZTu19K4VGJU4wcDoadZ6bcvaQOL6VQyKcDGBkdKA - HafbW7X2oK0SEK64BUcfL24o1G2t1vbBViQBpGyAo5478VSsrC4e7vUW8kQo - 6gkYy3HU0X1hcJd2SNeSOXcgE4yvHUUAbV9a2q2VwywoCI3IIUeh9qZplrat - p1szQoSY1JJUen0qnd6bcpaTO19KwVGJBxg4HSmWGnXMljA630qBkUhRjA46 - CgCWxtrdtU1FGiQqpiwNowMr2o1S2t1nsQsSANMAcKORg1StLC4fUb6NbyRW - jMeWGMtle/0o1CwuI5rMNeSOXlABOPlOOooA3rm0tRbykQoCEb+Een0qrpNr - bPptuzwoxKDJKjP8qhn0y6WCRjfysApODjniq+mafcy2EEi3ssYZQQoxgUAT - 2ttbnWL5DEhVViwNowMj6UavbW6Gy2RIu65jBwoGQc8VSt7C4bU7uIXkisix - 5YYy2R3+lGp2FxEbTdeSSb7hFGcfKTnke4oA6GS0tBG5ECdD/CP8KztEtrZ9 - Lt2eJGYg5JUE9T7UsmmXQRj/AGhMeD6VR0nT7ibToZEvZYgwOFXGByaALUNt - bnWrlDEm0RIQNoxRrNtbpFblIkXM8YOFA4z9KpRWFwdVniF5IGWNCX4yc9qN - UsLiKOAveSSbpkABxwSev1FAHS/Y7T/ngn/fI/wrH0G2t5NKgeSJGY7+SoJ+ - 8fap/wCy7r/oITfpWXo1hcTadFKl5JErbvlXGB8xoAupbW/9uyR+Um3yAcbR - jO76Ua3bW6WalIkU+YgyFA71SWwuDrDw/bJNwhDb+M43dPpRq1hcQ2qu95JK - PMQYbGOT1oA6X7Haf88E/wC+R/hWPodtbvYBniRjvfkqD/Ean/su6/6CE36V - l6RYXE1mHS8kiG5htXGODQBdNtb/ANvCPyk2/Zs42jGd/WjXba3TTZGSJFIZ - OQoB+8KpGwuP7ZEP2yTd5G7fxuxuxj6UaxYXENg8j3kkoBX5WxjlhQB0v2O0 - /wCeCf8AfI/wrH0W2t3tpS8SMRNIOVB4z9Kn/su6/wCghN+lZelWFxLBIyXk - kYErjC45IPX8aALsltbjXIUESbTCxxtGM5pddtrdNKndIkVgFwQoB+8PaqMl - hcDV4oftkhYxMd/GQM9KXWLC4h06aR7ySVVx8rYwfmFAHRLaWm0fuE6f3R/h - WTo9tbul1viRsXEgGVBwBjipV0u62j/iYTfpWbpdhcSrclLySPbO6nGOSO59 - zQBduLa3Gs2iCJApSTI2jB/StpLa3jYOkSKw6EKAf5VzE9hcLqttEbyQsyOQ - /GRjsPrW1b2FxDMsj3kkqrn5Wxg8UAadFFFABRRRQAUUUUAFFFFAH//V/c+3 - vL9dTu5FsizsI9yb1+XA4575o1K8v5DaebZNHtnRl+dTuYZwvHTNWbW+sl1e - 9laeMI6x7SWGDgc4NGq31lIbLy7iNtlzGxwwOAM5J56UATyahqZRgdOYDB58 - xapaVe38enwpFYtKgBwwdRnk9jWzJqWnGNgLqLof41/xrP0a/sYtMgjluI0Z - QcgsARye2aAKcV5fjVZ5BZMZGjQFN68Ad8+9GqXl/JHAJbJogJkIO9Tkg8Dj - 1qzDfWQ1m4lM8YRo0AbcMEj3zRq99ZSxW4jnjcrPGThgcAHk9aALX9oan/0D - W/7+LWZo15fxabDHDZGZBuwwdRn5j2NdB/aenf8AP1F/32v+NZGhX1lDpUEc - 08aON2QzAEfMexNAFZby/GsPKLJjIYQNm9eBu656UateX8tsqzWTRL5iHJdT - yDwOPWrKX1kNckmM8flmADduGM7umc0azfWUtoqxTxufMQ4DA8A/WgC1/aGp - /wDQNb/v4tZmkXl/FZBIbJpV3MdwdR1J459K6D+09O/5+ov++1/xrI0S+sor - AJLPGjb3OCwB5Y+9AFb7Zf8A9siX7E3meRt2b1+7u+9np7UaxeX8tg6TWRiU - lfmLqf4h2FWTfWX9uib7RH5f2bbu3DGd+cZz1o1y+sptOeOKeN2LJwrAnhh6 - UAWv7Q1P/oGt/wB/FrM0m8v47eRYrJpQZHJIdRgk8jn0roP7T07/AJ+ov++1 - /wAayNGvrKK2kWWeNCZXOCwHBPXrQBWe8vzq8UpsmEgiYBN68jPXNLrF5fy6 - dNHNYtEhxli6nHzDsKsSX1kdailE8ewQsC24Yznpml1u+sptLnjiuI3chcBW - BJ+Yds0AWBqGp4H/ABLW/wC/i1m6XeX8aXAisml3TuT86jBPUc+lb41PTsD/ - AEqL/vtf8aydIvrKJLoSTxpuuJGGWAyDjBHPSgCtNeX51W2kayYSKjgJvXkH - qc+1P1W91CTT50lsWiQjli6nHPoKmnvrJtYtZRPGUVHBbcMAn1Oak1i/sZdN - uI4riN2ZeAHBJ5+tADor/UxEgGnMQAOfMX0qhpt5fxvdmOyaTdOxb51G08ce - 9bcOpaeIUBuYgQo/jX0+tZulX1lG96ZJ4133DsMsBkHHI56UAVrm8v21Kyka - xZXQSbV3r82Rzz2xU2o32oSWM6SWDRqUILb1OB64p93fWTarYSLcRlEEu4hh - gZUYyc1Y1TULGTTrhI7iNmZCAA4JP60AR21/qS28Srp7MAigHzF5GOtUrC8v - 0uLxo7JnLyZYb1G046e9bFrqOnrawq1zECEUEF19PrVDTr6yjub5nnjUPLlS - WAyMdRzQBWvLy/e/sneyKMhfau9TuyvPPbFWb6+1F7K4STT2RWjYFt6nAx1x - RfX1k+o6fIk8bKjSbiGGBleM1b1DULB7C5RLmNmaNwAHBJJB96AKtnfailnA - qaezqI1AbzFGRjrVWyvL9L29dLJnZ2Usu9Rt46e9atjqNgljbo9zGrLGgILg - EEAe9U7C+skv793njVXdCpLAA4XtzQBWvry/e5s2ksmRkkJUb1O446e1XLq/ - 1JraZX09lUowJ8xTgY60zUb6ye7sWSeNgkhLEMDgY781evNR09rSdVuYiSjA - AOMk4+tAGfp99qCWMCR2DSKEUBt6jIx1xUFreX66lfSJZFnfyty71G3C8c98 - 1paZqFhHp9uklxGrKigguAQcfWq1nfWSarqEjTxhH8raSwwcLzg55xQBW1G8 - v5JLMyWTRlZlKjep3H09qvzX+pGGQNpzAFTk+YvHFQ6pfWUktkY542CTqWww - OBzyea0Z9S08wSAXMRJU/wAa+n1oAydMvdQjsIEisWkQLw29Rn8DUcF5fjVL - qRbJmdlQMm9flwODn3q/pN/YxabbxyXEasq8guAR+tQ299ZLq95K08YRkjAb - cMHA5wc0AVtTvL+QWvm2TR7Z42X51O5hnC8etaL6hqZUg6cw4P8Ay0Wq+rX1 - lKLTy7iNttzGxwwOAM5J56VqPqWnFGAuouh/jX/GgDD0i9v4tOhjhsWlQA4Y - OozyexpI7y/GrTSiyYyGNQU3rwM9c1b0W/sotLgjluI0YA5BYAjk9s02K+sh - rU8pnjCGJQG3DBOemc0AVtVvL+SGIS2TRASoQS6nJB4HHrWn/aGp/wDQNb/v - 4tVdYvrKWCFYp43ImjJwwPAPJ61r/wBp6d/z9Rf99r/jQBz+j3l/Fp8aQ2LS - oC2GDqM/MexoF5f/ANsNL9ibzPIA2b16buuelWdDvrKHTIo5biNGBfIZgDyx - 96FvrL+3Gm+0R+X9nC7twxnd0znrQBW1e8v5bTbNZNEu9DuLqeQenHrWn/aG - p/8AQNb/AL+LVXWr6ymsgkU8btvQ4DAnAP1rX/tPTv8An6i/77X/ABoA5/SL - y/itCsNkZV3udwdRyT059KGvL/8AthZfsTeYICNm9em7rnpVnRb6yhsiks8a - Nvc4LAHBP1oa+sv7cSbz4/LFuV3bhjO7pnPWgCtrF5fy6fIk1i0SErli6nHz - DsK0/wC0NT/6Brf9/Fqrrl9ZTaZLHFcRuxKYCsCeGHvWv/aenf8AP1F/32v+ - NAHP6VeX8cMoismlBlck71GCTyOfSuX1nxzHpOuhLuxcSW8e0qGU53gMDmux - 0e+sooJhLPGhM0hGWA4J4PWvDvH8sU3im6khcOpWPBU5H3B3FA0j1c+IZte0 - B7yGyaK3k43lwcbWx0+tdEmoamFAGnMeB/y0WuE8M3NuPAgtzKolLP8AJuG7 - /WZ6da9HTUtOCKDdRdB/Gv8AjQJmFpl5fxi68qyaTdPIzfOo2scZXn0onvL8 - 6payNZMrqrhU3r82Ryc+1WdJvrKIXfmTxruuZGGWAyDjBHPSi4vrJtXs5Vnj - KKkgLbhgZHGTmgCLU73UJLCdJbFo0K8tvU4/AVbhv9SEMYXTmICjB8xeeKNW - v7GXTbiOO4jZmXgBwSf1q3BqWniCMG5iBCj+NfT60AYunXl+kl4Y7JpC0zFh - vUbTgce9F1eX7alYyPZMrp5u1d6ndleee2Ks6ZfWUct6ZJ41DzsVywGRgcjm - i8vrJtU0+RZ4yiebuIYYGV4yc8ZoAbqF9qD2M6SWDRqUYFt6nAx1xUtrf6kt - rCqaezKEUA+YoyMdam1PULCTT7hI7iNmZGAAcEk4+tS2eo6elpArXMQIRQQX - GQcfWgDIsby/S5vGjsmdnkBYb1G046e9F7eX73tk72TIyMxVd6ndx09qs6df - WSXd8zzxqHkBUlgMjHbmi/vrJ7+wdLiNlR3LEMCBle/NAC3l9qL2c6vp7Ipj - YFvMU4GOtJY32opZW6R6ezqsagNvUZGOuKuX2o2D2NwiXMbM0bgAOCSSD70m - n6hYJYWyPcxqyxoCC4BBAHvQBl2d5fpf3rpZF2cpuXeo24Xjnvmi/vL97iza - SyaMpJlRvU7jjp7VZsb6yTUdQkeeNVdo9pLDBwvOKNSvrKS5sWSeNgkuWIYH - Ax1PNAElzf6k1vKraeygowJ8xeBjrUGnXuoR2ECR2DSKEADb1GR64rSutR09 - rWZVuYiSjAAOvp9ar6Xf2MenW8clxGrKgBBcAj9aAM+2vL9dSvZFsWZ3Ee5d - 6/Lgcc980aleX8jWnmWTR7Z1K/Op3EZ49qs2l9ZLqt/I1xGEcRbSWGDhTnBz - Rql9ZSPZGO4jbZcIxwwOAM8nnpQBNLf6kYnB05gCDz5i8VT0q91CPT4EisWl - QDhg6jPPoa2JtS08wuBcxElT/Gvp9ao6Pf2MWm28ctxGjKvILgEc/WgClDeX - 41W5kWyJkZEBTevygdDn3o1S8v5EtxLZNFtnQj51OSOg49aswX1kusXUpnjC - MiANuGCR6HNGr31lKlqI54323EbHDA4Azk9elAFk6hqeD/xLW/7+LWdo95fx - adDHDYtKgzhg6jPzHsa3jqenYP8ApUX/AH2v+NZWiX1lDpcEctxGjgNkMwBH - zHtmgCql5fjV5ZRZMZDEoKb14GeuaNVvL+S3RZbJogJEIJdTkg8Dj1qzHfWQ - 1qWUzx7DCoDbhjOemc0azfWUttGsU8bkSocBgeAevWgC1/aGp/8AQNb/AL+L - WZo95fxWCJDZGVQW+YOo/iPY10H9p6d/z9Rf99r/AI1kaHfWUOnJHLPGjBn4 - ZgDyx9aAK32y/wD7ZMv2JvM8jbs3rnbuzuz09qNXvL+WyKTWTRLuU7i6noRx - x61Z+3WX9umbz4/L+zbd24YzvzjOetGt31lLYFIp43behwGBPDD3oAtf2hqf - /QNb/v4tZmk3l/FbMsNk0q+Y5yHUck8jn0roP7T07/n6i/77X/GsjRr6yitG - WWeND5jnBYDgn60AVmvL86ukpsmEghI2b15G7rnpXzPJ99vqa+oXvrI63HMJ - 49ggI3bhjO7pnNfL0n+sb6mgqJ9TQahqYhjA05j8o/5aL6VR0u8v445xFZNK - DM5JDqME9Rz6VtQalpwgjBuovuj+NfT61naPfWUUVwJZ40LTyEZYDIPQ9aCS - tLeX51WCQ2TCRY3ATevIPfPtT9Vvb+TT5klsWiQgZYupxyOwqaa+sjrNvKJ4 - yixuC24YBPvmn6zf2MumTxxXEbswGAHBJ5HbNAEkeoamEUDTmIwOfMWs/Tby - /jN35Vk0m6d2b51G1jjK/hW5HqWnCNQbqLoP41/xrM0q+soze+ZcRrvuZGGW - AyDjBHPSgCtcXl+2p2kjWRV1Em1N6/Nkc89sVLqV7qElhOktg0aFTlt6nH4V - JdX1k2rWUqzxlEWTJDDAyOMnNTarf2MmnXEcdxGzMhAAcEn9aAG29/qSwRqu - nMwCjB8xeeKpafeX6TXhjsmkLyksN6jacdPetm21HT1tola5iBCKCN6+n1rP - 0y+so575pJ41DzErlgMjHUc0AVru8v21Cxd7JkdDJtXep3ZXnntirF/fai9l - OklgyKyMC29TgY64pb2+sn1LT5EnjKoZNxDDAyvGeatajqFhJYXKJcxszRsA - A4JJx9aAK9pf6itpCqaezqEUA+YoyMdaqWV5fpd3rJZM7O6ll3qNpx0961rL - UbBLO3R7mMMsagguMggD3qlYX1kl7fu9xGqu6lSWABGO3NAFa+vL97uyZ7Io - yOSq71O446e1W7u/1FrSZX09kUowJ8xTgY603UL6ye9sHSeNlR2LEMCAMd+a - u3uo2D2dwiXMZZo2AAcZJIPvQBRsL7UUsYEjsGkVUUBt6jIx1xVe0vL9dQvn - SxZncx7l3qNuF4575rS03ULCPT7ZHuI1ZY1BBcAg4+tVrK+sk1PUJGuIwrmL - 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 - TadBLLArOy5JPepprbWRDIWvUI2nI8selVNLt9VbT4Ggu1SMrwpjBx+NAC2+ - mae2rXcLQKURYyo7DI5o1XTNPhFp5UCrvuI1bHdTnIquq38N/eySXscRijRp - JGUBdoBOTngADqa+a/iF+054V0Cb+z9DuD4ku7eQNugUR2yuv/TY53f8AVlP - rXPiMVTpLmqSscmLx1GhHmrSsfVz6NpYRiLZOhrO0bS9PuNNgmmgV3YHJPfk - 1+d+o/te/E66dhYQWNnEeg8ppHx7szYP/fIrCt/2p/i3awrBBdWqonQfZlPv - 3ryZcR4Zd/uPBlxfg09Lv5H6VxaZYHWJoDApjWJSF7Ak0avplhBBE0MCqWlR - Tj0J5Ffmov7U3xbW4a6F1a+Y6hSfsy9B7UXH7U3xbuVVJrq1YKwYf6Mo5HSl - /rJh/P7hf644Tz+7/gn6g/2LpX/PslZOi6ZYXGnRyzQK7ktkn2Yivzb/AOGr - vjB/z+Wn/gKlQW37U3xbtIRBBdWqoucD7Mp6nPej/WTD+f3B/rjhPP7v+Cfp - YNM0/wDtprfyF8sQBtvbO7GaNY0zT4LPzIYFRt6DI9Cea/NP/hqb4ti5N39q - tfNK7M/Zl+7nPSi4/am+Ld1H5U91asuQcfZlHI5HSj/WTD+f3B/rjhPP7v8A - gn6g/wBi6V/z7JWVo+mafPZl5oFdt7jJ9AeK/Nr/AIau+MH/AD+Wn/gKlQW/ - 7U3xbtY/KgurVVyTj7Mp5PJ60f6yYfz+4P8AXHCef3f8E/SttMsBrS2/kL5Z - gLbe2d2M0utaZp9vp0ssMCo4K4I92Ar80z+1N8Wzci7+1Wvmhdmfsy/dznGK - Ln9qb4t3cLQT3VqyNjI+zKOhz2o/1kw/n9wf644Tz+7/AIJ+oP8AYulf8+yV - laTpmnzwzNLArFZnUZ9AeBX5tf8ADV3xg/5/LT/wFSoIP2pvi3bKyw3VqoZi - x/0ZTyetH+smH8/uD/XHCef3f8E/SyXTNPGsQQCBRG0TEr2JBp2saXp8Gmzy - wwKjqBgjtyK/NFv2pvi21wt0bq18xFKg/Zl6H2ouP2p/i3dQtBPdWrI/UfZl - H8qP9ZMP5/cH+uOE8/u/4J+nyaNpZRSbZOgrM0rTLCYXfmwK2y4kVc9lGMCv - zaH7V3xgAAF3acf9OyVDB+1N8W7bzPJurVfNcu3+jKcs3U0f6yYfz+4P9ccJ - 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 - eSBx3pumR6sRdeRNEuJ5A2VJy3GSPaiePVxqlqHmiMpV9pCnAGOc0ATapo2m - 2+nzzQwBXRcg5PH61bh0LSmhjZrcElQTy3p9apanFrAsJzPNE0e35gFIJFW4 - Ytc8mPbPCBtGPlPTFAFLTtI06aS8WWEMI5mVeTwABx1ou9I06PUrGBIQEl83 - cMnnauR3punR6sZLvyZolImbflSctgcj2ouo9XGpWIkmiMh83YQpwPl5z+FA - FnUdF0yGxnligCuiMQcnggfWvmz9o/VbTRfBul6LZIEudZbfKwJz5UIDMMZ/ - idl/IivpHUItZFjOZp4mjCNuAU5Ix2r4d/aVubxvFej2dy6ukWmxugUYx5kj - jn3wor7Tw/wUa2a0lLaN5fctPxsfO8VYh08DPl62X37/AIHznX1f8Afhla3a - Q+N9ehEqPIy2UTj5fk4Mx9cNwvoQT6EfKFfqJ4V0yTSPDehaZDtVYLWJVwO4 - QbifcnJ+tfrHiRnFTDYONKk7Obs35Lf79PkfD8H5fCtiHUmrqP59DqJrK2SG - RlTBCkjk+n1ohsrZ4Y2ZMkqCeT6fWiZLzyZNzqRtOeO2KIUvPJj2uoG0Y47Y - r+fz9VI4bS3aeZGTIQrjk9xRPaW6SQhUwGbB69PzpIluvPm2uoYFc8e1efeL - fiBbaFL9jt2S9vYjyq/cjP8AtH19h+OK3w+GnVlyU1dmGJxVOjDnqOyPSJLK - 1WNmCcgHuf8AGqaf2XFChupI42IBO59v8zXy5q/jbxNrTMLq9eOJv+WcR8tM - emF5P45rlSSTk8k19FR4Zk1787eh8zW4rinanC/q7H2barp9zcTJCySqu3G1 - s4yPY1Nc2luhi2Jjc4B5PQ18Wo7xsHjYqw6EHBFdhpXjzxLpbRj7U11EhB8u - c7xx6E/MPzqa3DM0r05X/AdDiqDdqkLemp9UtY2oUkR9vU/41Da2lvJbo7pk - kc8n/GuO8MeOLXxOhgSRba8AJML9TgclD/EP19q7G1W7NuhjdQuOMivna1Cd - OXJNWZ9PQxEKsVOm7oRLS3N1JGU+VQCBk9/xoubS3jEexMbnUHk9DSIt39pk - Add2Bk44ouVuwI97qfnXGB3rI1LRsbT/AJ5/qf8AGq1paW8lujumWOcnJ9fr - Vgpff89E/Kq1ot2bdDG6hecZHPWgBVtLc3bR7PlCg4yeuaLq0t441KJglgO/ - Q/jSKt19rYB137Rk44xmi6W6CL5jqRuHQd6Blr7Daf8APP8AU/41WtLS3kgD - umSSe59asbL7/non5VWtFujAPLdQuT1HvQAv2S3+2eVs+Xy84565+tF3aW8c - JZEwcjufWk23X2zG9d/l9ccYzRdrdCE+Y6lcjoPegC19htP+ef6n/Gq1raW8 - kZZ0ydxHU1Y2X3/PRPyqtardGM+W6gbj1HegBTaW/wBrWPZ8pQnGT1zReWlv - FbO6Jhhjnn1+tIVuvtajeu/YeccYzReLdC3cyOpXjIA560CZa+w2n/PP9T/j - Va2tLeRXLpnDsByeg/GrGy+/56J+VVrZbsq+x1HztnI70DFa0txdJGE+UqSR - k0t3aW8du7omGHTk+v1prLdfakBdd+04OOMUt0t2LdzI6le+BQIsLY2pUHy/ - 1P8AjVe2tLeTzd6Z2yMB16D8anVL3aMSJ+VV7Zbo+bsdR+8bOR3oAWS0t1uY - YwnysGyMnsKdc2dskDuiYIHHJ/xpki3X2mIM67sNg446c0+4W7EDl3UrjnAo - GSR2VqUUlOSB3P8AjUNvaW7vMGTIVsDk9KljS92Lh0xgdqht1ui82x1B3c5H - egBZbS3W4gRU+V92eT2FST2dskMjKmCFJHJ/xqKVbr7RCGdS3zY49uaknW8E - L7nUrtOcDtQJjobK2aFGZMkqCeT6fWoobS3aaZWTIUjHJ9KkhS88pNrqBtGO - O2KihW682ba6g5GePagYs1pbrLCqpgMSDyfT61LLZWqxOypyFJHJ9PrUMy3f - mw7nUnJxx7VLKl55T7nQjac8e1Aggs7Z4Y2ZMkqCeT/jUcVpbtcToyfKm3HJ - 7inwLeGFNrqF2jGR2qOJbr7RMFddw2549uKAFuLS3R4QqYDNg8npU0llahGI - TkA9z/jUFwt0Hh3upO7jA71NIl7sbLpjB7UDGW1nbPAjumSRzyf8abHaW7XM - 0ZT5VC4GT3FOt1uzAhR1C44yKZGt19plCuu7C5OOOnFAC3Npbx+VsTG6RQev - Q/jXzj8fvhZY3ukTeNtCgEV9ZDddIg4mh7uf9pOpPdc56Cvo25W6Hlb3U/vF - xgd6LyynvrOeyuijw3EbRuuOquMEfiDXrZJm1TBYmGIpvbfzXVHBmWAhiaMq - U1vt5Poz8mK+vf2XtTt9Qk1XwrqA80QoLqAEngFgknTtkqfxNfJFzCba4lt2 - 6xOyH/gJxXtf7PFxeQ/E20gsnWN7qC4jJYZGAhfH5rX9B8a4OOIyusn0XMvl - qfk3DmIlSxtO3V2+/Q++NV0jTreOBoYQpeZFPJ5BPI61qf2DpH/PuPzb/Gsn - VI9WEcH2iaJgZkxtUjDZ4P0rT8nXv+fiH/vg1/LR+2Gdo2kadc6bDPPCHdt2 - Tk9mI7GkXSNOOsvbGEeUIQwXJ67sZ60mjx6u2nQm2miSP5sBlJP3jn9aFj1b - +2HUTR+d5Iydp27d3THrQAur6Rp1tarJDCFYyIM5PQnnvWr/AGDpH/PuPzb/ - ABrJ1aPVltVNzNGy+YnCqQc54rT8nXv+fiH/AL4NAGdo+kadc2QlnhDNucZy - egJA70f2Rp39si18keV9n37cn727GevpTdIj1ZrIG2miVNz8MpJzk5o8vVv7 - ZC+dH53kZztO3bu6Y9c0ALrOkadbWDzQQhHDKM5PdgPWtX+wdI/59x+bf41k - 6xHqy2Dm5miaPK5CqQfvDFafk69/z8Q/98GgDN0nSNOuLeR5oQxErqOT0B47 - 0SaRpw1iK2EI8tomYjJ6g9etJpUerNbyG3mjVfMfO5Sec80SR6t/a8SmaPzv - KbB2nG3PpQA/WNI06202aeCEK64wcnuwHrWiug6SQD9nH5t/jWZrEerrp0xu - Zomj4yFUg9RWiIddwMXEP/fBoAz9L0jTrhbkzQhtk8iDk8KOg60T6RpyarbW - 6wgRujlhk8kdO9N0uPVytz5E0agTuG3KTlu5HtRNHq/9qWytNEZSj7SFOAO+ - RQBLquj6bb6fPNDAFdFyDk8c/WrsWhaS0SMbcElQeren1qhqkWsLp85uJomj - 28hVIPWsvxBrOqeHtH+2yXERZwEiQLyWI/oOTQB5B4ynjfXLi0g4itXZAB65 - 5/w/Cuv8BaLGUt7u7Tct80oAPdIhwf8AvrP5V5rYWV1rOpRWcOXnuXxk89eS - x+nU19Ax6ff6dPpthDJEPJR1iwpwAFGc+pP86CmaWpaNpkFhPNFAFdEJByeD - +dT22h6U9tE724LMiknJ6kfWq2oxayLGczzxNGEO4BSCR7VPbRa2beIpPEF2 - LgFTnGKCSpYaRp01xeJJCGWKTavJ4GPrReaRp0V/YxJCAkrOGGTzhcjvTbCP - VzcXghmiVhJ85Knk47UXkerC+shLNGZCz7CFOAdvOaALd9oulxWVxLHAAyRs - Qcnggcd6Wy0TS5bK3lkgBZ40JOTySBnvTL6LWhZXBlniKCNtwCnJGDnFLZRa - 0bOAxTxBDGu0FTkDHGaAK1lpGnS319FJCCkTIFGTxkZNLf6Rp0NzZRxwgLLI - QwyeRj602yj1Y3t6Ipow4Zd5KnBOOMUX0erC5sxLNEWMh2EKcA470AXrrRNL - jtZpEgAZUYg5PUD61Fp2i6ZNYwSywBndFJOTySPrT7qLWxbTGSeIrsbICnOM - c1Fp8WsmxgMM8SxlF2gqcgY70ARWukadJqV9A8IKReVtGTxuXJ70mpaRp0El - msUIUSTKrcnkHPHWktY9XOpXwjmiEo8reSpwfl4x+FGox6sJLPz5o2JmXZhT - w3qfagDRm0LSlhkZbcAhSRy3p9a/Hn4paw+ufELXr9jlRdPCn+5B+6X8wua/ - YSaLXPJk3TwkbTn5T0xX4qeICW17UmPU3Mx/8fNfLcUTfJCPmfEcbVGqVOPR - t/h/w5reA/DL+MvGWj+F0JUajcxxOy9VjzmRh7qgJ/Cv18k8P6Po9lYWGm2y - wW8LxQIik4EajAUc+gr8x/2b4pJfjL4fWEgSD7UVLDIBFtLX6gajHqYFv58s - bZmTbhSMNzgn2qeG6SVOU+t7C4NoxVGdTq3b7kv8zRbRtMCkiAdPU/41yGpa - x4O8K+HU13xXdRWUGD80jHc5BPyoo5ZsdlBNcr8WPipH8LdGW5vporrUbsEW - toowzkdWY/woO579B7fmZ4q8YeIfGmpHVPEN21zIMrGnSOJCc7Y16KP59Tk8 - 1+s8L8GVcf8Avaj5affq/T/P8zDinjSll/7qmuap26L1/wAvyPpvxp+1BG11 - NB4C0hY4CNqz3uWbPdliRsD23MfcV8/av8VPiHrblr3XrlQf4YH8hMem2LaD - +NYnhfwd4n8aah/ZnhfTpdQuOCwjHyoD3dzhVHuxAr6X0n9kfxCLeK58UazB - ZGRlXyrdDMw3dix2KD9Nwr9MlQyXKkozUVLz96X6v8kfmUa+d5s3KDk4+Xux - /Rfmz5WfWtZkbfJf3DN6mVyf51r6f458ZaUwfT9cvIcc7RO5U/VSSD+Ir7Zj - /Y98LhMS6zeM/qpjUfkYz/OuXuv2QkvbT7VoHiAxsc7UuotwODjl0Ix/3yay - XGuT1Pcm9POLt+Rq+Cc5p+/Ba+UtfzPMfCf7Sfi7Rp0XxLawa9a9G3DyJsez - xjbn6ofrX194P+Knw5+IVkE0GT7JqYK7rO4OybGeSvJVx7qTjuBXwP46+DXj - 34fO7azY+faRjcbq1JlhCk4yxwGQZ/vKK8xgnntZo7m2kaKWJgyOhKsrDkEE - cgj1rPHcH5ZmFP2uEai+8dvmtvyZpgeMczy6p7LFpyXaW/ye/wCaP2v/ALF0 - z/ngPzP+NZ2l6ZY3FqZJogzb2GcnoD9a+Ufgh+0JqPiK4tvBvjG7jTUHwlrd - yKAJz2jkIwBIf4T/ABdD833vqzTI9Ta2zbyxqu9uCpJznmvxrN8nr4Ks6Nda - 9OzXdH7Rk+cUMdRVag9OvdPsxzaZYjVlt/KHlmEtjJ67sZ60arpljb2MksMQ - VwVwcnuQPWmmPU/7VVTLH5vknB2nG3d0x60arHqa2MhuJY2jyuQqkHqMV5Z6 - Zp/2Lpn/ADwH5n/Gs7TdLsZ4pWliDFZXUcnoDx3q/wCVrX/PeL/vk1nabHqZ - il8iWNR5j5ypPPegB0mmWI1SK3EQ8to2JGT1B+tO1TS7C3sJZoYgrqBg5PqP - eo5I9T/tOINLH5vltg7TjGadqceqCxlNxLG0eBkBSD1FAy+mjaYUUmAcgdz/ - AI1Q07TLGYXPmxBtkzqOTwoxgdaupFrO0Ynixj+6aoafHqZFz5Msa4mfdlTy - 3GSPagQ6fTLFNRtoFiAR1csMnnA471JqOlWEFjNLFEFdVyDk/wCNQzR6n/aN - sGljMhV9p2nAGOc1JqMeqiymM8sbJjkBSDQMtw6PprQozQgkqCeT6fWqVhpl - jNJdLJEGEcpVeTwPzq1DFrHlJtmiA2jHynpiqdjHqZkuvJljUiU7sqeW9qBD - rnTLGO/s4UiASXzNwyecLkd6nvtJ0+KzmljhAZUJByeoH1qtcx6mL+zEksZk - PmbCFOBxzmp76PVhZzGWaMpsOQFOcYoGS22kac9tE7wgsyKScnqR9aq2Wl2M - tzdo8QKxuAoyeBj61YtotXNvEUmiC7FwCpzjFVbOPUzcXYiljDBxuJU4Jx2o - AdeaZYx3dnGkQCyMwYZPOB9as3ekadHaTSJCAyoxByeoH1qpdx6mLu0EksZc - s2whTgHHOas3ceri1mMk0ZTY2QFOcY5oELZaTp8tnBJJCCzIpJyepH1qva6Z - YyXt5E8QKxFNoyeMjmprOPVjaQmKaMJsXAKnOMcVXtY9TN5diOWMOCm8lTg8 - cYoAdfaZYxTWixxACSTa3J5GPrVu40fTkt5XWEAqrEcnqB9apXsepia182WM - sZPlwp4OO9W7iLVxBIXmiK7TnCnpigZ+an7TPgq38M+MbPXbCPy7bxDb+ewH - T7TGdsuPqCrH3Y183A45Ffb/AO11FN/Y/g6aYqwDXYjwOQCIic/kK+IK/Pc3 - pKGIml/Vz8j4goqnjKij6/ern7BeDZ7LxB4G8Ka80Y87UoLUznJOXZP3g6/3 - ga9Dl0LSVidhbjIBPVv8a8P+C41J/hH4ObzU2EYjGOQRI4GfavbpYtd8t91x - DjBz8pr9Dws3KlGT6pH6zgqjnRhJ9UvyKmlaPptxp8E00AZ3XJOTzz9a5DxD - qmj+G9UMNxYm4jkQFVVyNpHX8811ulRaw2nwG3miWPHAZST1ryf4jrcrqUAu - 2V5Np5UYGOK3OtI6vS9U0fxBHus7E23kzwo25y25ZN3H/jtd+dB0nB/0cfm3 - +NeKeBRcGK58llA8+2HIz83z7T9BzmvaDDr2D/pEP/fBoBlDR9I06502GeeE - M7ZycnsxHrSJpGnHV5bYwjy1iVgMnqT160mjx6u2nQm2miWPnAZST940iR6t - /a8iiaLzvKXJ2nG3Pp60CHatpGnW9vG8MIVjIink9Cee9an9g6R/z7j82/xr - J1WPV1t0NxNEy+YmAqkc54rT8nXv+fiH/vg0AZ2j6Rp1zYLLPCGcswzk9mIH - ek/sjTv7aNr5I8r7Pv25P3t+M9fSk0iPVmsVNtNGse5sBlJOdxzR5erf2yV8 - 6PzvIzu2nbt3dMeuaAF1jSNOtrEywQhXDKM5PcgHrWr/AGDpH/PuPzb/ABrJ - 1ePVlsibmaNk3LwqkHORitPyde/5+If++DQBnaTpGnXNs0k0IZhI4zk9AeO9 - D6Rpw1iO2EI8owliMnruxnrTdJj1ZrZjbzRKvmPwyknOeaGj1f8AtdFM0Xne - ScHacbd3THrQA7WdI06202aeCEI67cHJ7sB3Nan9g6R/z7j82/xrJ1iPVl02 - Y3M0TxfLkKpB+8MfrWn5Ovf8/EP/AHwaAM3StI064jnaaEMUmdRyeAOg60Ta - Rpy6tb26wgRvG5IyeSOnek0uPVmjn+zzRqBM+7cpOW7n6UTR6t/aturTRmUx - vtO04A75FAEuraPptvp080MIV1Awcnjke9XY9C0lo1Y24yQO7f41Q1WLV10+ - Y3E0TR4GQqkHrV2OHXfLXbcQ4wMfKaAKOmaRp05u/NhDeXcOi8nhRjA60XOk - acmqWcCwgRyCQsMnnaOO9N02PVibvyJo1xO4fKk5bjJHtRcR6uNTsw80RlIk - 2EKcDjnNAE+p6NpkFhPNFAFdFJByeD+dWbfQ9Ke3idrcEsqk8t1I+tVNSi1g - WE5nniaMKdwCkEirFvFrhgjKTwhdoxlT0xQBT07SNOmmvFlhDCKUqvJ4GOnW - i80jTo9QsYUhASUybhk84XI70mnx6sZrzyZolYSnflTy2O1F3Hqw1CxEk0Zk - Jk2EKcD5ec0AWr/RdMhsbiWOAK6RsQcnggfWn2eiaXJaQSPACzopJyepH1qK - /i1oWU5mniKBG3AKckY5xT7SLWzaQmOeIJsXAKnOMcUAVrHSNOlvL2OSEFYn - UKMngEZ9aL7SNOiu7KOOEBZXIYZPIA+tNso9XN3eiKaIOHXeSpwTjtRfR6uL - uyEs0ZcudhCnAOO9AF280TS47SeRIAGRGIOT1A+tM0/RdMmsbeWSAM7opJye - SR9aW7i1sWkxkniKbG3AKc4xzTLCLWTYwGGeJUKLtBU5AxxmgCC00jTpNRvo - XhBSIx7Rk8blye9LqGkadDNZrFCFEsoVuTyMdOtNtI9WOo3wjmiEgMe8lTg/ - Lxj8KNQj1YTWfnTRMxlGzCkYbHf2oA0LjQ9KSCR1twCqkjluw+tVtM0bTJ7C - CaWAM7qCTk8n86nni1zyJN88JXac4U9MVW02LWTYQGCaJYyo2gqSQPegBlvp - GnPql3A0IMcaxlRk8ZHPek1PSNOgNp5UIXzLhEbk8qc5HWkt49WOp3YSaMSh - Y95KnBGOMUanHqwNp580bZnQJhSMNzgn2oA05NC0kIxFuMgHu3+NUNI0fTbn - ToJpoQzsDk5PqferkkOu7GzcQ4wf4TVHSYtXbToTbzRLHg4DKSepoAItI05t - Wnt2hBjSNCBk8E9e9Gq6Rp1vHA0MIUvMink8gnkdabFHq39qzqs0QlEabjtO - CO2BRqkerrHB9omiYecm3apGGzwT7UAa39g6R/z7j82/xrL0bSNOudNhnnhD - u27JyezEdjWj5Ovf8/EP/fBrM0ePVm06E200SRfNgMpJ+8c/rQAq6Rpx1l7Y - wjyhCGC5PXdjPWjV9I062tVkhhCsZEGcnoTz3pFj1b+2HUTR+d5Iydp27d3T - HrRq0erLaqbmaNl8xOFUg5zxQBrf2DpH/PuPzb/GsrR9I065shLPCGbc4zk9 - AeO9aXk69/z8Q/8AfBrM0iPVmswbaaNU3PwyknOeaAFOkad/bQtfJHleRv25 - P3t2M9fSl1jSNOtrB5oIQjgqAcnuwB700x6t/bIXzo/O8jOdp27d3THrmjWI - 9XWwc3M0TR5XIVSD94YoA1v7B0j/AJ9x+bf41l6TpGnXEEjzQhisrqOT0B47 - 1o+Tr3/PxD/3wazNKj1ZoJPs80Sr5r53KTznmgBZNI04axFbCEeW0TMRk9Qe - vWnaxpGnW2mzTwQhXXGDk92A9aZJHq39rxKZovO8psHacbc+lLrEerrp0xuZ - omj4yFUg9RQBproOkkA/Zx+bf41m6XpGnXC3JmhDbJ5EHJ4UdB1rQEOu4GLi - H/vg1m6XHq5W58iaNQJ3DblJy3cj2oAdPpGnJqttbrCBG6OWGTyR071swaRp - 1tKs8EIR16HJ78etYk0er/2pbK00RlKPtIU4A75FbNvHq6zKbmaJo+chVIPS - gDUooooAKKKKACiiigAooooA/9X9z7fVYU1O7nMUpEixgAIcjA7jtRqWqwzm - 02xSr5c6OdyEZAzwPetO0/5DV/8A7sX8qXWOtj/19R/1oAjk1u3KMPJn5B/5 - ZmqWlatBb6fDC0UrFQeVQkdT0NdPL/qn+hrM0L/kE23+6f5mgDIi1WFdVnuD - FLteNBjYd3HqKNU1WGeOBVilXbMjfMhHAPb3rUg/5Dl1/wBcko1v/U23/XxH - /OgBP7ct/wDnhP8A9+zWZo2qw22mwwvFKxXdyqEjlietdbWL4e/5A9v/AMD/ - APQjQBmLqsI1h7nypdphC42Hdndnp6UatqsNxbKixSqRIhyyEDg1pp/yMEn/ - AF7j/wBCpdd/480/66x/zoAT+3Lf/nhP/wB+zWZpGqw29kInilY7mOVQkck9 - 662sbQP+QcP99/8A0I0AZf8AasP9si58qXb5GzGw7s7s5x6UaxqsNzYvEkUq - kspyyEDhgetah/5GEf8AXr/7PSeIP+QZJ/vJ/wChCgA/ty3/AOeE/wD37NZm - k6rDb28iNFKxMjt8qEjk11tYuhf8esv/AF2k/nQBmPqsJ1eK48qXasTLjYd3 - J9PSl1jVYbnTpoUilUtjlkIHDA9a05P+Q9D/ANcG/wDQqXxB/wAgi4+i/wDo - QoAYNct8D9xP/wB+zWbpeqwwJcBopW3zuw2oTgHsfeusHQVjaJ/q7v8A6+ZP - 6UAZk2qwtqttcCKUKiOCCh3HPoKfqmrQXGnzwrFKpZcZZCB17mtC5/5Dln/1 - zkqXW/8AkFXP+7/WgCtFrdusSKYZuAB/qzVDTdVhge7LRSnzJ2YbUJwDjg+h - rqIP9RH/ALo/lWVo/wDrL/8A6+X/AKUAZlzqsL6lZTiKUCISZBQ5O4dh3qbU - dXgmsZ4limBdCMlCB+Jq9ef8hjTvpN/6CKsav/yDLn/rm1AFC21q3S3iQwzE - qijiM44FUrDVYYri8dopSJJNwwhJHHf0rpbP/j0g/wBxf5VnaX/x9ah/12/p - QBl3mqwyX1lKIpQImckFCCcrjgd6s32sQS2VxEsMwLxsMmMgcg9atah/yE9N - /wB6T/0Grup/8g66/wCuT/8AoJoAybPWYI7OCMwzEpGoyIyRwO1VbLVYYr29 - lMUpErKQAhJGB3Hauh07/kH23/XJP/QRVLTv+QjqP++n/oNAGXfarDLc2brF - KBHISQUIJ47etXLrWreS2mQQzAsjDmMgcirGp/8AH5p3/XU/yrQvf+POf/rm - 38qAMLT9YghsYImhmJRFGQhI4HY1Ba6rDHqV9MYpSJfKwAhJG1ccjt7Vu6T/ - AMgy1/65r/Kqtj/yGNT/AO2P/oJoAzNR1WGaSzKxSjy5lY5QjIHp6mr82tW7 - QyKIZhlSOYz6VJq/+usP+vhf5GtS4/495f8Adb+VAHOaZq8EFhBC0UrFVxlU - JH4Go4NVhTVLqcxSkSKgACHIwO4ra0X/AJBVt/uVDa/8hq9/3Iv5UAZep6rD - OLXbFKuyeNzuQjIGeB71ovrduVI8mfof+WZp+s9LL/r6i/rWu/3G+hoA5XSN - Wht9OhheKVioPKoSOp6Gkj1WFdWmuPKl2tGq42HdwfStbQf+QRb/AEP/AKEa - ZD/yHrj/AK4p/OgDM1XVYbiGJVilXbKjfMhHQ/zrT/ty3/54T/8Afs0a5/x7 - wf8AXeP+dbVAHJaPqsNtp8cLxSsVLcqhI5YnrQNVh/thrnypdpgC42HdndnO - PStTw/8A8gmH6v8A+hGhf+Rgb/r2H/odAGXq+qw3FoI0ilU70OWQgcGtP+3L - f/nhP/37NGvf8eA/66J/6FW1QByWkarDb2hjeKVjvc5VCRyaG1WE6wtz5Uu0 - QFcbDuzuznHpWnoP/Hgf+uj/APoVDf8AIwJ/17H/ANDoAzNY1WG50+SFIpVL - FeWQgcMD1rT/ALct/wDnhP8A9+zS+IP+QTN9U/8AQhWzQByWlarDbwyq0Urb - pXb5UJ6n+dZGoeMtEstbja6aSMwxlWUxnOW5H6V1eif8e8//AF3k/nXg/wAR - P+Rsu/8Adi/9AFA0j1y78RWGsaPK9isrJJwGKELw3PP4VsprduFA8mfoP+WZ - ri/DH/JPh/vP/wCjK9OT7i/QUCOU0zVYYBdbopW3zyONqE4BxwfeifVYX1S1 - nEUoEauCChycjsK1NG6Xv/X1L/Si6/5DVl/uS/yoAz9T1eCewnhWKZSy4yyE - D8TVuHWrdYY1MMxwoHEZ9Kt61/yCrn/cq7b/APHvF/ur/KgDmNO1WGGS8Zop - T5kzMMITgEDr6Gi61WGTUrGYRSgRebkFCCdy44Hf3rU0n/XX/wD18N/IUX3/ - ACF9M/7bf+gUAUtQ1iCaxniWGYF0YZKEDkdzXwn+0hOtx4204qrLs0u3U7hj - JEkvI9q/QLVv+QZdf9c2/lXwJ+0v/wAjxpf/AGCbb/0ZLX6H4Y/8jRf4WfKc - Z/7k/VHztX6r6fcobDTG2t8kKdv9gdK/Kiv1gsP+PLSv+uSf+gCvsPFf4MP6 - y/Q8HgT4qvy/UuTXaNDIoRxlSOV9qIbtFhjUo5woHC+1Wrj/AI95f91v5VnX - 2ow6Rokupz8pbQ78epA4H4nivxqMXJpI/Q5yUU5PZHl3j/xvJpRm0nSWKXdw - AZJOjRJjoPRj+g9yK8AJJJJOSas317cajeTX122+ady7H3P9PSqtfpGX4GNC - morfqfluZZhLEVHN7dEdr4U8GzeJlkuDcCC3hO1sDe+cZHy8YB9SfwNer2Pw - 18JxQp9pjubl8cksQCfbbivGvCfiS48M6oLpMtBKNkyf3kPf6jqPy719aabP - Fc2FvcQMHjkQMrDoQelfP57iMTSqaStF7WPpOH8NhatPWN5Le55TdfDLwzcN - Itsbi2Ixt2nfj6hhn9a8h8UeGZvDN4lvJOs6SgshAKttHGWU9PzNfUOp6vaa - HDf6netiOFVOO7HHCj3Jr5M1rWLvXdSn1S9OZJjwOyqOij2ArbIa+IqSbnK8 - V37mPEVDC0oqMI2m+3YzoZpbeVJ4HMciEFWU4II6EGvpnwD41i1zThZXYP26 - 1Hz7R99ezgfoff618xVteHtZm0DWLbVISf3LDeo/iQ8Mv4j9a9XNMvVem19p - bHjZRmUsPVT+y9z65S6QXMj7WwQO3PFFzdI4jwrDDqeR6VNbSxzztPE25JER - lI6EEZBqrrGp6bpwt/7Qu4bXzJBt82RU3Y643EZxkZr86aP05bF03sf9x/8A - vmq1pdJHbohViRnoMjrUB8T+Gsf8ha0/7/x/40mi6zo9/CkFjfQXEoBbbHKr - tgHrgEnFAywt0gu2k2tgqBjHPWi6ukkjUBWGGB5GK8F8NftR/BbxX8ddX+AG - ha1JceNtGSX7VafZLhI0NuFaQCZkER27h0Y57Zr6Dvf9Uv8AvrQAfbY/7j/9 - 81WtLpI4AhVjgnoMjrWrVOw/49l+p/nQBW+1J9s8za2PLxjHPWi7ukkhKhWH - I6jHerP/ADEP+2X/ALNRf/8AHufqP50AH22P+4//AHzVa1ukjjKlWPzE8DNa - tU7H/Ut/vN/OgCsbpPtaybWwEIxjnrReXSSW7oFYE46jA61Zb/j/AF/65n+d - F/8A8ekn4fzFAmH22P8AuP8A981WtrpEVwVY5djwPWuc1P4nfDbRbsWGs+LN - JsLknaIri/t4pC3ptdwc1vaFqmmaxaPe6Tdw3tu0jASQSLIhP+8pIoGStdIb - pJNrYCkYxzS3V0klu6BWBPquBVh/+P2P/dNOvv8Aj1k+g/nQIYt7HgfI/wD3 - zVe2ukTzcqx3SMeB61qL90fSqln/AMt/+urUAVpLpDcxPtbChu3PIp9xdo8D - oEcEjuvFTS/8fkH0b+VSXf8Ax7SfSgZBHeRhFGx+AP4ahgukR5SVY7mzwK0o - v9Un0FVrX/WT/wC+aAK0t0jXELhWwu7tzyO1ST3aNC6hHGVI5WpZ/wDj6tv+ - Bfyqa5/495f90/yoEyrDdosSKUfhQPu+1RQ3SLLMxVvmI6D2rQt/9RH/ALo/ - lUFv/r7j/eH8qBlaa6RpYWCt8pPUe1Sy3iNE6hH5Uj7vtUtx/r7f/eP8qmn/ - ANRJ/un+VAinBdosKKUc4UDhajiukW4mfa2G29ueB3q/bf8AHvF/uj+VQwf8 - fVz/AMB/lQBWuLpHeEhWG1s8ippLyMow2PyD/DT7r/WQf74qzL/qn+hoGULa - 7RIEUo5wOy8UyO6QXMr7WwwXtzwKu2n/AB7R/So4v+Pyf6L/ACoArXN0j+Vh - WG2RTyPSrDXseD8j/wDfNLef8sP+uq1bb7p+lAH5K6v/AMha9/67yf8AoRr1 - X4AXC2vxT0qZ1ZgqXPCjJ5gftXlWr/8AIWvf+u8n/oRr1z9nf/krOkf7lz/6 - Iev6jz//AJFVf/r3L/0ln4jlX++0v8S/M++tU1WGeOBVilXbMjfMhHAPb3rT - /ty3/wCeE/8A37NLrf8Aqbb/AK+I/wCdbNfygfuRyWj6rDbadDC8UrFd3KoS - OWJ60LqsI1h7nypdphC42Hdndnp6VqeHv+QRB/wP/wBDNNDKmvSsxAAtwST0 - +9QBm6tqsNxaqixSqRIh+ZCBwa0/7ct/+eE//fs1ha54l0OQw6dBdpNcSTRg - LH8/fuRwPzrt6AOS0jVYbeyETRSsdzHKoSOST1o/tWH+2Rc+VLt8jZjYd2d2 - c49K1NA/5Bw/33/9CNB/5GEf9ev/ALPQBl6xqsNzYPEkUqklTlkIHDA9a0/7 - ct/+eE//AH7NHiD/AJBkn+8n/oQraoA5LSdVht7eRGilYmR2+VCRyaJNVhOr - xXHlS7ViZcbDu5Pp6Vp6F/x6y/8AXaT+dEv/ACHoP+uDfzoAzdY1WG506aFI - pVLY5ZCBwwPWtEa5bgAeTP8A9+zT/EH/ACCLj6L/AOhCtdfuj6UAcnpmqwwL - cBopW3zuw2oTgHsfeibVYW1S2nEUoCI4IKHJz6CtTRfuXf8A18y/0rO13VbH - Rr+2vr+Ty40jk9yTxgAdzQBFreu2Y0q48xJY12/edCAOfWvCPEniC48Q3wnf - KwQjZEn91fU+56n8u1XPFXi288SXG3mGzjOY4s/+PN6n+Xb1PQ+BfBbalIms - arHi0Q5jRv8AlqR3P+yP1+lBSVjS+Htnb6XHLql5DI1xKNqbULbE6n8W/l9a - 7q51WF9SspxFKBEJMgocncOw71p6P9+//wCvl/6Ut5/yGNO+k3/oIoE2UdR1 - eCaxniWKYF0IyUIH4mp7bWrdLeJDDMSqKOIzjgVf1f8A5Blz/wBc2qzZ/wDH - pB/uL/KgRzVhqsMVxeO0UpEkm4YQkjjv6UXmqwyX1lKIpQImckFCCcrjgd61 - NL/4+tQ/67f0o1D/AJCem/70n/oNAFS+1iCWyuIlhmBeNhkxkDkHrS2WswRW - cEZhmJSNRkRkjgdq1tT/AOQddf8AXJ//AEE0unf8g+1/65J/6CKAOestVhiv - b2UxSkSspACEkYHcdqL7VYZbmzdYpQI5CTlCCeO3rWnp3/IS1L/fT/0GsW/8 - Q6Q+tW2nG4Ec9tNh1f5RyvGCeD19aANO61m3ktpkEMwLIw5jOORUWn6xBDYw - RNDMSiKMhCRwOxrcvSDZTkf882/lUOk/8gy1/wCua/yoAwrXVYY9SvpjFKRL - 5WAEJI2rjkdvajUdVhmks2WKUeXMrHKEZA9PU1qWX/IY1L/tj/6CaTV/9dYf - 9fC/yNAEc2tW7Quohm5UjmM+lfinr3/Id1H/AK+Zv/QzX7iXH/HvL/ut/Kvw - 717/AJDuo/8AXzN/6Ga+U4p+GHz/AEPheN/gper/AEPXv2bJlt/jNoMzAsFW - 74UZPNtKOlfo9458aaV4Z8Py+IdRWRINPZZSCu0uRwqLn+JiQBX5z/sy/wDJ - a/D/APu3f/pLLXtX7XvjZ59R0zwDaP8AurZRe3IB6yPlYlP+6uW/4EPSvoPD - nKHjqsaHS7b9Elf/ACPJwWcLA5VVxHXmsvVpW/z+R8q+NfGOseO/El34l1uT - dPdN8qA/JFGPuxoOyqPz5J5Jr0H4PfCG9+I+o/bNQ8210G1cCeaNMvIw58qL - tux1J4UdicCvPPBfhW/8beKNO8L6bxNfSBS2MhEA3O59lUE/hX66+B9D03w1 - 4U07Q9JiEVraRlFHc/McsT3ZjyT3NfvfGPESy2hHDYXSbWn91bX/AMj4zg3h - x5lXlisVrBPX+897f5/IxvDGl+HPCCDS/DunmysY41VY40O4nuzE8sT3Ykk1 - u6lqUU8UarHIu2RG+ZCOlaMX/Ian/wCuS/zo1j/UQ/8AXZP51+FVKkpycpu7 - Z+8U6cYRUYKyQf2xB/zxm/74NZ2lalFb2KRNHIxBblUyOSe9dPWTof8AyDY/ - q3/oRqCzMa/t5NSeSSF2jeDYVKZJyecj0r44+OPwH0ySGfxd8PbN7aRMvc2C - oQjDqXgH8JHdBwf4cHg/bS/8hxv+vcf+hUa1/wAeX/A0/nXrZNnVfA1lVoP1 - XR+TPIznJKGOoulXXo+qfdH4nAsrBlOCOQR1Br9KP2d/i4vi3ww+h6yXl1nS - sb2A3GaE8LIe+4H5W98H+KvnX9pz4ZQ+DvFEfijR4RHpeuszMijCxXQ5cD0D - j5gPXcBwBXkfwq8aTeAfHel+IlYi3SQRXI7Nby/LJn1wPmHuBX7Xm+Eo5zli - rUl71rx7p9V+n3M/EsnxdbJczdGq/dvaXZro/wBfvR+rx1KI6qtx5cm0Qlcb - Pm+9np6UarqUU9jJEscikleWQgcEHrV/cr61G6EMrW+QRyCC1O1z/kGy/Vf/ - AEIV/Px/Qgf2xB/zxm/74NZ2m6lFDFKrRyNukdvlQnrXT1k6P/qZv+uz/wA6 - AM6TUojqcU/lyYWNhjYc8n0p2p6nDPYyxLHIpYDlkIHUd6vTEDWYCTgCJv50 - usOj6XOUYNgDoc9xQA1NXgCgeVNwP7hqhp+pRQi53RyHfM7cKTgHHB966VPu - L9BWTpboi3Zdgo+0ydTj0oAoTalE2o20wjkARXBBQ5OR2FSajqcM1lNEsUoL - DGShA/OrFxPD/a1n+8X7sncelWdVZW0ydlORt6j60AitDq8CxIpil4UDhD6V - TsdSiikumaOQ+ZKWGEJx9feuit/9RH/uj+VZWnSRpNeh3Cnzm6nFAFK51KJ7 - +zmEcgEfmZBQ5ORjgd6nvtUhls5o1ilBZCMlCB071avP+Qpp/wD21/8AQRVn - Uv8AkH3H+438qAM+21aBLeJDFKSqKOEOOBVWz1KKO4u3MchEjgjCEkcd637P - /j0g/wBxf5Vhw6pplhqF1DfXcNvJNINiySKjPx/CCRn8KAGXepRSXdpII5AI - 2YkFCCcjt61Zu9VhktZoxFKCyMMlCByKsX//AB/WH++/8quX/wDx43H/AFzf - +RoAyrPVYYrSGMxSkqijIQkcDtVe11KKO8u5DHIRIUIATJGB3HatvT/+PC3/ - AOua/wAqq2X/ACEb/wD3o/8A0GgDOvdSilmtWWOQeXJk5TGeO1W7jVoHgkQR - SgspHKHHIqbUv+Pix/66/wBKv3X/AB6zf7jfyoBHwh+1zcLLofhCJVYGN7oE - kYB+WLoe9fDtfdX7X3/IveDP967/APQYq+Fa+Bzz/eZfL8j8q4n/AN9n8vyR - +qnwVv4h8I/B8XlyZhG4nbwcSSdD3Ne3y63btG6iGbkH/lma8e+Cn/JHvBP1 - /wDasle9Tf6mT/dP8q+9wX8GHovyP1DLf93p/wCFfkczperQW+nwQtFKxVcZ - VCR17GvJ/iPcpdalBMisoKkYYYPGO1e26J/yCrb/AHf61418Uf8AkMQ/7h/p - XSd8St4FnWKK5DKx/f2zcDPC7+PrzxXtB1y3wf3E/wD37NePeAP9Tc/9fVp/ - 7Ur3s9DQJnKaPqsNtp0MLxSsVzyqEjlietImqwjV5bjypdrRKuNh3cH09K1f - D/8AyCLf6N/6EaSP/kPTf9cF/wDQqBGXquqw3FuiLFKpEiN8yEDg1p/25b/8 - 8J/+/Zpdc/49Yv8ArtH/ADrZoA5LSNVht7FYnilYhmOVQkcsT1o/tWH+2Tc+ - VLt8jZjYd2d2c49K1NA/5Bif7z/+hGkH/IxH/r1/9noAzNX1WG5sjEkUqncp - yyEDgjvWn/blv/zwn/79mjX/APkGt/vp/wChCtqgDktJ1WG3tmRopWJkc/Kh - I5NDarCdXS48qXaISuNh3Z3Z6elamhf8eb/9dZP50P8A8h+L/r3b/wBCoAy9 - Y1WG502aFIpVLbeWQgcMD1rT/ty3/wCeE/8A37NL4h/5A9x/wH/0IVs0Aclp - eqw28c6tFK26Z2+VCeD6+9E2qwtqtvcCKXakbjGw7ufQVp6J/qbn/r4k/nRP - /wAh21/65PQBn6rq0Fxp80KxSqWA5ZCB1HU1dj1u3WNQYZ+AP+WZqfXf+QTc - /wC6P5itKH/VJ/uj+VAHLabqsMBu90UreZO7jahOAccH0NFxqsL6nZziKUCM - SZBQ5OR2HetTR+t9/wBfUn9KLv8A5DNh/uy/yFAFDUtXgnsJ4limUspGWQgf - iasW+tW6QRoYZjtUDiM44FXtZ/5Bdz/uGrdr/wAesP8AuL/KgDmdP1WGGa8Z - opT5kpYYQnHHf0NF3qsMmoWMwilAiMmQUIJyuOB3rT0r/j41D/ruf5UX/wDy - FdN+sv8A6DQBUv8AWIJbKeJYZgXRhkoQOR3NPtNZt47SGMwzEqijIjJHA7Vq - ap/yDbr/AK5P/Kn2H/Hjbf8AXNP/AEEUAc7ZarDFd3shilIldSAEJIwO/pRf - arDLd2UixSgROSQUIJ47etamm/8AH/qP/XRf/QaNS/4/tO/66N/6DQBWu9Zt - 5LSaMQzAsjDJjIHI70yw1iCGxgiaGYlEUZCEjgdjW1f/APHjc/8AXN//AEE1 - Hpf/ACDbX/rmv8qAMG01WGPUb6YxSkSmPACEkYXHI7UahqsM01myxSjy5Qxy - hGeO3qa07D/kLal9Yv8A0Gl1X/j40/8A67j+RoAhn1q3eCRRDMMqRzGfSq2m - 6vBBYQRNFMxVQMqhI/A10N1/x7S/7jfyqpo3/ILtv9wUAYlvqsKandzmKUiR - YwAEORgdxRqeqwzm02xSr5c6OdyEZAzwPetS0/5DV/8A7sX8jSaz1sP+vqP+ - tADJNbtyjDyZ+Qf+WZqjpOrQW+nQwtFKxUHlUJHU9DXUS/6p/oazNC/5BNv9 - D/M0AZEWqwrqs9wYpdrxoMbDu49RRqmqwzxwKsUq7Zkb5kI4B7e9akH/ACHL - r/rklGt/6m2/6+I/50AJ/blv/wA8J/8Av2azNH1WG206GF4pWK7uVQkcsT1r - raxvD3/IIg/4H/6GaAMtdVhGsPc+VLtMIXGw7s7s9PSjVtVhuLVUWKVSJEPz - IQODWmn/ACMEn/XuP/QqNe/48l/66x/zoAP7ct/+eE//AH7NZmkarDb2YjeK - VjuY5VCRyfWutrF0D/kHD/ff/wBCNAGYdVh/tkXPlS7fI2Y2HdndnOPSjWNV - hubB4lilUkryyEDhgetaZ/5GEf8AXr/7PS6//wAguT/eT/0IUAJ/blv/AM8J - /wDv2azNK1WG3gkRopWJldvlQkcmutrG0P8A49Zf+u0n86AMuTVYTq8Vx5Uu - 1YmXGw7uT6elLrGqw3OnTQpFKpbHLIQOGB61pS/8h6D/AK4N/OneIP8AkEXH - 0X/0IUAMGuW4AHkz/wDfs1m6ZqsMC3AaKVt87sNqE4B7H3rrF+6PpWPov3Lv - /r5l/pQBlzarC2qW04ilARHBBQ5OfQVs2+qw3MywpFKpbPLIQOBnrUVz/wAh - uz/65yVs0AFFFFABRRRQAUUUUAFFFFAH/9b9z7fR9PfU7u3aMmOIRlRubjcO - ec0alo+n25tPKjI82dEb5mOVOc9TRbjWP7Uu/LaDzdse/Ibb04x3+tGpDWM2 - n2hoD+/TZtDff5xnPagDQk0DSgjERHIB/jb/ABqlpWi6dc6fDPNGS7gkncw7 - n0NXpF1/Y2WtsYPZ6o6SNZ/s+H7M0Ajwdu4Nu6nrigBkWj6e2qz2zRny0jRg - NzdT15zRqmjafbxwNDGQXmRT8zHgnnqaIhrH9qz7Wg87y13ZDbcdsd80aoNY - 8uD7Q0BHnJt2hvvZ4zntQBp/8I/pX/PI/wDfbf41maNo+n3Wmwzzxlnbdk7m - HRiOgNam3xB/ftvyesvRhrB02H7K0Ai+bG8Nu+8c5xx1oAF0fTzrD2pjPliE - OBubrux1zmjVtH0+2tlkhjKsZEX7zHgnnqaFGsf2w4DQef5Izw23bu/POaNW - GsfZl+0tAU8xMbA2c5469qANP/hH9K/55H/vtv8AGszSNG0+6shLNGWbcwzu - YcAkDoa1NviD+/bfk9ZekDWPsQ+zNAE3N98NnOTnpQAf2Pp/9si18s+V5G/G - 5vvbsdc56Uaxo+n2ti80EZVwVGdzHqwHc0Y1j+2R80Hn+R6Nt2bvzzmjWBrA - sH+1NAY9y52Bs/eGOvvQBp/8I/pX/PI/99t/jWZpWj6fc28jzRklZHUfMw4B - 46GtTb4g/v235PWXpI1j7PJ9maAL5j53Bs7s89O1AA+j6eNXithGfLaJmI3N - 1B9c5pdY0bT7XTpp4YyrpjB3MepA7mkcax/a8WWg87ymxw23bnv3zS6wNZGn - TfamgMXGdgbd94dM0AaI8P6Vgfuj/wB9t/jWbpej6fcJcGaMkpO6D5mHyjp0 - NaYXxBgfPbfk9ZmljWClx9naADz33bg33u+MdqACbR9PTVba2WM+XIjkjc3U - dOc0/VdF0620+eeGMh0GQdzHv7mmTDWP7Vtt7QedsfbgNtx3z3qTVRrX9nz/ - AGloDHt+baG3de2aALcWgaW0SMYjkgH77f41Q03R9PuHuxLGSIp2RfmYYUY9 - 60Il1/yk2tbYwMZD9MVn6aNY33fkNAD57b9wb73GcY7UAFzo+nx6lZW6RkJK - JNw3NztGRzmptR0TTYLGeaKMh0QkHcx5/Oobkax/aVl5jQebiTZgNt6c57/S - p9RXW/sM/ntAY9h3bQ2ce2aAJrbQdLkt4naIlmRSfnbqR9apWGj6fNcXiSRk - iKTavzMMDH1q7bLrv2eLy2t9uxcZD5xjjNUrAax9ovPJaDd5nz7g2M47Y7UA - F5o+nxX1lCkZCTFww3NzhcjvVm+0PTIbK4ljjIZI2YHex5A+tVrwax9vsfNa - DzNz7MBsfd5z+FWb5dc+xXHnNb+X5bbtobOMc4z3oAWz0LTJbOCWSMlnjVid - 7dSMnvVWy0bT5b29ieMlYmUKNzcAjPrVqyXXPscHlNb7PLXbkNnGOM+9VbIa - x9tvfKaDfuXfkNjOOMUAF9o+nw3NnHHGQsshVvmY5GPrVy60LTI7aaRIiGVG - I+duoH1qnfDWPtNn5zQb/MOzaGxnHfParl0uu/ZpvMa32bGzgPnGOcUARafo - mmz2ME0kZLuiknew5I+tQWuj6fJqV9A8ZKQ+VtG5uNy5POan09db+wweQ1uI - 9i7dwbOMd8VBajWP7SvvLaDzf3W/Ibb93jb36daADUdH0+CSzWKMgSzKjfMx - yD+NX5tB0tIXdYjlVJHzt2H1qhqI1jzLPz2gJ85dm0N97tnPar8y695Mm9rf - btOcB84xQBU0zRdOuLCCaWMl3XJO5h/I1HBo2nvql1btGfLjVCo3NwSOec1L - pg1r7BB9naAR7fl3Bs498VFANY/tS62NB5u1N2Q23GOMd6ADU9H0+3Fr5UZH - mTxo3zMflOc9TWi/h/SgpIiPA/vt/jWdqY1jFr9oaA/v49u0N9/nGc9vWtJ1 - 1/Y2WtsYPZ6AM7SNG06606GeaMs7g5O5h3I7Gkj0fT21aa2MZ8tI1YDc3Un1 - zmnaQNZOnQ/ZmgEWDt3ht3U9cU2Max/a0wVoPO8tc5DbdueMd80AGq6Pp9tD - E8MZBaVFPzMeCeeprT/4R/Sv+eR/77b/ABrM1Uax5MX2loCvmpjaGzuzxnPa - tTb4g/v235PQBl6Po+n3WnxzzxlnYtk7mHRiOxoGj6edYa18s+WIA+Nzfe3Y - 65zRo41g6fH9laAR5bG8Nu+8c9PegDWP7Yb5oPP8gdm27d355zQAavo+n21p - 5sMZDb0H3mPBPPU1p/8ACP6V/wA8j/323+NZmrjWBaD7S0BTen3A2c5461qb - fEH9+2/J6AMvSNH0+5tPNmjJbe4+8w4B46GhtH08awtr5Z8swF8bm+9ux1zm - jSBrBtD9maAJvf74bOc89KGGsf2woLQef5B7Nt27vzzmgA1jR9PtdPkngjKu - pXB3MerAdzWn/wAI/pX/ADyP/fbf41mawNY/s+T7U0Bjyudgbd94Y6+9am3x - B/ftvyegDL0rR9PuYZWmjJKyuo+ZhwDx0NeJ+O7aG08TXUEA2oqx4GSeqDua - 9s0oax5Mv2ZoAvmvncGzuzzjHavFPHYuR4muftZUy7Y87M7fuDHWgqJ3fhrT - 7VvBK3xQ+cC/OT/z0x06dK9BTw/pRUExHkf32/xrz/w0NQ/4QlSpj+zZfIIO - /wD1n5da9BRdf2LhrbGB2egTM3TNH0+4F15sZPlzyIvzMMKMY6GifRtPTVLW - 3WM+XIrlhubkgcc5o0waxi6+ztAP38m7cG+/xnGO3pRONY/tS13tB5u19uA2 - 3GOc96BEmp6Lp1vYTzRRkOi5B3Mf5mrcOgaW8MbNEclQT87en1qrqY1r7BP9 - oaAx7fm2hs49s1ahXXvJj2Nb7doxkPnGKAKGnaNp88l4ssZIimZV+ZhgAD0N - F1o2nx6lYwJGQk3m7hubnauRzmjThrHmXnkNAD5zb9wb72B0x2ouhrH9pWPm - NB5v73ZgNt+7zu79OlAE+oaJpsFjPNHGQ6IxB3seQPrXwn+0hbQ23jbThCMB - 9Lgc8k8mSXPWvuzUF1v7DP57W5j2Nu2hs4x2zXwn+0h9p/4TbTvtJUn+y7fb - tz93zJcZz3r9D8Mf+Rov8LPlOM/9yfqj59r9V9PtIFsNMULw8KZ5P9wV+VFf - qvp4u/sGmbimfKTb1/uDrX2Hiv8ABh/WX6Hg8CfFV+X6mrNZWyQyMq8hSRyf - T615j8UHjtPCkCRjD3csatyegUuf1Ar06YXvkybzHt2nOM5xivI/iwlydB06 - R9vliYAYznlDjP4CvynKYp4mF+59jnMmsLUa7HgdW7C0e/vrexi4e4kSNfq5 - AH86qdeK1dCulstb0+8cgLBcROSegCsCa/RKjai2tz8zpJOSUtjq/H3g4+F7 - 5JrMM1hc/cJ5KuBypP6j2+ldB8MPElvHcf8ACO6of3cpzbsSRtc9U+jdR7/W - vZdd0h9c0qfTr4RmKReozlWHIYe4r5K1TTbrR7+Wwu12yRHr2IPIYexHNfOY - GvHG0HQq/Ev6v/mfT5hh5YHEKvRXuv8Apr/I67x/4kj1rVGs9Pb/AEC1bCYP - DuOC307D2+tSeGfBE2s6RdatcAohVkth/fkAPzf7oIx7nPpWF4U8N3XifVUs - YfliT55X7Kg/qegr6bvv+JJpAIWOK2skyqrnACKT/SnmGLWFhHD0N/6/Fiy3 - BvFzlicRt/X4I+P6KUDJAHekr6U+VPqL4evFqPhuzaYZMaGM8n+Bio/QCvxK - /wCC3tvFA/wY8oY3DxFnk9v7O9a/af4Xpcr4aiMW0bmc/NnpuI7e4Nfix/wW - 9+0b/gx5+3p4ixtz/wBQ71r8vzOKVaol3f5n6xlkm6FNvsvyPS4/+CKXwleJ - XPxF1zLAH/j3tu/4V71+zD/wTR+H37N/xPsfi1ofi/U9Yu7W2ubcW1zFCkTL - cIUJJjAbI6ivRIf+CkP7GyworfE+xyFAP+g6j6f9e1es/Bf9qr4F/HjV7rwt - 8IfF9t4g1LTrY3c8CW93CyQCRYy5aaKNT8zqMAk89OtcijE7W2flD+zzbxN/ - wV8+JkJHyAazgZP92Gv3iurS3jjUouCWA6nvX4Pfs8/aP+HvnxM27fMxrOc5 - x92Gvpz/AIKl/tOeLvgp8MtF+G/gC8ksPFfj+WWNbq03LPbWNvtExiccrLK8 - iRoy8gbyCGCmknZMGfoFr3xb+CPhbWf+Ed8T+OdB0jVt237HearbW9xuPbyp - JVfPtiu50Z9K1jTYdSsJo7y3nBZJYZA8brkjKspII+lfjp8J/wDgjr8MX8CW - d38atc1W+8ZajCs16bG5jhgtJpV3NFHuilMjIxIaRmIcjIUDivDP2cNe+I37 - CH7bsH7Keqa7NrvgHxjPDDZJMcRq+oD/AES7jiyRHL5o8iYKQH5bBwmHzPqF - j94pvFXga28Tjwrca5YRaqQiiye7jW5Mj4ZV8ovvyykEDHIIIrpru0t4oS6L - g5Hc+v1r8kf+Cm/7J2teNtLt/wBpf4UxtbePfA0UdzefYspPdWNq29J0K8m4 - tCN6kcmMEZJRFpfDH/BUDwpdfsc3XxZ8Qy2snxG0fy9Il0fO1rrVnQmG4VAQ - RbSKrTORgLteMEsF3Pm11FY/VFvEngVNd/4RdtasRrJIX7CbuMXWSu8Dyd+/ - O35unTnpW5a2lvJGWdckMR1Pb8a/Gn/gmf8AsweKtY1O+/bU+NudQ8WeL3nu - NG+2AmRIronzb8rj5WnBKQgABYskfK64/Za1F35Z8spjceuetNO4MyPEOp+H - /Cmmah4j8Q3C2OkaRZzXt3PITshgt1MkkjEZOFRSTj0r+eTXPi3+07/wUt+L - msfD/wCC2pS+CfhjopLTssslugs3cpHLftE2+eafB2W4OwYPGFeWv0o/4Kje - L9W8JfsheK4rOf7PPrstjphaPIJhmuFeVP8AgccbKf8AZJFYn/BLHwBp/hH9 - jrQ/E1nbQx3vjG7vr+8lHMsnk3UlpCGb0VIRheg3E4yWqZauw+lzxnRv+CKf - wUh0lYfEPj7xDe6nt+ae1S0toC3qIXinbHt5v41o/A//AIJca78DPjx4e+IX - hH4pXk3hDTLoz31gqy2N3ciFSYoZHgkMU8TSbfNDqgKbl2nNfpZ8V/jl8Nfg - bp9hqvxY8S2Xhu01OVobaS5EpEsiLuZRsVuQOea8Z0L9uz9lLWtUtdD0j4na - TPe6jcJBBGRODJNMwRFBMYA3MQBk/WjliK7PrRrS3F0kYX5SpJ5P+Ned+L/i - r8HPBDyWfi3xpomhXaEKYr/U7a2kDehWWRTn8KT4veBNU+J3w88R/D+01ibw - /ea9p9xawahZySRzWsrr8koMbIxCtgsoYblypOCa/NPwp/wRy+Auj6Qz+PvE - et+J9XkBM1zHNHZRF26tHEI5GBzz88r1Tb6Aj9YNA1Pwr4p02PWPDOo22r2M - nC3FnOtxExxkgPGzKevrXzN+2L8cbD9nn9nzxh46s9Qt7PxKsD2uiRyshkkv - Z2WGN44XyJfJL+ay7WG1TuGM1+Q/wg8KeKP2Ef8Ago5ovwQ8L6/Pf+D/ABr5 - EJiuSSLi11BGEBmRQqedBcJtEiqMqD0Dso+g/wDgqt+zP4Aufht4k/abuJb1 - vF1pLptgi/aP9DWIzLCQsJTIyrE/e684qeZ2C2p9o/smftB6F8Qf2fPAfi/4 - p+M9JbxTqtpNJqBlurW0fzFnkRd0KFAnyKvAUZ696+z57S1Fs0sQz8uQQSR/ - Ovws/ZO/4Jqfs8fGj9nvwP8AEzxe+sDWfEVrNNcfZ71Yod0c8kY2oYmI+VR3 - PNe//wDBTX9ozxP+z18HfDfwf+Gl5LY+I/GamziurckXFtptmqRyGNxys0rO - kasvIG8qQwU0KWl2Ox+hutfFz4JeF9VXw94o8c6DpGrEhfsl5qttb3G49vKk - lV8+2K7vSZNJ1e2N/p88d5aynMUsMgkjdfVWUkEe9fjp8Jv+CO3wwk8BWV58 - adb1W+8Y6lCs96bG5jhgtJpVDNFHuilMjRkkNIzEORkKBxXh37OWufEb9g39 - uCP9lDVddm17wF4vnhgs0lOI1fUADaXccWSI5fNHkTBSA/LYOEwcz6hY/eS7 - 8S+CrXxHb+FptZsYtWlOPsTXUYuWLLuUCItv5HI45FdPPZWyQu6ryFJHJ/xr - 8B/+Comm6l8Ev2rvhD+03pkQXzDbtN5QOJLjQ7lJWD/9dIJkjx3VT71+xPx/ - +LsXwq/Z98YfGCG4gkg0zR5bqycZKSzzoEswM9pJXjH401LcTR6XonibwN4g - vH0nRdbsdR1C3QtNb293HLNGEIVi0aOWUBiAcjgnFbEg02zjvLu/kS3tbRTJ - JJI+xI41XczMxIAUAZJJwBX8m/7E/ifxb8A/2lvhH8T/ABIxh0P4lvc2f2iR - iVnt7u6l06RpWOP9VdRrK3J4UEnkiv3X/wCClfxKuPhv+yL42WKZYrzxU1vo - UOCRu+2tmdR9bZJqSndXG0fcGk6x4W8SRJeeGdStdVtRIYnltJ0uEDhQxUtG - zAEAg4znBFYvi/4g/CzwIrJ408VaT4ekCbgNR1CC0OD0OJpF4NfDX/BNz4QS - eDv2NPD9pdl7G68fG91eeSF2hnVb0eRA6SLhlb7NHE6spypOR61494Q/4I7f - CmH7VrPxf8aa1401m5dpJZo5Fso2J5ywYTyu/qxlGf7tO76CP1X8I+J/Avjn - TRqfg7W7DX7VQu6bT7uO6jBYcZaF2Azg0288TeCdK1weH9X1qxstRnMQgtZ7 - qOKeTzTtXZGzBm3NwMA5PAr+dX4s/CbUP+Cb/wC118NPE3wl8QXj+GPFUkLP - DdPvdrfz1hvbSfy1RJU8uRWjJXKsQfvIGP1F/wAFgfg9qb6D4T/aS8NAwat4 - QuotOvp4Mh0gnfzbObd2ENwCoP8AemFLmCx+1lxaW6PCFXAZsHk9KyfEGs+E - PC1sl14k1S00iOYlY3vLhIFdgM4UyMATjsK8q/Z6+LqfHf4JeCfivaNFv16y - jkuETOIr2LMV1H9EmR1HsAa/Gr/goTqOr/tRftt/Dv8AZR0CffZ6E0MN4YeR - FPqAW5vZfQ+RZRo3sQ49abloCR+/unxWF9YwXkDLNFOiukiNuV1YZDKQcEEc - ginx2lu1zLGV+VQuOT3FUtB0pND0Sw0XRYYbXT9Pgjt7eJQQscMShEQD0VQA - Kuxi7+0y7Sm/C5646cYqhBc2lvH5WxcbpFU8nofxqw1hagEhf1P+NV7kXn7r - zCn+sXGM9e2farDC/wAHJj/WgD8odX/5C17/ANd5P/QjXqvwAtobv4p6VBON - yMlzkZI6QOe1UPDvg208R6hql7qErrDFcyIqxkAls5JJIPGDXqPhjwvp3hDV - o9c0V5Y72EOqOzBtodSrYGMcgmv3fijjPBUsPWwDbc3FrRaXce/zPy/JOHMT - OrTxSso819+iZ9d6zpmlWFvFMQIlMqKzM5A2nryTxXO6l4j8DWGVi33kg7Qs - xH/fRIH5E14rd317fyebfTvO/q7Fj+tVK/nw/V+U7C48XTPCIbW1SJucyFmZ - uvYZCj8jXM3F7d3ZzczNJ7E8fl0qrRQVY19AQSazZo3IMgzX0v8A8I/pX/PI - /wDfbf418sWtzNZ3CXVu22SM5U4Bwfoa67/hYXi3/n8H/fqP/wCJoE0ezaRo - 2n3VkJZoyzbmGdzDgEgdDR/Y+n/2yLXyz5Xkb8bm+9ux1znpXiVv468T2sfk - wXYVMk48tDyeT1Wj/hOvE/2n7X9rHm7NmfLT7uc4xt9aBcp7brGj6fa2LzQR - lXBUZ3MerAdzWn/wj+lf88j/AN9t/jXz/ceOvE93EYZ7sMhIJHloOhyOi1P/ - AMLC8W/8/g/79R//ABNAcp7NpOj6fc28jzRklZXUfMw4B46GiTR9PXV4rURn - y2iZiNzdQfXOa8St/HXie1QpDdhVZix/doeT16rTX8ceJ3nW5N5iVVKgiOPo - f+A0BynuGsaNp9rp008MZV0xg7mPUgdzTr208MaZF5uoSLAMZ+aVgT9BnJ/C - vALzxR4hv0aO6v5WRuqg7QfwXArCd3di7sWY9STkmgOU9Hv/ABfpUCTQ6bam - 4kMjbJXZlQJ/D8oIJ/HFcDNPd6jcBpC00rnCgcnnsB/SqlbOk65d6LMtzYRx - rMoI3su48/U8fhQOx3Gk/D+aHT5NW1wbGVdyQd/q/wDh+fpXrMPh/SjCh8o8 - qP429PrXhtx8QvEd1A9vK8ZRxg4QCpV+JHidFCiSLAGP9WKBNM9e03R9PuHu - xLGSIp2RfmYYUY96LnR9Pj1Kyt0jISUSbhubnaMjnNeNQfEDxHbGUxPGDM5d - soOpok+IHiOWeK5aSPfDu2/IP4hg0Bynteo6JpsFjPNFGQ6ISDuY8/nU9toO - lyW8TtESzIpPzt1I+teHz/EPxJcQvBLJHscYOIx0NPT4jeJo0WNZY9qgAfux - 0FAcp7BYaPp81xeJJGSIpNq/MwwMfWi80fT4r6yhSMhJmcMNzc4XI714zD8Q - PEcDyyRyRgzNub5B1ol8f+I5pop3kj3wklfkHcYNAcp7ffaHpkNlcSxxkMkb - MPnY8gHHelstC0yWzglkjJZ41Y/O3UjJ714lN8RPE08TwySxlZAVP7sdDwaI - viH4mhiSGOWMKgCj92OgGKA5T2Oy0fT5b29heMlYWUL8zcZGT3rwjxdBHbeJ - L6CEYRHAAzn+EetaEXj7xJDLLNHLGGmILfux2GK5fUL+41O8lv7shppjliBg - ZxjpQNIktNUvrLAglIX+6eV/I13mj+MtG2rDrVgwI4MsTsc+5Qnj8D+FeZ0U - BY+iNEPhvWby6FnIJYlEZjXcytyPm4JDda09R0fT4JLNYoyBLMqN8zHIP418 - zKzIwdCVYcgjgiups/Gmv2vkrLP9qSBw6rN83I/2vvfrQLlPf5tB0tIXdYjl - VJHzt2H1r8U9e/5Duo/9fM3/AKGa/XbRvG+oa9vtlgEbbTkiN3Qcd2XOPxAF - fkTr3/Id1H/r5m/9DNfKcU/DD5/ofB8br3KXz/Q9e/ZsgiufjNoMMwyjLd5G - cdLaU9q5r4qaqNa+I3iK/T/Vm9lij5z+7hPlp/46orpf2bPP/wCFzaD9m2iT - bd43Zx/x7S56V5PqEjzX9zLL995XZvqWJNfrHgXRTjiKnVWX3/8ADH5jxHXa - wFKn0c5P7lH/ADPr79kbwja6jfa94pvY932SOO1h5I+aXLyHjuAqj6E19s6Z - pNjcWMU0qEuwOTuI7n0r5q/ZNgvV+HGpTWZiAk1OUMXzu+WGHA4+v619K6YN - V+wxfZ2hEeDjduz1PXFcnGuIlUzOrfo0vuR+rcE4dUssopdVf72fPXxx+KQ+ - FeoafYaTYw3txeKZHSZnwkS8ZG1lOWPAzkcHivcYDo2q6Hp2u6UC1vqKwyxn - cTmOUBh364NfI+m6FJ8dvi54x1G6MUlhpVpLp9s5yY1dg0KOnXv5kg9CQa7n - 9nrxHqd74LuPBuoFUvPC979naN871V2Ypn2Dh19gBXZm2S0aWBjyL97T5XP/ - ALf1X3aL5nHlOd1quOl7R/uqnMof9uaP79X8ix8VviL4n8JfELTvAng3Q7bV - J9RtEnjWZpfMaRnlBUESIuMR55rlJfih8XfDFiNc8XeAkbSIj+9lgkdWVc4y - SryBQOmSuPeqPxf1+Lwr+0T4Y1/X5khgsrCJ3kVHdVUvcKPlUFjyewrc8Yft - E+CZ/BOp6Hok51K51C3mtkh+zyrzOpXLFwowN2cDJPSvVw+Wr2eGjTwaqKcV - zS97dtp6p2Wh5WIzN+1xLqYx05Qk1GPu7JJrRq71PVbzxrol58P734heF4xc - W8WmyXcUcxYYljJDJIFbOVIIIB+hxzVn4ca83jj4c6d4vvrWO1u7ySRWSEvs - AjmaMYDsx5C889a8X8PeFte8J/s863ZavH9nubrTrq6aGQEPHFKflUjsxABI - PTODzmu++AQvf+FK6IQY/I824x13Z+0yfh1rw8yy3D08JWlS15avKn/dsz3c - tzLEVcXRjV05qXM1/eujp/jn4H0/XPhdriwxH7RYQm9iO4khrf52wD6oGX8a - /Kmv2a8QwatcaBqcE5tzHJbTK3DfdKEH9K/GWvuvDDEylh6tJ7Jp/ev+AfB+ - KOGisRRqrdpr7n/wT9Vfg7c23iTwJ4avplLF9PCSHccmS3cws2c9yma9M1TS - rG2sZJoUIdSuDuJ6kDua8A/Zne/k+HWnLAUBja6Cb842+cSenuTXv+qjVfsM - n2hoTHlc7d2eox196/K89oqnja0I7KUvzP1XIa7qYKjOW7jH8jR/sPTf+eZ/ - 76b/ABrO03SrG4ilaVCSsjqPmI4HToa0ca5/et/yas/TRqvlS+Q0IHmPncG+ - 93xjtXlHq3Pzf/4KffEa3+HvwUt/A2lP5WoeOJxbkBjuFnbMstww+p8uMjuH - NfBn/BMn4pReFPi7qvw41KTbZ+M7M/ZwTgC/scyx+3zQmYe52j0rD/b38da3 - 8dv2sF+Hfh9lvP7Blt/DdjHETskvpJcT8c/N58nlH2jFct+1D8J779jr9orw - 5eeEPltbS20vVtOkBba8tqFinDk9S80LO4/uyAdDQB/TMmiaaVBMZ5H95v8A - Gvxj/wCCtESQ+Hvh2I8gf2hq64ycYRLbbx7ZPNfrz4M8US+OPCGi+M9Bmgl0 - 3XLK3vbdvmyYriMSLnHQgHBHY8V+Qn/BWj7R/YHw680rj+0NYzjP3tltn8PS - gD4r+EP7A3xw+NngHRfiN4PutGj0rXhcm3W7upY5h9lnkt33qsLgfPG2ME5G - Dx0o+JP7K/7VX7JlgnxDklksdOtpFV9U0K/cpAzsFTzQvlyKrsQuWTaThSck - A/sf/wAE9Rff8MnfDjyTH01jZuz0/tO6znH6V0n7cHxO8MeAv2d/GekeMtQs - Re+I9MudPsLHdm5nuLhPLR44yclYmYSM2MKF9cAgHnf7AX7Ssn7R3grU9A8d - qjeMfCvlC4mj/di9tptwjn8tcBXBUrIFG3O1hjdtH5Nf8FGlEf7WfiuFSdkU - GnqoJJwPskZxzX0N/wAEktG8QzfFDxv4g09ANPtdHjtZncHZ509wjxLx32xS - H6V88f8ABRjzP+GtPFvnY3+Tp+7b0z9ki6UDP6WJ9KsY72yhVCEl37huPO1c - jvVm+0ewhs5pY4yGRCR8zdQPrVecar9tsvMMPmfPsxux93nP9KsXw1f7HN5z - Q7Nh3bQ2ce1AH5df8FGf2ldf+DGh6B8NvhtcSaX4i8S25vLvUI2/e29kCYws - Oc7XlcN84wUCHbycr8GfDr/gnb+0T8Z/BKfE2TUdPsZdUiW6toNVuZ/tlzHI - u9HYrFIF8xSCu9snILbRzX7afE/9lD4N/HHXLPxd8TvDEGt6pb2cVnFM17f2 - 5W2jZ5ETZbzxpw0jHO3Jz16V6yb3Tfh74av768ubTR9C8PWwM0szMsNvbW0e - M5OTtVF75J9zQB+C/wCxv8efid8EPj1p3wB+KM90+h32pjRLjT7t2kbTr2R/ - KiaBsnahlKhgp2FWLjJwa/oVu9G0+K1mkSMhkRiPmbqB9a/md0C+1f8Aap/b - rtPFHg6yaKLV/EVtqA+Ur5On2DxkzSY+6fKiDEZ++QoJJGf6Yrsax9lm81oN - mxt2A2cY5xQISz0fT5bSGV4yWdFJ+ZupH1qva6VYyXl3E6ErEUCjceMjJqxZ - jWPskPlNBs2LtyGzjHGar2o1X7bd+W0O/Kb87sdOMUAF7pVjDNapGhAkk2t8 - x6Y+tW7jRdOSCR1jOVUkfM3UD61VvRqvnWvmtDu8z5MBsZx39qtXA1nyJN7Q - bdpzgNnGKBnxL+1zawQ6H4QmjXDyvdFjknPyxV8O19xftdfav7D8IecU8vfd - bNuc42xda+Ha+Bzz/eZfL8j8p4n/AN9n8vyR+qnwV020b4R+Dpih3zja53Hk - GST8vwr2+XQNLWN2ERyAT99v8a8Q+Co1L/hUXg7aYvLx+74Od3myY3e30r2+ - Vdf8t9zW2MHOA9fe4L+DD0X5H6hlv+70/wDCvyKWlaLp1zp8E80ZLuMk7mHf - 2Ncd4j8GS61qn2fTZEgS3QE+YWOd/p19K7LShrX9nwfZmgEe35dwbd174qOE - ax/atxtaDztibshtuO2O9dJ3JnJaT4Nm8Pxn7fIkxuZ4UGwsML827Ocdciu/ - Ph/SsH90f++2/wAazdUGsBLf7Q0BHnpt2hvvds57VplfEGD89t+T0CM3R9G0 - +606GeeMs75ydzDoxHY0iaPp51eW2MZ8tYlYDc3Un1zml0caz/Z0P2VoBFzj - eG3fePXFIg1j+15cNB53lLnhtu3PHvmgA1XR9PtrdHhjIJkRT8zHgnnqa0/+ - Ef0r/nkf++2/xrM1Yax9nT7S0BXzExtDZznjr2rU2+IP79t+T0AZekaPp91Y - rNNGWcswzuYdGI7Gj+x9P/tn7L5Z8r7Pvxub727HXOelGjjWPsK/ZWgEe5sb - w2c7jnp70Y1j+2SN0Hn/AGf0bbs3fnnNABq+j6fa2RmhjIYMo+8x6nHc1p/8 - I/pX/PI/99t/jWZrA1gWR+1NAY9y/cDZznjrWpt8Qf37b8noAy9J0fT7m2aS - aMlhI6/eYcA8dDQ2jaeNXS1EZ8swliNzdQ2Ouc0aSNY+zN9maAJ5j53hs5zz - 07UONY/tePLQed5Jxw23bu/POaADWdG0+102aeCMq67cHcx6sB0JrT/4R/Sv - +eR/77b/ABrM1kawNNm+1NAYvlzsDbvvDGM+9ae3xB/ftvyegDM0vR9PuY52 - mjJKTOg+ZhwOnQ0TaPp66rb2yxny3jckbm6jpzmjShrHlz/Z2gA85924N97v - jHaiYax/a1vuaDzvLfbgNtx3z3zQA/VdF0620+aeGMh0AIO5j3Hqaux6BpTR - qxiOSAfvt/jVLVhrP9nzfaWgMeBu2ht3UdM1ejXX/LXa1tjAxw9AGdpuj6fc - G782Mnyp3RfmYYUYx0NFxo+nx6nZ26xkRyiQsNzc7RxzmjTRrGbv7O0A/fvv - 3Bvv8ZxjtRcjWP7Ts/MaDzcSbMBtvTnPf6UAS6lomm29hPNFGQ6KSDuY8/ia - sW+g6W8EbtEcsoJ+dupH1qDUxrX2Cf7Q0Bj2ndtDZx7Zqxbrr3kR7Gt9u0Yy - HzjFAFHT9H0+ea8SSMkRSlV+ZhgY+tF3o+nxahYwJGQkxk3Dc3O1cjvRp41j - zrzyGgDead+4NjdjtjtRdjWP7QsfNaDzMybMBtv3ec/h0oAsX+h6bDZTzRxk - MiMQd7HkD60+00LTJbSGR4yWdFJO9upH1pt+uufYp/Oa3Mext20NnGOcZp1m - uu/ZIPKa32bF25DZxjjNAFSy0bT5ru9ikjJWJ1C/MwwCM+tF9o+nw3dlHHGQ - srkN8zHIA+tFkNY+13vktBv3rv3BsZxxii+Gsfa7Lzmg37zs2hsZx3zQBbu9 - C0yK0mlSIhkRiPnbqB9aZYaHps1jBNJGSzopJ3sOSPrT7tdd+yTea1vs2Nuw - GzjHOKZYLrn2GDyWtxHsXbuDZxjjOKAK9po+ny6jfQPGSkJj2jc3G5cnvRqG - j6fBNZrHGQJZQrfMxyMfWi0Gsf2jfeU0Hm5j35Dbfu8bfw60agNY86z89oN3 - mjZtDY3Y757UAXp9B0tIJHWI5VSR87dh9arabomm3FhBNLGS7qCTuYfyNWZ1 - 17yJN7W+3ac4D5xiq+mDWvsEH2doBHtG3cGzj3xQBDb6Pp76nd27RkxxLGVG - 5uNw55zRqej6fbm08qMjzbhEb5mOVOc9TRbjWP7Tu9jQebtj35DbcY4x3+tG - pjWM2n2hoD/pCbNob7/OM57UAaEmgaUEYiI5AP8AG3+NUdJ0bTrnToZ5oyXc - HJ3MO59DV+Rdf2Nua2xg54eqOkjWf7Oh+zNAIsHbvDbup64oAZFo+ntqs9sY - z5aRowG5up985o1TRtPt44GhjILzIp+ZjwTz1NEQ1j+1Z9rQed5a7shtuO2O - +aNUGseXB9oaAjzk27Q33s8Zz2oA0/8AhH9K/wCeR/77b/GszR9G0+606Gee - Ms7bsncw6MR2Nam3xB/ftvyesvRhrB02L7K0Ai+bG8Nu+8c5x70AC6Pp51h7 - UxnyxCHA3N13Y65zRq2j6fbWqyQxkMZEH3mPBPPU0KNY/thwGg8/yRnhtu3d - +ec0asNYFqv2loCnmJ9wNnOeOvagDT/4R/Sv+eR/77b/ABrM0jR9PurMSzRk - tuYZ3MOAeOhrU2+IP79t+T1l6QNYNkPsrQBNzffDZznnpQAHR9P/ALZFr5Z8 - ryN+Nzfe3Y65zRrGj6fa2DzQRlXBUZ3MerAdzQRrH9sgboPP8j0bbt3fnnNG - sDWPsD/amgMeVzsDZ+8MdfegDT/4R/Sv+eR/77b/ABrM0rR9PuYJHmjJKyuo - +ZhwDx0Nam3xB/ftvyesvShrHkSfZmgC+a+dwbO7PPTtQASaPp41eK1EZ8to - mYjc3UH1zml1jRtPtdOmnhjKumMHcx6kDuaSQax/a8QLQed5TY4bbtz375pd - YGsjTpvtTQGLjOwNu+8OmaANEeH9KIB8o/8Afbf41m6Zo+n3C3JljJ2Tug+Z - hhR06GtJV8QbRhrb8nrN0saxtufs7QAee+7cG+93xjtQATaNp6apbW6xny5E - ckbm6jpzmtm30bT7WZZ4IyrpnB3Meox0JrGnGsf2rbb2g87Y+3AbbjvnvW1b - jWBMv2poDFznYG3dO2fegDTooooAKKKKACiiigAooooA/9f9z7fVrRNUu523 - 7JFjA+Q54HORRqWr2k5tPL3/ALudHOUI4Ga07T/kNX/+7F/Kl1jrY/8AX1H/ - AFoAZJrtiUYDzOQf4GqjpOsWdvp8MMm/coOcISOp7108v+qf6GszQv8AkE23 - +6f5mgDIi1e0XVZ7g79jxqB8hzke1GqavaXEcCx78pMjHKEcA1qQf8hy6/65 - JRrf+ptv+viP+dAB/b1h/wBNP+/bVl6Nq1pa6bDBLv3LuzhCRyxPUV1tYvh7 - /kD2/wDwP/0I0AZi6taDWHufn2GEL9w5zuz0o1bV7S4tljj35EiHlCOAa00/ - 5GCT/r3H/oVLrv8Ax5p/11j/AJ0AH9vWH/TT/v21ZekavaW1kIpN+7cx4Qkc - kmutrG0D/kHD/ff/ANCNAGX/AGvaf2yLr59nkbPuHOd2elGsataXNg8MW/cW - U8oQOGB6mtQ/8jCP+vX/ANnpPEH/ACDJP95P/QhQAv8Ab1h/00/79tWXpOrW - lvbyJJvyZXbhCeCa62sXQv8Aj1l/67SfzoAzH1e0OrxXI37FiZT8hzkn0pdY - 1e0udOmgj37mxjKEDhgetacn/Ieh/wCuDf8AoVL4g/5BFx9F/wDQhQA0a9YY - H+s/79tWZperWlulwJN/zzu4whPBrrB0FY2if6u7/wCvmT+lAGZNq1o2q21w - N+xEcH5Dnn2qTVdYs7jT54Y9+51wMoQOvrV+5/5Dln/1zkqXW/8AkFXP+7/W - gCvFrtisSKfMyFA+43pWfpurWkD3Zff+8nZxhCeDjrXUQf6iP/dH8qytH/1l - /wD9fL/0oAzLnV7STU7Kdd+2ISZ+Q5+YYGB3qfUdZs5rGeJN+50IGUIH51dv - P+Qxp30m/wDQRVjV/wDkGXP/AFzagChba3Yx28SNvyqKD8jdhVKw1e0huLx3 - 34lk3DCE8Y7+ldLZ/wDHpB/uL/Ks7S/+PrUP+u39KAMu81a0lv7GZd+2JnLZ - Qg8rjgd6s32tWUtlcRJv3PGwGUIGSKtah/yE9N/3pP8A0Grup/8AIOuv+uT/ - APoJoAybLWrKKzgibfuSNQcITyBVWy1e0ivb2Vt+2VlIwhJ4GOfSuh07/kH2 - 3/XJP/QRVLTv+QjqP++n/oNAGXfavaS3NnIm/EUhJyhHGO3rVy61uxktpo13 - 5ZGA+Q9xVjU/+PzTv+up/lWhe/8AHnP/ANc2/lQBhafrNlDYwRPv3Iig4Qkc - CoLXVrSPUr6dt+2XytuEOflXByO1buk/8gy1/wCua/yqrY/8hjU/+2P/AKCa - AMzUdWtJ5LNk34jmVjlCOB6Vfm1yxaGRR5mSpH3G9Kk1f/XWH/Xwv8jWpcf8 - e8v+638qAOd0zWLOCwghk37kXBwhI/OooNXtE1S6uDv2SKgHyHPA9K2tF/5B - Vt/uVDa/8hq9/wByL+VAGXqer2k4tfL3/u543OUI4Gc1pPrtgVI/ecg/wNTt - Z6WX/X1F/Wtd/uN9DQBy2kavZ22nQwSb9yg5whI6nvTY9WtF1aa4O/Y0SqPk - Ocg+la2g/wDIIt/of/QjTIf+Q9cf9cU/nQBmarq1pcQxLHvysqMcoRwDWp/b - 1h/00/79tSa5/wAe8H/XeP8AnW1QByWj6vaW2nxwy79yluiEjlietA1e0/th - rn59hgCfcOc7s9K1PD//ACCYfq//AKEaF/5GBv8Ar2H/AKHQBl6vq1pc2gjj - 353oeUI6H3rU/t6w/wCmn/ftqTXv+PAf9dE/9CraoA5LSNWtLa0Mcm/O9zwh - PU0Nq1odYW5+fYICn3DnO7PStPQf+PA/9dH/APQqG/5GBP8Ar2P/AKHQBmax - q9pc6fJDFv3MV6oQOGB61qf29Yf9NP8Av21HiD/kEzfVP/QhWzQByWlavaW8 - Mqyb8tK7DCE8E15N4y0++1bxFcXljbvJFIqbTjBO1QDweete26J/x7z/APXe - T+dE3/Idt/8Ari/86BpnB6HL9h8Hf2XdI8dwCxwVOOXyOenSu6TXbAIoPmcA - f8s2qTXv+QRcfQf+hCtVPuL9BQI5TTNXtIBdeZv/AHk8jjCE8HGKJ9XtH1S1 - uBv2Rq4PyHPI9K1NG6Xv/X1L/Si6/wCQ1Zf7kv8AKgChqesWc9hPDHv3OuBl - CB+dWodcsVhjU+ZkKB9xvSretf8AIKuf9yrtv/x7xf7q/wAqAOY07V7SGS8Z - 9+JJmYYQnggdaLrV7STUrGdd+2Lzd3yEH5lwMDvWppP+uv8A/r4b+Qovv+Qv - pn/bb/0CgClqGs2U1jPEm/c6MBlCByK+E/2kLiO48b6cY8/JpduhyMciSWv0 - C1b/AJBl1/1zb+VfAn7S/wDyPGl/9gm2/wDRktfofhj/AMjRf4WfKcZ/7k/V - HztX6r6fdRGw0xhnCRJnj/YFflRX6wWH/HlpX/XJP/QBX2Hiv8GH9ZfoeDwJ - 8VX5fqXJryFoZFGclSOh9K4bx/bJqfg+aKMEy2oSZRg/wfe/8dJr0O4/495f - 91v5U2FFktUjcBlZACD0IIr8ew9Z05xmujPvsTQVSnKm+qPh+lI7joa6jxh4 - efw3rc1kATbsS0LeqHnH1Xofz71zKkfdf7p/Me4r9OpVYzipx2Z+T1qMqc3C - ejR9EeBPHlrqOmpo2qSbL6FfLRj0lUDA5/vDoR36+tdZfaH4a1oQy6vZieWJ - Ngb5gcdcZUjNeA+AdJa/8T2zMN8VsHnLDkfIPl/8eIr6ntP+PaP/AHRXw+cU - o0K96Ls3qfoGSVZYjD2rq6WmvU53RdP0TQWuI9Lt/s8UpUnG4kkDuTk15Z8S - vHFpf2/9gaO/mJuzPKOnHRFPf3P4ete4xAG7uAeQQn8q+QNd0htK1m9spP3c - UEzqpPUrn5cDvxj+ta5FSjVrOdV3a1MeIa06NBU6Ssno/wCvMxQMAsenQfWm - VJI4c4UbVHQdfzPc16F8N/DD65rSX06f6HYMHYnozjlV/qfb6ivsMRXjSg6k - tkfEYbDyq1FThuz3Dwrbx6NpFpYuCGjhQMMHhz8zfqTX4bf8FvZ45n+DGzPy - jxF1GOv9nV++Ef8Ax+S/7q1+Kf8AwWL+FXxQ+Jr/AAj/AOFb+D9Y8V/2d/bw - uv7J0+4vvIM32Dy/N8hH2b9jbd2M7Tjoa/LsRNzbk92frNGmoRUVsj6+h/4J - x/sONCjH4ZRZKg/8f+p+n/X1XrnwU/Za/Z4+AGsXfif4TeEk8P6tqFsbO4mS - 5u7gvAZFk2YnmkUfMinIAPHXrX0xCCsCKeCFH8qhsP8Aj0j/AB/maVkXc/BP - 9nmeNf8Agr58TJTnaRrPbn7sNcb/AMFjLO6vfjx8K5bm+bTtKutLaBLnaf8A - R5VvCZpRyudqPGcAjp1Fe7fAj4VfE/SP+CqXxE+IOreENYsvC14NWMGrT6fc - RWE3mrEE8u5ZBE27B24Y5wcV9kft8fsjwftYfCu10zRZrew8ZeHZ2uNIurjI - iIlAWe2lZQxWOYKpyFOHRD0yDna6ZVz4+X/gmt+0Oyhl/aw8REHkEQ6hgj/w - Z1W8Jf8ABK/xvp/xY8I/Frxj8crrxPqHhXU9Pvx9t0yeaeSOwuVuFhWeW+kZ - ASDjghSScHv5z8OP2t/2/wD9mLw1a/C34qfBDU/Glt4fQWVnf/ZroOYYF2Rp - 9stYp4LhUVRtcDcV5ZmPNfSX7N/7T/7cvxy+M/hy08QfCM+B/hjE9wdVubmy - uIZmX7PKYts940W/995fEMRPXcducC5Q1P0y8XeNfC/gbQ9V8a+Lr1NO0TR7 - OS4u7iXhY4ovmYkdTxwABkngAkgV/HL4pOheIPidrX7Qnh/4dzx/CCLxXGHs - AWS2EUshuBYmVeI2lhRsqmRHuCjjbn9pv+CiB/aQ/aN+J2hfssfCPwZrtr4O - e4tjq+vS6ddRaVcTsRIpe7MYiNraqd7Hcd8owoLIm79BdF/ZN+Efhr9mf/hm - I6eLrwvPZ/ZruRgFnuLmQh3vGbnE/mgSIedhChflUCnJXEtD1z4W/EjwH8S/ - h5oHjn4dzrP4c1a0jks/KQII4wNvlFF4RoiCjJ/Cyle1dra3cUcZVs53E9D3 - r8Uv2HdG/aR/Y++Pmv8A7NPjbwjr3iD4ZaxfN9g1600y6n021uXAMN158aNF - HFPHtS4Ut+6kALEBXJ/bax/1Lf7zfzq4u4mfn3/wU48HXnjz9kPxl/ZMbT3O - hfZNVCBSSY7S4Uzt7BIGkcn0WvNv+CUHxb0Hxj+ynb/DeG53a34EvLm3uYG+ - 8Le9uJLuCUeqNvdAfVCMYxn9QdS0+x1cT6Vqlul3Z3tvJBPDKoeOSKQFXRlP - BVlJBB6iv5/fif8AsRftS/scfFW9+MP7Gc9xrfhu6LZsINs13BbyNuNpc2sh - /wBLhU42Om6QYBIVlDmZaO4dLH7OfHL9n34LftH6Vpmi/GLQ5Ncs9Hme4tUW - 5urXy5ZF2Mc20kZbI4wSRX4E/to/s+fCL9nb9qX4OaB8IdFbRNP1OexuriNr - m4ui8q6iEDbriSRh8oAwCB7Zr6dsP+CmX7ZdjaLpviH9nC7n1hPldorHVbZC - 3P8AyweGVx06eZ2NfPHivQf22P21vjx4C+IviX4NXfhq08KXdohZrWbTYVto - 7sXEjs+oyJ5jKM/6vrjABNTJp7FI/T3/AIKH/tmax+yr4J0OPwHaQ3Pi7xa9 - xFZS3S74LSG18szzNHkF3/eosan5cks2Qu1vmbwl+yF+3b8aPDtt4v8AjV+0 - ZrHg+41ZEujpOm/aGMSyjcEmS2nsreNxnlUDqvTNerf8FUv2VfiB+0D4P8K+ - L/hZYHWNd8Fm8E2nxYE91Z3YjLNDuI3vE0IIjHzMGbblgFPiGi/8FFv20D4U - tfBN1+zhquo+NY4RbvqElpqMUUkyqB5slkLUFSThnAnVeuNoxhvfUR8p6h8K - NQ+CP/BSf4UeBNZ8daj8Qry11DRJpdR1Pf8AaEM0rOIcPLMdqqQw+b+I8V+p - /wDwVPnQ/sYeLUGcvqWlsOO32yOvzo8N/sxftc6Z+2j8I/jX8ZdDvtc1PxZq - 9prOs3Njay3Nro4juCgt7meFXghEcKIVG/aq4UE7Sa/Z39r74Kar+0J+zb46 - +Fvh5kTWtRVLjT/MIVWurKeO5jjLEgL5pj8vceF3ZPSlFaMH0OE/4J6XEa/s - c/CknPyafcg8et3NX5d/8FjbO7vfjx8K5bm+On6VdaW0CXG0/wCjyreEzSjl - c7UeM4BHTqKf+zp+1Z+1z+yj4AtPgN4m/Z91zxO+gTXMWmyCC8tpEWeV5WjJ - jtbhLlBIzlGjYAqcAkAGv0i/bR/ZWuP2yPgLoUqQw+H/AIgaPDFqOnm6DqkM - tzEhurGZtpdUfABO3KvGpIxuBb1jZB1PlZP+Ca37Q7orL+1f4iwQCMQ35GPb - /iZ1X8Kf8EsPHGn/ABc8KfFnxj8crrxTf+FdU0+/U3umTzTyx2FwtwIRPLfS - MgJBA4IUknB7+cfDf9rj9v79mPwzafC74pfBDU/GlroCCys78Wt0rmGBdkaf - bLWKeC4VFUbXA3FeWZjzX0n+zl+0/wDtyfHP43aDB4g+EZ8DfDNJLhtXuLqz - uIZiv2aTygs140W/995fEMRPr8ucJco9Tpf+Csnw9j8f/sqXfiKyiMl74I1C - 21RSF+byHb7LOo/2Qswkb/cz2r85f2j/ANpS9+Iv/BPj4CfCfRpWute8TSix - voUO6V4/DrfY4Y3HczyNDID3K/Wv6G/il4I0/wCJfgXXvh5qmBaeJdNvtOkJ - Gdq3UDRbh7ruyD2Ir+a/9iP9kT46337Tfg2P4teB9e0Pwr4GnudVM+p6dc21 - l51p88KQyzRrG5kuRG2FJ3KCRkCia1Ej6t/4KL/s2WvgD9jP4S3vhxCL/wCE - P2XT7qeIFcx38aLcT7h3a9SNh6GQ4x38V/bn+OF/+1L4O/Zq+HvhuYS6r45t - rfUryJeV/tK7kXTEAA7JcJdL9PSv3u+OnwxtvjN8EPF/wuuQpPiPSZ7WFn6R - 3JTdbyf9s5gj/hX89v8AwTv/AGWfjbN+1T4R134s+B9f0HQPAdtd3sUur6bd - WluJU3+RDFJPGqFvtNx5wVSSdrMOMmiS1GmfsV+1j8fNK/Yp/Zt0zVPCOnJe - 3enraeH9CtZ8iFZUt2ETzBSGMcUULMVXBYgLld24fBfwq+Cn7fX7W3g+0+LP - xG+PV/8AD3RPEsQurCx0pZkd7V/9Wxgs5LSJI3XBTMjsykFxk19xf8FG/wBn - DxT+0r8A4/DfgKNJ/E2gajHqtjbuyx/a/LikhktxI5CozJKWUscFlAJAOR+f - nwe/bj/bA+Cfwx0b4JeJf2dda1/VfDNrFpdjdm2v7Rvs1uvlQJJAtpKJSqKF - Do6hgAeTkly31Ej5O/bU+AWvfs/fFP4X6F4k+J+rfEq91RvtRbVfM3WaLcxI - BEJJ5ziQg5wR90da/pP+MPw80H4yfDHxh8L9f4s/FFhLabyu7ypGX91MB/ei - kCyL7qK/nd+PP7PX7cHxa8U+Df2jfix4TvtQ1TxFqMVrHomlWU9zJo2nWpje - AyxQ+abeJy8hxI24MC0hDNgf07wf8fVz/wAB/lRBbgz8HP8Agl78cG+EGhfF - z4F/FWQ2DfDd7zxA0bnLQxWeYNTjGccRvHGwA6l2NN/4JZeFtU+MHxu+Kn7X - 3jeIvdXVzcWtkSCyLeak/wBoufLPbyIfLjX/AGJcdq+f/wDgq18OtS+DX7R0 - vxC8G3RsLH4s6RKt7HCQC80WyC8jK9dkqiFyf4nZ/Q1+437GPwVHwC/Zm8He - ALqDyNXNn9v1QEYb7fe/vplb1MW4RA/3UFKK1t2Gz6ZtryFIERs5A9DTI7uJ - bmVznDBccegq7af8e0f0qOL/AI/J/ov8q1JK1zdxP5W3PyyKTwegqw19BtP3 - vyNLef8ALD/rqtW2+6fpQB+WkPibVvDusai2nSDZLPJuRxuUkMcH6/SvV/hf - 4uvfFnjWx0LXVRbKdZi5gUiTKRsy4JLdwM8V4Tq//IWvf+u8n/oRr1z9nf8A - 5KzpH+5c/wDoh6/o7iXI8HPA1sTOknNQbvbW6jofj+TZniI4mnRjN8vMtOmr - Pr288IeFVRPsz3WS6ht3909cfL1rntX8FrCTJo073Cf3JEKuPxxtP6V7lrf+ - ptv+viP+dbNfzKfsvMfHk0E1u+ydDG3owxUVfUWmafY6loUFvfwJPGd/DjOP - mPI9D9K881f4cwTalLb6JL5OIxIElJZck4wG6j8c0FKR5xodjb6hfrb3JYR4 - ydvXqPrXqP8Awhvg3+/ef5/4BXO6B4e1bRtYcalbNEAg2v1Rj5idGHH9a+ga - BNnitl4Q8KvAGunuvMyfu9MZ4/hpf+EQ8K/bdm668jy8/wC1vz/u9MV6hoH/ - ACDh/vv/AOhGg/8AIwj/AK9f/Z6BXPLr3wh4VS3LWrXXmZGN3Axnn+H0q3/w - h3gz+9d/5/4DXoviD/kGSf7yf+hCtqgLni1n4R8KvGxuWudwZgNvI29v4etK - fCPhQXqIDcmAoSc/e3Z4/h6V6doX/HrL/wBdpP50S/8AIeg/64N/OgLnmd74 - S8Jpau1r9p80Y27s469+PSrQ8IeC8c/av1/+Jr0TxB/yCLj6L/6EK11+6PpQ - Fzxq08J+E3Ev2n7RkSMF25+72zx1ok8J+ExeRIn2jySrbs53Z7Y4r03RfuXf - /XzL/Si5/wCQ3Z/9c5KAueaXnhLwiltI1sLnzQPl3E4z7/LU6eEfBhRSwus4 - GevX/vmvSNb/AOQVc/7v9a0IP9RH/uj+VAXPHrXwn4TZp/tAuMCQhNpP3e2e - OtLL4T8JC7gWMXHkndvyTngcY4/OvS9H/wBZf/8AXy/9KW8/5DGnfSb/ANBF - AXPN7rwn4PW3ka3W48wKdud2M+/FPi8JeDDEhkW53kDON2M9+1em6v8A8gy5 - /wCubVZs/wDj0g/3F/lQFzyK28KeEmknE63G0PhME52478UT+FPCQuLdYluP - LYt5mSc4xxjj1r0zS/8Aj61D/rt/SjUP+Qnpv+9J/wCg0Bc85uPCfg5beRoV - uPMCnbndjOOM8Utv4T8GmCNpkuPMKjdjdjOOccV6jqf/ACDrr/rk/wD6CaXT - v+Qfa/8AXJP/AEEUBc8nt/CvhI3FwJkn8sEeXgtnGOc8V5lr1taWer3NtYBh - bxsAm772MDrmvpfTv+QlqX++n/oNeK+JfD2r6p4suxa27bJpQqyN8qE7RnBP - XHtQNM87pyI8jBEBZj0AGSa9js/hfBb20lzq10ZXRGbZFwuQO7Hk/kK9D8O6 - Vpun6dA9lbJE7opZgPmOR3bqaB8x8+ad4W1G9fE4+yoMZLqxbn/ZAz+eK7q1 - 8K+G7BrZ5DLeP5i+Z5iFU298L/Qk16hZf8hjUv8Atj/6CaTV/wDXWH/Xwv8A - I0E3K39q6VBatbWsbRIFIVViKqOPQDFfixr3/Id1H/r5m/8AQzX7iXH/AB7y - /wC638q/DvXv+Q7qP/XzN/6Ga+U4p+GHz/Q+E43+Cl6v9D179mydLf4zaDNJ - naq3ecDJ5tZR0rz7xhYHSvFms6aQQLW8uIxkYOFkYD8xXo/7Mv8AyWvw/wD7 - t3/6Sy11P7UvhN9A+JT61GhFrr0K3CnHHmxgRyr9eFY/71fpvghjVCpVov7W - 3qrfo2fnefYJzyqNZfZm7+jS/VI9d/ZF8S20Ph3xB4emJ3w3KXSgDORMmw9P - Tyxn6ivb/iJ47h8E/DHU9SidkvVhaG34P+vmJVCD/s53fQGvgb4D+PI/APxB - tL29k8vTtQU2d0SeFSUja5/3HCkn+7mv0n1Dwb4Z8b+HbPTfFFkL+1ifzkjZ - 3VQ43KG+RlzwT19a9rjHBQw2bKvXTdOVpadbbr8PxPsuDcdPE5Q6FBpVIpx1 - 6X2f4/gfFvwp8M/HHw54ejvPBd1YWVrq6rdYuF3ysHA2k5jbAIAIGcc+9J4V - n8WfDv43QHxw8Jk8W8zPbgiF5JJMqwG1fm8xcHj+LPevvGxtoLPUWs7VBFDB - bxxog6Kq8AD2ArnPHPgrwv4qbTb3X7BbqfT5gbdyzo0e8gnBRl7qOvpXF/re - qtSr9YpLlqJpuKXN5a31s7Hb/qg6VOl9XqvmptNXb5fPS2l1c+ZfiV/ZWrft - M+EYtQt1u7N7KNZIpow6sA1ycFGBBHTtX0h4f0LwRo6RXNpolnbXcZJEsVpG - rjnjDKuf1rfvvA/hXUvE1n4xvtPWXWbBBHBcFnDIo3YAUMFP326jvWrof/IN - j+rf+hGvFzLN/a0qNOm2uWPK/N3fn5ntZblHsatapUSfPLmXkrJfoeUfF6/t - 5fAnil03YfSpkGVI561yfwDvIR8FdEtvm3rLcHocf8fMh617nqmlafrtzd6P - qsIuLO8tDFLGSQGRmwRkEH8jVS38OaL4U8OQ6F4etRZ2FvIDHEpZgu9y7csS - eWJPWso5jBYB4Sz5nNS8rJNfeayy6bzBYu65VBx87tp/doYnxJ8XWOjeAPEG - o5dXjsp1TKkDzHQogz7sRX5B198/tcePYrbSbL4e2MgM94y3V2AfuxIf3an/ - AHn+b/gI9a+GtE0i81/WLLQ9PXfc380cEY/2pGCjPsM8+1frvh3gXh8DKvU0 - 53f5L+mfkHiLj1iMfHD09eRW+b/pH6S/s+RRaN8ONA88MGlgmlb5T/y1nd1I - 9tmK9o1XU7W4sZIo924leqkDgg03R9KttCk07RLPiDT7CO3j/wByLCj9BWnr - n/INl+q/+hCvxfMsV7fEVK38zb+9n7VluF9hh6dH+VJfcrB/bVl/t/8AfBry - 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 - jmQxKCnmrwM9c9KNVutRkhiE1j5QEqEHzVbJB4HA7+tAGp/ZM3/P/cf99D/C - svRtOkn0+ORbuaIEt8qsABhj7VqfbtX/AOgZ/wCRk/wrL0a61GPT40gsfOQF - sN5qrn5j2NAANOk/thoPtk2RAG37vm+9jGfSjV9OkhtN7Xk0g3oMMwI5PXpQ - LrUv7YaT7D+98gDZ5q/d3dd3T8KNXutSktNs9j5S70+bzVbnPAwPWgDU/smb - /n/uP++h/hWXpOnSTWhdbyaMb3GFYAcHr0rU+3av/wBAz/yMn+FZek3WpR2h - WCx81d7nd5qrznkYI7UADadJ/bCwfbJsmAtv3Dd97GM46Uaxp0kGnySteTSg - FflZsg5YChrrUf7YWQ2P73yCPL81fu7uu7p+FGsXWpSafIk9j5KErlvNVsfM - OwoA1P7Jm/5/7j/vof4Vl6Vp0k0MrLeTR4lcYVgM4PXp1Nan27V/+gZ/5GT/ - AArL0q61KOGUQ2PmgyuSfNVcEnkc+nrQAS6dINWhh+2TEtGx37huGD0HHSna - vp0sOnTSteTSBQPlZgQeR14pst1qR1aGQ2OJBGwCeavIzyc9Kdq93qUmnTJP - YeUhAy3mq2OR2AoA0E0mYop+33HQfxD/AArN0vTpJRdYvJo9k8i/KwG7GOTx - 1NaSXur7RjTc8D/lsv8AhWbpl1qKC68mx83dcSFv3qrtY4yvPXHrQAXGnSLq - lrCbuZi6udxYblwO3HepdT02WGwnkN5NIFXO1mBB+vFRXF1qJ1S1kax2yKr7 - U81TuBHPPQYqXU7vU3sJ0msPKQry3mq2PwAoAtQ6VK0MbfbpxlQcBhjp9Koa - dp0ksl4BeTJsmZTtYDdwOT71fhvdWEMYXTdwCjB85Rnj6VQ0661JJLwxWPmF - pmLDzVG04HHPX60AF1p0ialYxG8mYyebhiwyuFzxx371PqGmSxWM8hvZ3Cox - 2swweOh4qC6utSbUrF3sdsi+bsTzVO7K8844xU+oXmqPYzrLp/loUYFvNU4G - OuMc0AS2ulyvawuL6ddyKcBhgZHQcVTsdOkkur1BdzJ5cgBIYZbjqeKuWt5q - q2sKpp29QigHzlGRjrjFU7G61FLq9aOx3s0gLDzVG046Z70AF7p0kd7ZIbuZ - zIzAEsMrgduKt3mlyx2c7m9ncLGxwWGDgdDxVS9utRa9smksdjKzbV81TuOO - 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 - MUHVbf8AtkXOyTb5GzGw7s7s9PSjWNVt7mweJEkBLKcshA4YHrQBqeVr3/Pa - D/vlqy9Jj1c28n2eWJV8x87lJOc81qf25a/88pv+/ZrL0nVbe3t5EdJCTK7f - KhPBNAA8er/2vEDLF53lNg7Tt25/nS6xHq406Y3MsTR8ZCqQfvDpSPqtudXi - uNkm1YmXGw5yT6Uusarb3OnTQpHIGbHLIQOGB60AaQi17A/fQf8AfLVmaXHq - 5S4+zyxKPPfduUn5u+PatMa5a4H7ub/v2azNL1W3gS4DpId87sMITwfX3oAJ - o9X/ALVtg8sXmlH2kKdoHfNSarHrA0+c3EsLR7fmCqQevao5tVt21W2nCSbU - RwRsOefQVJqurW8+nzwpHKCy4BZCB19aALkUeu+Um2aDGBj5W9Kz9NTVy935 - EsQInbfuU8txnHtWhFrdqsSKY5uFA/1Z9Kz9N1W3he7LJIfMnZhhCeDjr70A - FzHq41OyEksRlIk2EKcDjnNT6jHrIsZzPLCY9h3BVOce1QXOq276lZThJAsQ - kyChydw7DvU+o6xbTWM8SxyguhAJQgfiaAJraPXDbxFJoQuxcZU5xiqVhHq5 - uLzyZYgwk+fKnBOO1XbbWrVLeJDHLlUUcIccCqVhqtvFcXjskhEkm4YQnHHf - 0oALxNXF/YiWWIyFn2EKcD5ec1Zvo9aFlcGWWEp5bbgFOcY5xVa81W3kv7GV - UkAiZyQUIJyuOB3qzfazbS2VxEscoLxsBlCByO9AC2UetmzgMU0ITy12gqc4 - xxmqtlHq5vb0RSxBwy7yVOCccYq1ZazbR2cEbRykpGoOEJHAqrZarbx3t7Ky - SESspACEkYGOfSgAvk1cXNmJpYixkOzCnAOO9XLqPWxbTGSaErsbOFOcY5qn - farby3Nm6pIBHIScoQTx29auXWtW0ltMgjlBZGHKHHIoAi0+PWjYwGGWER7F - 2gqc4x3qC1j1c6lfCOWISjyt5KnB+XjH4dan0/WLaGxgiaOUlEUHCEjgdjUF - rqtvHqV9MUkKy+VgBCSNq45HagA1FNXEln58sRJmXZtU8N2z7Vfmj1zyZN00 - BXac4VumKoajqtvNJZlUkHlzKxyhGQPT1NX5tbtWhkURy5Kkf6s+lAFXTI9Z - NhAYJYVj2/KGUk496igj1f8AtS6CSxCUKm4lTgjHGKl0zV7eCwgheOUlVwSE - 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 - WLtnOGYdGI6A0iaPYnV5bYq3lrErAbmzkn1zQI1Nc/49Yv8ArtH/ADrZrktV - 0ixt7dHiVgTIinLMeCeeprU/sDTP7jf99t/jQAaB/wAgxP8Aef8A9CNIP+Ri - P/Xr/wCz1maPo9jc2KzSqxYsw4Zh0YjsaP7Isf7ZNrtby/I343Nndux1zmgD - T1//AJBrf76f+hCtquS1jSLG2sjLCrBgyjlmPUgdzWp/YGmf3G/77b/GgA0L - /jzf/rrJ/Oh/+Q/F/wBe7f8AoVZek6RY3Ns0kqsSJHHDMOAeOhofSLEavHbB - W8swlsbmzndjrmgDU8Q/8ge4/wCA/wDoQrZrktZ0ixtdNmnhVg67cZZj1YDo - TWn/AGBpn9xv++2/xoANE/1Nz/18Sfzon/5Dtr/1yeszStIsbiOdpVYlJnUY - ZhwOnQ0TaRYrq1vbBW2PG5PzNnI980Aa+u/8gm5/3R/MVpQ/6pP90fyrmdW0 - ewttPmniVg6AYyzHuOxNXo9B01o1Yo2SB/G3+NAD9H633/X1J/Si7/5DNh/u - y/yFZem6RYzm78xWPlzui4ZhwMY70XOkWKanZwKrbJRIW+Zv4RxzmgDb1n/k - F3P+4at2v/HrD/uL/Kuf1PRbCCwnmjRgyKSMux/rVi30LTngjdkbLKCfnbuP - rQBLpX/HxqH/AF3P8qL/AP5Cum/WX/0GszT9IsZprxZFYiKUqvzMOMfWi70i - xj1CxhRW2SmTd8zfwrkd6AN/VP8AkG3X/XJ/5U+w/wCPG2/65p/6CKxr/RNP - hsp5Y0YMiMR87HkD606z0PTpLSCR0Ys6KT87dSPrQBZ03/j/ANR/66L/AOg0 - al/x/ad/10b/ANBrLstIsZbu9jdWKxOoX5mHBGfWi+0exiu7KNFYLK5DfMx4 - A+tAHRX/APx43P8A1zf/ANBNR6X/AMg21/65r/Ksy70PTorSaREbciMR87dQ - PrTLDRNPmsYJZEYs6KT87Dkj60AW7D/kLal9Yv8A0Gl1X/j40/8A67j+RrLt - NIsZNRvoHVtkJj2/M38S5POeaNQ0exhms1jVgJZQrfMx4x9aAOmuv+PaX/cb - +VVNG/5Bdt/uCqU+hackEjqjZVSR87dh9ar6ZothPYQTSIxZ1BOHYf1oAvWn - /Iav/wDdi/kaTWeth/19R/1rMt9HsX1O7gZW2RrGV+Zv4hzzmjU9Isbc2nlK - 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 - WfnmDPnLs27vvds57VfmHiDyZN5ttu05xvzjFUNR1eynks2jLYimVmypHA/C - r82u6c8MihnyVI+43p9KAKmmDW/sEH2c2/l7fl3b92PfHFRwDWf7Uuthg87a - m/O7bjHGO/1qTTNZsbewghkZgyLg4Rj/AEqODV7JNUurhmbZIqAfKc8DnigA - 1Mazi1+0G3/18ezbu+/zjOe3rWi48Q7Tk2uMH+/Wdqer2VwLXyyx8ueNzlSO - BnNaL69pxUgM/I/uN/hQBn6QNa/s6H7KbfysHbv37up644pI/wC2f7Wm2mDz - vLXdndt254x3zS6RrFjbadDBKzB1BzhSR1J6gUker2S6tNcktsaNVHynOQfT - FABqv9s+TF9pMG3zUxs3Z3Z4zntWnjxF62v/AI/WZqur2VzDEkRYlZUY5Ujg - HntWn/b+m/3n/wC+G/woAzNHGs/2fH9lNv5WWxv3bvvHOccdaANZ/thsG38/ - yB/e2bd355zRo+r2Vrp8cMxYMpbOFJ6sT2FA1ey/thrrLeWYAn3TnO7PSgA1 - f+2fsg+1GDZvT7m7Oc8da08eIvW1/wDH6zNX1eyubTy4ixbeh5UjgH3Faf8A - b+m/3n/74b/CgDM0j+2fsh+ymDZvf7+7Oc89KG/tn+2FyYPP8g4+9s27vzzm - jSNXsra0McrMG3ueFJ4J9hQ2r2R1hbrLeWICn3TnO7PTFABrA1n+z5PtRt/K - yudm7d94YxnjrWnjxF62v/j9ZmsavZXWnyQwlizFcZUjowPcVp/2/pv95/8A - vhv8KAMzShrPky/Zjb7fNfO/dndnnGO3pXifjv7T/wAJNdfa9nm7Y87M7fuD - GM817ZpWr2VvDKspYFpXYYUngnjtXifju5iu/E11PCSUZY8ZGDwg7GgqJ3nh - r+0P+EJXb5X2XL5zu8z/AFn5da9BQeIdowbXGB/frz7w1f2y+CVsiT5pL8bT - j/WZ69K9BTXtOCgFn4A/gb/CgTM7TBrOLr7Obf8A18m7du+/xnGO3pRONZ/t - S13mDztr7MbtuMc57/SjTNXsrcXXmFh5k8jjCk8HGKJ9Xsn1S1uFZtkauD8p - zyOOKBEmpjW/sE/2g2/l7fm2792PbPFW4R4g8mPYbbbtGM784xVTU9Zsbiwn - hjZizrgZRh/SrcOu6ckMalnyFA+43p9KAKGnDWfMvPIMGfObfu3fewOmO1F0 - NZ/tKx8w2/m/vfLxu2/d53d+nTFGnavZQSXbSFsSzMy4Ungge1F1q9lJqVjO - pbZF5u75Tn5lwOMc0AT6gNc+wz+ebfy9jbtu/OMds1LajXvssPlG22bF2535 - xjjNRahrVhNYzwxs250YDKMOSPpUtrrmnx2sMbM+VRQfkbqB9KAKdiNZ+03n - km33+YN+7djOO2O31ovRrP22y802/mbm2bd2M453Z/pRY6vZQ3N5I5bEsgK/ - KTxii91eylvbKVGbbEzFvlPcYoAtXg177HP5pttnltu2784xzjPeksRrv2K3 - 8k23l+Wu3dvzjHGcd6W81uwls54kZtzxsB8jDkj6UljrdhDZW8Ts25I1B+Rj - yB9KAK1n/bP2698oweZlPM3btudvG3+uaL/+2ftFn55g3eZ8m3djdjvnt9KL - PV7KK+vZnLbZShX5T2XB7UX+r2U1xZvGWxFJubKkcY+lAF25Gv8A2eXzDbbd - jZxvzjHOKg04a59gg+zm38vYNu7fux74qe51zT5LeVFZ8sjAfI3cfSoNO1qw - gsIIZGbciAHCMf6UAQ2w1n+0r3yzb+biPfndt6cbe/1zRqQ1ndafaDb589dm - 3d97nGc9qLbV7KPUr2di2yUR7flOflGDxijUtXsp2tDGWPlzq7ZUjgZoAvyj - xB5T7ja4wc435xVPSxrf9nwfZjb+Vt+Xfv3Yz3xxVyXXdOaJ1DPkgj7jf4VT - 0rWbG30+CGVmDIMHCE9/XFADIf7Z/tW52GDztibs7tuO2O9GqDWdlv8AaTBj - z027N33u2c9vWiHV7JNVubgs2x0QD5TnI9sUapq9lcJbiIsdk6OcqRwOvagD - SI8Q4PNr/wCP1naONa/s6H7Kbfyudu/du+8euOOtaJ1/TsH5n/74b/CsnTte - 0zTdIQ30vkrArM7MCFUAkklugAHegGyRBrP9ry4MHn+UufvbdueMd81+WH7c - Gu6lqHxWsdFvWTZpWnRALHnaHnd3Y89yu0fhX194x/a/+D3hLV7hrG7m8QTC - IRhbBAyBge8rlUI91LV+afxw+J1v8XfiDdeNLXT20yOeKGIQvIJW/dLt3EhV - Az6Y49a+64SyqvDEe2qQajZ2ufnnGmcYeeG9hSqJyurpa6fkeQ0UUV+lH5UF - FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFfqX+xf4q1LVvhPrPhgyRtFoN2xAb - dvWG7G8Be3+sWQ/jX5aV94fsOaoLXUvGuluSFu7O2cADILRO4Gf++zXznFdF - TwM2+ln+J9TwbXcMwgl1uvwv+aP04txr/kR7DbbdoxnfnGO9UtP/ALZ8688g - wbvNO/duxux2x2q7b67p6QRozPlVAPyN2H0qlp+r2UM148hbEspZcKTxj6V+ - PH7eF3/bP9oWPmm383Mnl43bfu87u/TpirF+Nd+xT+cbby9jbtu/OMc4z3qv - d6vZS6hYzIW2xGTd8p7rgcVYv9bsJrKeJGbc6MBlGHJH0oAfaDXvskPlG22b - F2535xjjPvVSyGs/a73yTb7967927Gccbcf1q3aa5p8dpDG7NuRFB+RuoH0q - pZavZRXd7K5bbK6lflJ4Ax6UAF9/bP2uy84wb97bNu7Gcc7s/wBKt3Y177JN - 5pttmxt2N+cY5x71UvtXspruykRm2xOxb5SOCPpVu71zT5LSaNGbc6MB8jdS - PpQAywGu/YYPINt5exdu7fnGOM471XtBrP8AaF95Rt/NzH5md237vG3v065q - xYa3YQ2METs25EUHCMeQPpVe01eyj1C+mcttlMe35T/CuD2oANQGs+dZ+eYN - 3mjZt3Y3Y757VenGv+RJvNtt2nON+cY7VR1DV7KaazaMtiKUM2VI4x9KvT67 - p7wSIrPllIHyN3H0oAraaNc+wQfZzb+XtG3dv3Y98VFbjWf7Tu/LMHnbY9+d - 23GOMd/rUum6zYwWEEMjNuRQDhGP9Kit9Xsk1O7uGLbJVjC/Kc/KOeMUAGpj - Wc2n2gwf69Nm3d9/nGc9vWtCQeINjbja4wc/frP1PV7K4Np5ZY+XOjtlSOBn - NaEmvacUYBn5B/gb/CgClpQ1r+z4fsxt/Kwdu/fu6nrjimRDWf7Vn2mDzvLT - dndtx2x3zT9K1ixttPhglZgyA5whPc9wKZFq9kuqz3BLbHjQD5TnI9qADVBr - PlwfaTBjzk27N33s8Zz29a08eIvW1/8AH6zNU1eyuI4FiLEpMjHKkcA89q0/ - 7f03+8//AHw3+FAGZo41n+zofsht/K+bG/du+8c5xx1oUaz/AGw+DB5/kjP3 - tm3d+ec0aPq9la6dDBMzB13ZwpI5YnqBQur2Q1h7olvLMIX7pzndnpigA1b+ - 2fsq/ajBs8xPubs5zx17Vp48Retr/wCP1matq9lc2qxxFiRIh5UjgH3rT/t/ - Tf7z/wDfDf4UAZmkDWfsQ+ym38vc/wB/dnOTnpRjWf7ZHNv5/kf7WzZu/POa - NI1eytrIRSswbcx4UnqSe1H9r2X9si6y3l+Rs+6c53Z6UAGsf2z9hf7UYPLy - udm7dncMda08eIvW1/8AH6zNY1eyurF4YixYlTypHRge4rT/ALf03+8//fDf - 4UAZmlf2z9nk+zGDb5j537s7s89O1En9s/2vFuMHn+U2Pvbduec980aTq9lb - W8iSlgTI7DCk8E8dqJNXsjq8VyC2xYmU/Kc5J9MUALrA1r+zpvtRt/K43bN2 - 77w6Z461ogeIcDBtf/H6ztY1iyudOmgiLF2xjKkDhgepFaI17TgANz/98N/h - QBm6YNZ23H2c2+PPfdv3fe74x29KJhrP9qW282/nbH243bcd896NM1eyt1uR - KWG+d3GFJ4PSibV7J9UtrgFtkaOD8pzk+2KAH6oNb/s+f7SbfytvzbN+7Ge2 - eKuRDxB5SbTa4wMZ35xVPVNZsbjT54Ymbc64GUYd/pVyLXdOWJFLPkAD7jf4 - UAUNNGs77v7OYM+e2/du+9xnGO1FyNZ/tKy8w2/m4k2Y3benO7v9MUabq9lA - 92ZCw8ydnXCk8HHtRc6vZSalZTqW2RCTd8pz8wwOMUATaiNc+wz+ebfy9h3b - d+7Htmp7Ya/9ni8s223YuM784xxmoNR1qwnsZ4Y2bc6EDKMP6VPba5p8dvEj - M+VRQfkbqB9KAKVgNZ+0XnkGDd5nz7t2N2O2O31ovBrP26y80weZufZt3bc7 - ed34dMUWGr2UNxeO5bEsm5cKTxj6UXmr2Ut9ZTIW2xM5b5T3XHpQBZvhrv2K - 48423l+W27bvzjHOM96WyGvfY4PJNt5flrt3b84xxnHekvtbsJrK4iRm3PGw - HyMOSPpS2Wt2EVnBE7NuSNVPyMeQMelAFWyGs/bb3yTB5m5d+7djOONuP60X - w1n7TZ+cYN/mHZt3Yzjvnt9KLLV7KK9vZXLbZWUr8p7DHpRfavZTXNnIhbEU - hLfKRxigC5dDX/s03mG22bGzjfnGOcVFp41z7DB5Bt/L2Lt3b84x3xUt1rmn - yW00as+WRgPkbqR9Ki0/WrCGxghkZtyIoOEY8gfSgCC1Gs/2lfeWbfzf3XmZ - 3bfu/Lt79OuaNR/tnzLPzzBnzl2bd33u2c9qLXV7KPUr6dmbZL5W35Tn5Vwe - MUajq9lPJZtGWxFMrNlSOB+FAF+YeIPJfebbbtOcb84xVTSxrf8AZ8H2Y2/l - bfl3792PfHFW5td054ZFDPkqR9xvT6VU0vWbG30+CGRmDIuDhGP9KAI4BrP9 - qXWw2/nbU353bcY4x3+tGpjWcWv2g2/+vj2bd33+cZz29aINXsk1S6uGZtki - oB8pzwOeKNT1eyuBa+WWPlzxucqRwM5oA0XHiHacm1xj/brP0ga1/Z0P2U2/ - lYO3fv3dT1xxWg+vacVIDPyP7jf4Vn6RrFjbadDBKzB1BzhSR1J6gUAJH/bP - 9rTbTB53lruzu27c8Y75o1X+2fJi+0mDb5qY2bs7s8Zz2oj1eyXVprkltjRK - o+U5yD6Yo1XV7K5hiSIsSsqMcqRwDz2oA08eIvW1/wDH6zNH/tn+z4/sht/K - y2N+7d9456cda0/7f03+8/8A3w3+FZmj6vZWunxwzFgyls4UnqxPUUAAGs/2 - w2Db+f5A/vbNu7885o1Yaz9k/wBKNvs3p9zdnOeOtA1eyGsNdZbyzAE+6c53 - Z6Uatq9lc2nlRFi29DypHAOe4oA08eIvW1/8frM0kaz9kP2UwbN7/f3Zznnp - Wn/b+m/3n/74b/CszSdXsra0McpYNvc8KTwT7CgAYaz/AGwuTB5/kHH3tm3d - +ec0awNZ/s+T7UbfysrnZu3feGMZ460Nq9kdYW6y3liAp905zuz0xRrGr2V1 - p8kMJYsxXGVI6MD3FAGnjxF62v8A4/WZpQ1nyZfsxg2+a+d+7O7POMdq0/7f - 03+8/wD3w3+FZmlavZW8MqylgWldhhSeCeOgoAJRrP8Aa0O4wed5bbcbtu3P - Oe+adqw1r+zpvtRt/KwN2zfu6jpnimy6vZNq0NyC2xY2U/Kc5J9MU7VtYsbn - TpoIixdgMZUjuO5FAF9B4h2jBtcYH9+s7TBrOLr7OYP9fJv3bvv8Zxjt6Vop - r2nBQCz8AfwN/hWdpmr2VuLrzCw8yeRxhSeDjFABcDWf7Utd5g87a+zG7bjH - Oe/0qTUxrf2Cf7Qbfy9vzbd+7Htnio7jV7J9UtbhS2yNXB+U55HHGKk1PWbG - 4sJ4Y2Ys64GUYf0oAtwjxB5Mew223aMZ35xiqGnDWfMu/INvnzjv3bvvYGcY - 7Vfh13TkhjUs+QoH3G9PpVDTtXsoJLxpC2JZmZcKTwQPagAuhrP9o2PmG383 - 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 - cZ7j0NAHT3H/AB7y/wC638qo6L/yCrb/AHf61Vm0WJYXb7TcHCk8ycdPpVTS - 9Jjn0+CY3EyllzhZMAfQYoAv2v8AyGr3/ci/lRrPSy/6+ov61mQaVG+qXUHn - zAIqHIf5jkdzijU9KjgFrieZt88afM+cZzyPQ+9AHVv9xvoaytB/5BFv9D/6 - EaifRIgpP2m44H/PT/61Z+kaVHcadDM08yFgeFfAHJ6DFAGlD/yHrj/rin86 - Nc/494P+u8f86zI9LjbVprfz5gFjVt2/5jk9CfSjVdLjt4YmE8z7pUX5nyOT - 16daAOtrF8P/APIKi+r/APoRo/sSL/n5uP8Av5/9aszR9LjudPjmaeZCS3CP - gcMR0oA01/5GB/8Ar2H/AKHRr3/Hh/20T/0KswaVH/bDW/nzYEAbdv8Am+9j - GfSjVtKjt7TzBPM53oMM+RyaAOtrF0H/AI8T/wBdJP8A0Kj+xIv+fm4/7+f/ - AFqzNJ0qO4tDIZ5k+dxhXwODQBpt/wAjAn/Xsf8A0Ol8Qf8AIJm+qf8AoQrL - bSoxrC23nzYMBbdv+b72MZx0o1jSo7fT5Jlnmcgrwz5HLAdMUAdbWNon/HvP - /wBd5P50n9iRf8/Nx/38/wDrVmaVpUc8MrGeZdsrr8r4zg9Tx1oA1Jv+Q7b/ - APXF/wCdO17/AJBNx9B/6EKyZNKjXVobfz5iGjY7t/zDB7H0p2raVHb6dNMJ - 5nKgcM+QeR1GKAOpT7i/QVj6L0vv+vqX+lNTRIioP2m45A/5af8A1qztM0uO - cXWZ5l8ueRPlfGcY5PqfegDTuv8AkN2P+5L/ACqfWv8AkFXP+5WLcaXGmqWs - AnmIkVzkv8wwOx7VJqekxwWE8ouJmKrnDSZB+oxQB0dv/wAe8X+6v8qzNJ/1 - 1/8A9fDfyFRQ6LE0MbfabgZUHiT2+lUNO0qOaS8BnmXy5mX5XxnAHJ9TQBqX - 3/IX0z/tt/6BVnVv+QZdf9c2/lWFdaVHHqNjCJ5iJfNyS+SNq54OOPep9Q0i - OGxnlFxOxRGOGkyDgdxigDcsf+PK3/65p/IVn6Z/x+6j/wBdR/KoLXRopLWG - Q3E43IpwJMAZHbiqdjpcct1eoZ5l8uQAEPgnjvxzQBp6j/yEdO/33/8AQava - j/yD7n/rk/8A6Ca5690uOK8soxPMwlZgSXyRgdj2q1eaPFHZzyC4nJSNjgyZ - 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 - PNa/9uaT/wA/C/kay9I1bT7e0Mc0wVt7nGD0J4oAY02q/wBsKxt4/O8ggLv4 - 27uufXNGsTas2nyLc28aR5XJD5P3hjj609tV086ytz5w8oQFd2D97dnFGs6t - p9zp0kMEwd2K4AB7MDQBofaNd/59Yv8AvuszSptWWGUW9vG4Mrk5fGGzyK1/ - 7c0n/n4X8jWXpOq6fbwzLNMFLTOw4PQng0AMlm1b+1oWa3jEojbC7+CM8nNO - 1abVm06Zbi3jSMgZIfJHI7Usuq6e2rw3AmHlrEyk4PUmnavq2nXGmzwwzhnY - DAweeRQBcSfXNoxaxYwP46ztMm1VRdeRbxvmeQtl8YbjIHtWqmuaUEUG4XoO - xrN0vVdPgF35swXzLiR14PKnGDQAy4m1U6pas9vGJQr7V38EY5yak1ObV2sJ - 1nt40jK8kPkgfSkuNV099VtJ1mBjjWQMcHjI4qXVNX02fT54YpwzsuAMHmgC - eGfWxDGFtYiNowd/bFUNOm1ZZLzybeNiZmL5fGGwOBWlBrelLDGrXABCgHg+ - lUNN1bT4ZbxpZgokmZl4PIIHNADLqbVjqNi0lvGJB5uwB+D8vOT2wKn1CbWG - sZxNbRqhRtxD5IGKju9W0+TUrCZJgUi83ccHjcuBU+o6xps1hcRRzhndGAGD - ySKAHWs+tC1hEdtGVCLgl+oxxVOxm1UXV6YreNmMg3gvjBx2q/aa1pcdrDG9 - wAyooIweoFU7DVdPiur2SSYKssgKnB5GKAGXs2qm8sjLbxq4ZtgD5BOOc+lW - ryfWTZziW2jVDG24h8kDHNQX2q6fLe2MscwKxOxY4PAIq3e6zpktnPHHcAs8 - bADB5JBxQBFYz6yLK3EVtGyCNdpL4JGOKrWc2rC/vTHbxtISm8F+B8vGPWrl - hrOmRWNvFJOFZI0BGDwQOarWeq6fHf30rzAJKU2nB5wuDQAy/m1Y3FmZreNW - EnyAPnJx0NXbmfWjbyh7aMKUbJD9Biquoarp81xZPHMGEcu5uDwMVduda0t7 - aVFuAWZGAGD1IoAq6dNrC2EAht42jCDaS+CRUNtNqo1O8ZLeMykR7wX4HHGD - VnTdY02GwgilnCuiAEYPBqG11XT01S9neYBJRHtODztHNADNSm1ZmtPOt41I - nUrh85bnAPtWhLPrflvutYgMHPz1S1PVdPmazMUwby50ZuDwozk1oS63pTRO - ouFyQexoAz9Km1ddPgW3t43jA4JfBPPpXk/xHa5fUoGukEcm08KcjHHevW9J - 1fTrfToIZpwrquCMHjmootT0z+1rieSVTG6IFJBPI60DTPKPArTiK58pAw8+ - 2PJx8w37R9DzXtBn1zB/0WL/AL7rO1PU9MlS3FvKp2Txs2AR8ozk1qnXNJwf - 9IX8jQDMrR5tWXToVtreN4xnBL4J+Y9qRJtW/teRhbx+cYlyu/jbnrmpNG1b - TrbTYYZ5wjruyMHuxNImq6eNYluDMPLaFVBweoPSgQzVZtWa3QXFvGi+YmCH - zzngVp/aNd/59Yv++6z9W1XT7i3jSGYMRKjHg9Aea1P7c0n/AJ+F/I0AZGkT - astiotreN03Ngl8H7xzR52q/2yX+zx+d5GNu/jbu659c0/RtW0+2sFinmCOG - c4we7E0f2rp/9tG584eV9n2bsH72/OPyoAZq82qtZEXNvGibl5D5Oc8Vp/aN - d/59Yv8Avus/WdV0+5sTFBMHbchxg9iM1qf25pP/AD8L+RoAyNJm1ZbZhb28 - br5j8l8c55oabVv7XRjbx+d5JAXfxt3dc0/SNW0+3tWSaYKxkc4wehPFD6tp - 51iO4Ew8sQlS2D13ZxQAzWJtWbTZlubeNIztyQ+SPmGOPrWn9o13/n1i/wC+ - 6z9a1bT7nTJoYJg7ttwAD2YGtT+3NJ/5+F/I0AZGlzaqsc/2e3jcGZy2Xxhu - 4omm1U6rbs1vGJRG+1d/BHfmn6TqunwRziaYKXmdhweQehom1XT21e3uFmBj - SNwTg8E9KADVZtXbT5luLeNIyBkh8kcjtV2OfXPLXbaxEYGPnqrq+radcadP - DDOGdgMDB55FXo9b0pY1BuFyAOxoAy9Nm1ZTd+Rbxtmdy2XxhuMge1FxNqx1 - OzZ7eMSgSbFD8HjnJp+marp8Bu/NmC+ZcO68HlTjBoudV099Us51mBjjEm44 - PGRxQA7UptYawnE9vGsZU7iHyQKsW8+tiCMJbRldowd/bFRanq+mz6fPFFOG - d1IAweTVm31rS0t4ka4AKqoPB6gUAZ2nzaqs14YbeNmMpL5fGGx0FF3Nqp1C - xaS3jEgMmwB+D8vOT2p+narp8M960kwUSSll4PIx1ovNV0+TUbGZJgUiMm44 - PGVwKAJb+bWWspxLbRqhRtxD5IGOafaT60LSER20bIEXBL8kY4pdQ1nTJbG4 - ijnDM8bADB5JFOs9Z0yO0gje4AZUUEYPBAoAo2U2rC7vTFbxs5dd4L4AOO3r - RfTasbuyMtvGrhzsAfIJx3p9jqunxXl7JJMAsrqVODyAKL7VtPlu7KSOYMsT - kscHgYoAsXc+tG0mEltGEKNkh+QMc0ywm1hbGAQ20bIEXaS+CRiprzWdMktJ - 40uAWZGAGDySKZp+saZDY28Uk4V0RQRg8ECgCpaTaqNRvmjt4zITHvBfgfLx - g96NQm1ZprMzW8akSjYA+ctjoafZ6rp8eo38zzAJKY9pwedq4NGo6rp801m0 - cwYRzBm4PAx1oAtzz62YJA9tGF2nJ39sVW02bWFsIBBbxtGFG0l8Eirtxrel - vBIi3AJZSBwe4qrpmr6bBp8EUs4V0UAjB4NAFe3m1YandslvGZSse5S/A44w - aNTm1VjaefbxridCuHzlucA+1Pt9W09NUvJ2mAjkWMKcHnA5o1TVdPnNp5Uw - by7hHbg8KM5NAF2SfXNjZtYsYP8AHVHSZtWXToVt7eN4wDgl8E8ntWlJrmlG - NgLhckHsaoaRq2nW+nQQzThXUHIweOTQBFFNqw1Wdlt4zKY13Lv4A7c0apNq - zRwefbxoBMhGHzls8Cnw6tp66tcXBmAjeNADg8kdaNV1bT54oFhmDFZkY8Hg - A8mgDQ+0a7/z6xf991maPNqy6dCttbxvGN2CXwT8xzx9a1/7c0n/AJ+F/I1l - 6Lqun22mwwzzBHXdkYPdiaAGLNqv9sOwt4/O8kArv427uuaNWm1VrVRcW8aL - 5ich8854p6arp41l7kzDyzCFDYPXdnFGr6rp9xarHDMGYSIcYPQHmgDQ+0a7 - /wA+sX/fdZmkTaqtmBbW8bpufkvg5zzWv/bmk/8APwv5GsvR9V0+2shFPMEb - e5xg9CeKAGGbVf7ZDfZ4/O8jG3fxt3dc+uaNYm1ZrBxc28aR5XJD5P3hinnV - dP8A7aFz5w8r7Ps3YP3t2cflRrOq6fc2DxQTB3JXjB7MDQBofaNd/wCfWL/v - uszSptWWCQW9vG6+a+SXxznkVr/25pP/AD8L+RrL0nVdPt7eRJpgpaV2HB6E - 8UAMkm1X+14mNvH53lMAu/jbnrml1ibVm06Zbm3jSM4yQ+SOR2p0mq6edYiu - BMPLWJlJwepPSl1nVtOudNmhgnDu23AwezA0AXhPrmBi1i/77rN0ubVlW58i - 3jcGdy2Xxhu4HtWsuuaSFA+0L+RrM0vVdPgW5EswXfPIw4PKnoaAGTTasdUt - ma3jEoR9q7+CO/NbNvNqzTKtzbxpGc5IfJHHpWTPquntqttOswMaI4Y4PBPS - tmDVtOuZVhgmDu3QYPbmgDRooooAKKKKACiiigAooooA/9f937SNDrN+CowF - i7e1LrEcYNjhQM3Mfb61nW+ml9Tu4ftc6+WsfzB/mbI7nHOO1GpaaYTaf6XO - ++dF+Z84znkccEUAdNLFH5b/ACDoe1ZuhxxnSrclQTtPb3NMk0ghGP265OAf - +Wn/ANaqOk6YZ9Phl+13Ee4H5UfCjk9BigC9BHH/AG3cjaMeUnajWo0ENvhQ - P9Ij7e9Z0WmltVnh+1zjbGp3B/mOexOOlGqaaYY4D9rnk3TIvzvnGT1HHUdq - AOq8qL+4PyrF8PxodItyVBPz9v8AaNSf2Of+f66/7+f/AFqy9G003Gmwzfa5 - 4t275UfCjDEcDFAGgkaf2/INox9nHGP9ql1yOMWaEKB+9j7e9Zy6aTrDwfa5 - +IQ2/f8AP97pnHSjVtNMFsr/AGueTMiDDvkcnr060AdV5UX9wflWNoMaHTwS - oJ3v2/2jT/7HP/P9df8Afz/61ZekaaZ7ISfa54/mYYR8DgntigDRMcf/AAkA - G0Y+zdMf7dJr8aDTHIUA7k7f7QrPOmn+2Rb/AGuf/Ubt+/5/vYxnHSjWNNNv - YPL9rnkwy/K75Xlh2xQB1XlRf3B+VYuhxobWXKg/vpO3vUn9jn/n+uv+/n/1 - qy9J00z28jfa548SOMI+AcHr060AaMkcf9uwjaMeQ3b/AGqXXo4xpNwQoBwv - b/aFZr6aRq8UH2uc5iZt+/5hz0Bx0pdY00wadNL9rnk24+V3yp+YdRigDqBF - FgfIPyrG0WNDHd5UHFxJ2+lPGjnA/wBOuv8Av5/9aszS9NMyXB+1zx7J3X5H - xnHc8dT3oA0LiNP7btBtGPLk7VLrccY0q4IUA7fT3FZU2mldVtoftc53o53F - /mGPQ4qTVdMMOnzy/a7iTav3XfKnnuMUAdDBHH5MfyD7o7e1ZWkRoZL/ACoO - Lh+30oi0gmJD9uuRlRwJOOn0rP03TTM92Ptc6bJ2X5Xxuxjk8cmgDRvI4xrG - ngKMETdv9kVY1aOMabckKAdh7VjXOmlNTsoftc7eYJPmL/MuB2OOM96n1HSz - FYzyfbLh9qE7WfIP1GKANq0jj+yQ/IPuL29qz9MjjN1qAKjib09qjttJL28T - /bbldyKcCTgZHbiqVhppluLxftc6eXJjKvgtx1PHJoA0NQjQanpwCjBaTt/s - 1c1KOMaddEKP9U/b/ZNYd5ppjv7GL7XO3mM/zM+WXC/wnHGas32lGOyuJPtt - y+2NjhpMg4HQ8dKANXT44zYWxKD/AFSdv9kVS0+NDqGogqMB07f7NQWWlGSz - gk+23K7o1OFkwBkdBx0qrZaaZL29j+1zr5bKMq+C2R/Ecc0AaOpRxi808BRz - Ke3tV+9jjFnOQg/1bdvaufvtNMdzZp9rnfzJCMs+SvHUccGrl1pJS2mf7bct - tRjgyZBwO/FAF7So4zptsSoJ8te3tVWyjjOr6kCowPJxx/s1W0/SzLYwSfbL - hNyKdqvgDjoBioLXTS+pX0P2udfL8r5g+GbK5+Y45x2oA0NWjQS2GFAzcL29 - jWpcRx/Z5fkH3W7e1c3qOmmKSzH2ud/MmVfmfO3PcccGr82kFYZG+3XJwpOD - Jx0+lAFjRo4zpdsSoJ2+lQ20af21ejaMBI+3tVPTNLM1hBL9suE3Lnar4UfQ - YqKDTS2qXUP2ucbFQ7g/zHI7nHbtQBo6zHGBZYUDNzF2+tazxR7G+QdD2rmN - T00wi1/0ud988a/M+cZzyOOo7VpPo5Ck/brrof8Alp/9agBdCjjOk25KgnB7 - f7RpkMaf27cDaMeSnb3qjpGmGfToZftdxHuB+VHwo5PQYpsemk6tNB9rnG2N - TuD/ADHJ6E46UAaGtxxi3hwoH7+Pt71teVF/cH5Vyuq6aYIYm+1zybpUXDvk - DJ6jjrWp/Y5/5/rr/v5/9agBmgRxnSoiVBOX7f7RoWOP+32G0Y+zDjH+3Wdo - +mmfT45ftc8eS3yo+FGGI6YoGmn+2Gt/tc/EAbfv+f72MZx0oA0NdjQWIIUD - 94nb3ra8qL+4PyrldX00wWgf7XPJ86DDvkcnr0rU/sc/8/11/wB/P/rUAR6F - GhsSSoP7x+3vQ0af2+g2jH2c8Y/26z9I00z2hk+1zx/O4wj4HB+lDaaf7YW3 - +1z8wFt+/wCf72MZx0oA0dfjjGlSkKAcp2/2hWz5UX9wflXK6xppg0+SX7XP - Jgr8rvlTlgOmK1P7HP8Az/XX/fz/AOtQAzRI4zBPlQf38nb3rwn4hAL4ruwo - wNsX/oAr2XStNM0Mrfa549srrhHwDg9Tx1NZd/4R0m91lEvPMmaaMszu2W+X - gc49KBpmd4YVf+FfhsDO5+e/+sr0xIo9i/IOg7VyN3oFrpGjyx2U0yxR8iMt - 8nLDPGK2U0clQft110H/AC0/+tQITRo4yL3Kg4uZe30ouY4/7ashtGCknb2r - O0zTTMLr/S502TyL8r4zjHJ46nvRPppXVLWH7XOd6udxf5hgdjjv3oA19Zjj - Gl3JCgHb6Vdt44/s8XyD7q9vasDU9LMNhPL9suH2rnaz5U/UYq1DpBaGNvt1 - yMqDgScdPpQA7So0M1/lQcXDdvYUXscf9r6aNowfO7f7NZ2naaZZLwfa508u - Zl+V8buByeOTRdaaU1Kxi+1zt5nm/MXyy4XPynHGe9AG1qscY025IUA+W3b2 - qayjjNlbkoP9Wnb2FY2oaWYrGeT7ZcPtRjtZ8g8dCMVLa6SXtYX+23K7kU4E - mAMjoOKAJdNjjN5qAKjiUdvajUI0GoacAowXft/s1nWOmmS5vE+1zp5cgGVf - BbjqeOTRe6aY72yj+1zt5jMMs+SuB/CccUAb2oRxiwuSEH+qft/smm6bHGdO - tSVH+qTt/sis290ox2c8n225bbGxw0mQcDoeOlJY6UZLK3k+23Cbo1OFfAGR - 0Ax0oAn0+NDqeogqMBo+3+zRqkaC60/CgZm9Pas+z00yX99F9rnXy2T5lfDN - lf4jjnFF/ppiuLNftc7+ZJjLPkrx1HHBoA6G7jj+yTfIPuN29qr6RHGdMtiV - BOwdqp3OklLeV/tty21GODJwcDvxUGm6WZbCCT7ZcJuQHar4UfQYoAt2ccZ1 - jUAVGAIe3+yaNXjjD2OFAzcp2+tZ1tppfU72H7XOvliP5g/zNkdzjnHajUtN - MLWg+1zvvnVfmfO3OeRxwaAOlnjj8mT5B909vas/RI4zpVuSoJ2+nuail0gr - E5+3XJwDwZPb6VT0rTDNp8Ev2u4j3L91Hwo57DFAFy3jT+27sbRjy4+1GtRo - I7TCgZuI+31rPh00tqtzD9rnGxEO4P8AMc+pxRqmmmFLc/a55N86L875xnuO - Oo7UAWfFPhLw54z0K78N+JrCO+0+8XbJG4/JlIwVYHkMCCDyDX5N/FT9kPxt - 4VgbxH4Eik8RaI+5vKjG69twCeGjA/eD/aQZ9VHU/rcdHOD/AKddf9/P/rVm - 6Pppn06GX7XPHuz8qPhR8x6DFevlWd18JL927rqnseJnGQYfGxtVVpLZrf8A - 4Y/nmkjkhkaGZSjoSrKwwQRwQQehFMr92PFvwU+HHj/VpYfFukx6hL5Qb7Qf - kuDk4x5ybXwOwzXh/iP9h/4Q7FuNPvNVsS0irtS4idAGP/TSJm/8er7vDcbY - aS/eRcX96/r5H55iuAcVF/upKS+5/wBfM/Jeiv1SP7AfgPJ2+JdTA7fJD/8A - E1Q039g7wNfWi3D+JNRUksMBIexx/drs/wBbsD/M/uZw/wCpWYfyL70fl5RX - 6h/8MHeBv7T+w/8ACSajt8nzM7Ic53Yx92jUv2DvA1lamdPEmosQyjBSHucf - 3aP9bsD/ADP7mH+pWYfyL70fl5RX6pf8MB+BP+hm1L/viH/4mqGnfsHeBryB - pX8SaipDsvCQ/wAJx/do/wBbsD/M/uYf6lZh/IvvR+XlFfqG37B3gYakll/w - kmo7WjL52Q5yDj+7RqX7B3gexspLqPxJqTMmMApDzkgf3fej/W7A/wAz+5h/ - qVmH8i+9H5eV9u/s8fsz/F+91jTfiCl8/gm3t2EkE8ibrqVD1CwHA2OOD5mA - QchWFfVXgn9lr4RfBm9k8d65eTau9gA0LX4jMUDg8OsaL80meFznB6Ddg1zn - j741a94okksNEd9M0vkAIcTSj1dh0B/uqcepNZPM62PvSwS93rKS09EupTy2 - hlqVbMJXn9mEXr6t9F/Wux9nz37aainUEd4gOZ40LAEf31XLL65wVGCSRwK5 - yTw58PfGSHUhZ2GqqxIM8Ox8nvmSPr+dfJHgz41eKvCkSWNzjVbCPhY5mIdA - OySckD2IYDsBXp8nxZ+EHiOQXfijw0r3eMF57SC4P0Dn5v0FfK1+Gcbh53pp - vzj/AJaM+vw3GOXYumlVaT/lmv11X6ns8fhT4eeEYzqjWFhpqRf8t5gi7f8A - tpJ0/OuktNUTUsNpyM8B589lKxn/AHM4L54IYDaR0YkYr50j+Knwa8Py/bfD - vhpFvFHyyQWcEDfjJww/I15z4x+OPinxNFJY6cBpFlJkMsTFpWB7NJgcf7oH - vkUqPDWNxE/fTXnL/LVjxHGGXYSD9k0/7sF+tkjxT9o/9mj4wXOuah8Q4NRf - xrDLlnCJ5d3bxL91FgXKsiDgeXz1JUcmvgoowfyyp3ZxjHOfSv1X8B/GPxF4 - Rkjs9QdtT0sYBikbMkY9Y3PTH908emOtfROn+Bvhd4mnl+JHhjSbNtVvQWa6 - SFBKZR13ZGVf+8RgnqSeDX0tbNMTl0OTEw5o/Za0Xo10/rc+XwuW4TNp+0wt - RwlvKMtX6p9f62Pzi+CH7InjD4gz2+u+N4pfD/h3IfEi7bu5XriONuUUj+Nx - 05UN1H6m+CfDeheFdNk8O+H7KOy0+wfy4YkHCqB6nJJJ5JJyTkkk1rwaQxgj - JvblcqOBJgDjp0qjp+mmWa8X7XOnlylcq+C3HU8cmvg82zqtjJXqaJbLofo+ - TZDQwUbU1eT3b3/4CNC/jQarpoCjBMvb/Zq3qccY066IUf6t+3tWJd6aY9Qs - Yvtc7eYZPmL5ZcL/AAnHGe9Wb/SjFZTyfbLh9qMcM+QcDoRjpXkHtmtYRxmx - tyUH+rTt7CqOnRxm/wBQBUcSL2/2ahtNJMlpC/225XcinAkwBkdBx0qpZaaZ - Lu9j+1zr5bqMq+C2R/FxzQBoalGgvtOAUDMjdvar9/HGLG4IQf6t+3sawL7T - THd2Uf2ud/McjLPkrgfw8cVbu9JMdpM/225bajHBkyDgdDx0oA0NLjjOnWxK - gny17e1VbGOM6rqQKjAMXb/ZqtYaUZbGCT7ZcJuRTtV8AZHQDHSq9pppfUL6 - L7XOvlmP5g+GbK5+Y45x2oA0dVjjE9hhQMzjt7GtK5jj+zS/IPuN29q5zUNN - MU1mv2ud/MlC5Z8leOo44NXp9IKwSN9tuThScGTg8fSgC1o8cZ0y2JUE7B2q - vaRodZvwVGAsXb2qrpmlmawgl+2XCblB2q+FH0GKht9NL6ndw/a518tY/mD/ - ADNkdzjnHagDQ1iNAbHCgZuo+31rWlij8t/kHQ9q5nU9NMJtP9LnffcIvzPn - bnPI46jsa0ZNIIRj9uuTgH/lp/8AWoAfoccZ0q3JUE7T29zTII4/7buRtGPK - TtVHSdMM+nwy/a7iPcD8qPhRyegxTItNLarPD9rnG2NTuD/Mc9icdKANHWo0 - ENvhQP8ASI+3vWz5UX9wflXK6ppphjgP2ueTdMi/O+cZPUcdR2rU/sc/8/11 - /wB/P/rUAM8PxxnSICVBPz9v9o0iRp/b8g2jH2ccY/2qz9G003GmxS/a5492 - 75UfCjDEcDFC6aTrDwfa5+IQ2/f8/wB7pnHSgDQ12NBZqQoH72Pt71teVF/c - H5VyuraaYLVX+1zyZkQYd8jk9enWtT+xz/z/AF1/38/+tQAzQY0OnglQTvft - /tGgxx/8JABtGPs3TH+3WdpGmmeyEn2ueP5mGEfA4J7YoOmn+2Rb/a5/9Ru3 - 7/n+9jGcdKANDX40GmOQoB3J2/2hW15UX9wflXK6xppt7B5ftc8mGX5XfK8s - O2K1P7HP/P8AXX/fz/61AEehxobWXKg/vpO3vRLGn9uwjaMeQ3GPes/SdNM9 - vI32uePEjjCPgHB69OtEmmkavFB9rnOYmbfv+Yc9AcdKANLXo4xpNwQoBwvb - /aFayxR7R8g6elcxrGmmDTppftc8m3Hyu+VPzDqMVoro5wP9Ouv+/n/1qAE0 - aOMpd5UHFzJ2+lFxHH/bVoNowY5O1Z2l6aZluD9rnj2TuvyPjOO546nvRPpp - XVbaH7XOd6Odxf5hj0OO9AGrrccY0q4IUA7fT3FaEEUfkx/IPujt7Vz2q6YY - dPnl+13Em1fuu+VPPcYq5FpBMSH7dcjKjgScdPpQAaRGhkv8qDi4ft9KW8jj - GsaeAowRN2/2RWdpummZ7sfa502TsvyvjdjHJ45NFzppTUrKH7XO3mCT5i+W - XA/hOOM96ANnVo4xptyQoB2HtVi0jj+yQ/IPuL29qxdR0sxWM8n2y4fahO1n - yD9RiprbSS9vE/225XcinAk4GR24oAk0yOM3WoAqOJvT2ov40GpacAowWk7f - 7NZ1hppluLxftc6eXJjKvgtx1PHJovNNMd9ZR/a528xnG5nyVwv8JxxQBual - HGNOuiFH+qft/sml06OM6fbEqP8AVJ2/2RWXfaUY7K4k+23L7Y2OGkyDgdDx - 0pbLSjJZwSfbbld0anCyYAyBwOOlAE2nxodR1EFRgOnb/ZpdSjjF5p4CjmU9 - vas6y00yXt7H9rnXy2UZV8Fsj+I45ovtNMdzZp9rnfzJCMs+SvHUccGgDoL2 - OMWc5CD/AFbdvaodKjjOm2xKgny17e1UbrSSltM/225bajHBkyDgd+Ki0/Sz - LYwSfbLhNyKdqvgDjoBigC1ZRxnV9SBUYHk44/2TSatGglsMKBm4Xt7Gs+10 - 0vqV9F9rnXy/K+YPhmyufmOOcdqNR00xSWY+1zv5kyr8z5257jjg0AdJcRx/ - Z5fkH3W7e1UdGjjOl2xKgnb6VBNpBWGRvt1ycKTgycdPpVTS9MM2nwS/bLiP - cudqvhR9BigC7bRp/bV6NowEj7e1GsxxgWWFAzcxdvrWdBppbVLqH7XONiod - wf5jn1OO3ajU9NMItf8AS533zxr8z5xnPI46jtQB07xR7G+QdD2rL0KOM6Tb - kqCcHt/tGkfRyFJ+3XXQ/wDLT/61Z+kaYZ9Ohl+13Ee4H5UfCjk9BigC9DGn - 9u3A2jHkp296NbjQW8OFA/fx9ves+PTSdWmg+1zjbEp3h/mOT0Jx0o1XTTDD - E32ueTdKi4d8gZPUcdRQB1XlRf3B+VYugRodKiJUE5ft/tGpP7HP/P8AXX/f - z/61Zej6abjT45ftc8eS3yo+FGGPbFAGiscf9vsNox9mHGP9ujXY4xYZCgfv - E7f7VZw00/2w1v8Aa5+IA2/f8/3sYzjpRq+mmC08z7XPJ86DDvkcn6UAdV5U - X9wflWNoUcZsSSoP7x+3+1T/AOxz/wA/11/38/8ArVl6TppntC/2ueP53GEf - A4PXpQBoNGn9voNox9nPGP8AbpdfjjGlSkKAcp2/2hWc2mn+2Ft/tc/MBbfv - +f72MZx0o1jTTBp8kv2ueTBX5XfKnLAcjFAHVeVF/cH5VjaJHGYJ8qD+/k7e - 9P8A7HP/AD/XX/fz/wCtWXpWmmaGVvtc8e2V1wj4Bwep46mgDRmjj/ty3G0Y - 8l+3vTtdjjGk3BCgHA7e4rMl00jVoYPtc53Rsdxf5hg9AcdKdq+mGDTppftd - xJtA+V3yp5HUYoA6VIo9i/IOg7VkaNGhF7lQcXUvb6U5NHJUH7dddB/y0/8A - rVm6ZppmF1/pc8ey4kX5XxnGOTx1Pc0AaF1Gn9tWQ2jBSTt7VPrMcY0u5IUA - 7fSsi400rqlrD9rnO9XO4v8AMMDscd+9S6npZhsJ5ftlw+1c7WfKn6jFAG/b - xx/Z4vkH3V7e1ZmlRoZr/Kg4uG7ewpsOkFoY2+3XIyoOBJx0+lUNO00yyXg+ - 1zp5czL8r43cDk8cmgDRvY4xq+mjaMHzu3+zVnVY4xptyQoB8tu3tWLdaaU1 - Kxi+1zt5nm/MXyy4XPynHGe9T6hpZisZ5Ptlw+1GO1nyDx0IxQBs2UcZsrcl - B/q07e1Z+mRobzUAVBxKO3tUdrpJe1hf7bcruRTgSYAyOg4qnYaaZLq9T7XO - nlyAZV8FuOp45NAGhqMaDUNOAUYLv2/2avahHGLC5IQf6p+3+yawb3TTHeWU - f2udvMZhlnyVwP4eOKtXulGOznk+23LbY2OGkyDgdDx0oA0tNjjOnWpKD/VJ - 2/2RVSwjjOp6iCowGj7f7NV7HSjJZW8n224TdGpwr4AyOgGOlVrPTTJf3sX2 - udfLKfMr4Zsrn5jjnHagDQ1SNBdafhQMzentWjdxxi0mIQfcbt7Vz1/ppiuL - Nftc7+ZLjLPkrx1HHBq7c6SUt5X+23LbUY4MnBwO/FAFzSI4zplsSoJ2DtVa - zjQ6xqAKjAEXb/ZqrpulmWwgk+2XCbkB2q+FH0GKhttNL6new/a518sR/MH+ - Zsjucc47UAaOrxxh7HCgZuU7fWtSaKPyX+QfdPb2rmtS00wtaD7XO++dV+Z8 - 7c55HHBrQl0giNz9uuTgHrJ/9agCXRI4zpVuSoJ2+nuajt44/wC27sbRjy4+ - 1UtK0wzafBL9suI9w+6j4Uc9hio4dNLarcQ/a5xsRDuD/Mc9icUAaGtRoI7T - CgZuI+31rZMUWD8g/KuW1TTTCluftc8m+dF+d84z3HHUdq0zo5wf9Ouv+/n/ - ANagBNBjjOk25KgnDdv9o0kccf8Absw2jHkL2/2qz9H00z6dDL9rnj3Z+VHw - o+Y9BikTTSdXlg+1zjEStv3/ADHnoTjpQBo63HGLWMhQP30fb3rZ8qL+4Pyr - ldW00wW6N9rnkzIgw75HJ69Otan9jn/n+uv+/n/1qAGaDGh01CVBO5+3+0aQ - Rp/wkBXaMfZemP8AbrP0jTTPYrJ9rnjyzDaj4HDHtij+zT/bJt/tc/8Ax77t - +/5/vYxnHT2oA0NejQacxCgHenb/AGhW15UX9wflXK6xppgsjJ9rnkwyjDvk - ckdsVqf2Of8An+uv+/n/ANagBmhxxmzclQf3snb3oeNP7ejG0Y+zt2/2qztJ - 00z2zP8Aa548SOMI+BwevTrQ2mkaukH2ufmEtv3/ADfe6Zx0oA0fEEaDSLgh - QD8vb/aFbHlRf3B+VctrOmm302ab7XPLt2/K75U5YDkYrT/sc/8AP9df9/P/ - AK1ADNFjQxXOVB/0iTt70Txp/blqNox5T9qz9K00zRzn7XPHtmdfkfGcdzx1 - PeibTSurW8H2uc7o3O4v8wx2Bx0oA1NcjjGlXBCgHaO3uK0ooo/KT5B90dva - uc1bTDBp80v2u4k2gfK75U8jqMVdj0gmNT9uuRkDpJ/9agBdHjjJvsqDi5kH - T6UXccY1iwAUYKy9vYVnabppmN3/AKXOmyd1+V8Zxjk8ck0XGmlNTs4ftc7e - YJPmL/MuB2OOM96ANjWI4xplyQoB2HtVq1jj+zQ/IPuL29qw9S0sw2E8v2y4 - fapO1nyp+oxVi30ktBG3225GVBwJOBx24oAdpUaG4v8AKg4nPb2ov40Gq6aA - owTL2/2az9P00yzXi/a508uUrlXwW46njk0XemmPULGL7XO3mGT5i+WXC/wn - HGe9AG3qccY066IUf6t+3tUlhHGbG3JQf6tO3sKyb/SjFZTyfbLh9qMcM+Qc - DoRjpTrPSTJaQP8AbbldyKcCTAGR0HHSgCbTo4zf6gCo4kXt/s0alHGL7TwF - HMjdv9ms6y00yXd7H9rnXy3UZV8Fsj+Ljmi+00x3dkn2udvMcjLPkrx1HHFA - G/fxxixuCEH+rft7Go9LjjOnWxKgny17e1Z93pJjtJn+23LbUY4MmQcDoeOl - MsNKMtjBJ9suE3Ip2q+AMjoBjpQBYsY0Oq6kCowDF2/2aXVY4xPYYUDM47ex - rOtNNL6jfRfa518sx/MHwzZXPzHHOO1GoaaYprNftc7+ZKFyz5K8dRxwaAOj - uY4/s0vyD7jdvaqmjxxnTLYlQTsHaqs+kFYJG+23JwpODJwePpVfTNLM1hBL - 9suE3KDtV8KPoMUAW7WNP7ZvhtGAsXb2pNYjQGxwoGbqPt9az7fTS2p3cP2u - cbFjO4P8zZHc45x2o1PTTCbT/S5333CL8z525zyOOo7GgDppYo/Lf5B0Pas3 - Q44zpVuSoJwe3uaZJpBCMft1ycA/8tP/AK1UdJ0wz6dDL9ruI9wPyo+FHJ6D - FAF6COP+27kbRjyk7Ua1Gght8KB/pEfb3rOi00tqs8P2ucbY1O4P8xz2Jx0o - 1TTTDHAftc8m6ZF+d84yeo46jtQB1XlRf3B+VY3h+OM6RASoJ+ft/tGn/wBj - n/n+uv8Av5/9asvRtNNxpsUv2uePdu+VHwowxHAxQBoJGn9vyDaMfZxxj/ao - 12NBZqQoH72Pt71nrppOsPB9rn4hDb9/z/e6Zx0o1bTTBaq/2ueTMiDDvkcn - r060AdV5UX9wflWLoMaHTwSoJ3v2/wBo1J/Y5/5/rr/v5/8AWrL0jTTPZiT7 - XPH8zDCPgcH6UAaBjT/hIAu0Y+zdMf7dLr0cY0yQhQDuTt/tCs46af7ZFv8A - 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 - tnArXEYIjUEFx6VR067tEvL9nmRQ8gIJYDIx2oAqXt9dve2TtZOjIzEKSMtx - 2q1e6hePZzo1hIgaNgSWGACOtLf3lo9/p7rMhVHfJDAgfL3q5f31k9jcKs8Z - JjcABxknBoAo2OoXiWVuiWEjqsagMGGCAOtVrO+u0v751snZnKZUEZXC9/rW - tp17ZJYWyPPGrLGgILgEHAqpY3loupag7TIFdo9pLDBwvagCpf3t3JcWbPZO - hSXIBI+Y46CrtzqF61vKrWEigowJ3Lxx1pupXlo9zYMkyMFlySGBwMd6v3V9 - ZNazKtxGSUYABx6UAZem395HYQIli8iqgAYMMH3qG2vrtdTvZFsnZnEeVyMr - gcZ+taWlXtnHp1ujzxqwQZBYAioLS8tF1a/kaZAriLBLDBwvODQBU1K+u5Gt - N9k8eydWGSPmIzwK0JdRvjG4OnyAEHnctRareWkj2WyZG23CE4YHA55Nac1/ - YmJwLiMkqf4x6UAYulX13Fp8Ecdk8iqOGDDB5qOG+uxqtxKLJyzIgKZGRjv+ - NX9GvLOPTLdJJ0VgvILAEc15F8QNYuYfEAOmXbxgRLloZCuT9VNA0j07VL27 - lS3Elk8e2dGGSOSO341pnUr7B/4l0n/fS15r4S1G7vdJE2pXjTsL2ML5r7iF - UZJ5Occ9a9YN/Y4P+kR/99igGc/o99dxadDHHZPKozhgQAfmNIl9djV5ZRZO - XMSjZkZAz1q5od5aRaVAkkyIwDZBYA/ePakjvLQa3LKZk2GFRncMZz0zQIqa - tfXctuiyWTxgSIckg5IPT8a1P7Svv+gdJ/30tVtZvLSS2jWOZGIljOAwPANa - /wBvsP8An4j/AO+xQBzuj313FYqkdk8qhm+YEAcsaPtt3/bJm+xPv+z7dmRn - G7O7+lW9DvLSLTkSSZEbc/BYA/eNH2u0/t4y+cmz7NjduGM7+mfWgCpq97dz - WRSSzeJdy/MSCODWp/aV9/0DpP8Avpara5eWkunskcyO25OAwJ+8K1/t9h/z - 8R/99igDndJvruK2ZY7J5R5jnIIHJPT8KHvrs6vHL9icOISNmRkjd1q3ot5a - R2jrJMinzHOCwHBND3lodcjl85NggI3bhjO7pmgCprN9dzabNHJZPEp25YkE - D5hWn/aV9/0DpP8Avpar67eWkulTxxTI7HbgBgT94dq1/t9h/wA/Ef8A32KA - Od0q+u4o5xHZPJumckgjgnt+FE17dnVreU2Th1jcBMjJB71b0e8tI4rgSTIp - M8hGWAyCetE93aHWbaQTIUEbgncMA/WgCvq19dy6fNHJZPEpAyxYEDkVdj1G - +EagafIcAfxLTdavLSTTLhI50ZiBgBgSeRWhFf2IiQG4j6D+MUAYOm313Gbv - ZZPJvndjgj5SccH6UXN9dtqdnI1k6sgkwuRlsjnH0q3pN5aRm93zIu65kIyw - GQccj2oury0bV7GRZkKqsuTuGBkDGTQBFqV/eSWE6PYvGrKQWLDAqxb6jerB - Go0+RgFAzuXnipNWvbOTTbhI542YocAMCTVm2vrJbaINcRghFyN49KAMTT72 - 7jmvClk7l5SSAR8px0NF3fXb6hYyNZOrIZMKSMtlecfSremXdok98XmRQ0xI - ywGRjqKL28tG1PT3WZCqGTcQwwMrxmgBt/qF49lOj2MiKyMCxYYAx1p1nqF6 - lpAq2EjAIoBDDkY61a1K9s30+5RJ42YxsAA4JJxT7G+slsrdWuIwRGgILjIO - BQBj2V9dpd3rrZO5d1JAIyvHQ0X19dvd2TNZOhRyQCR83HQVb0+8tEvb9nmQ - B3UglgAfl7UaheWj3tgyTIwSRiSGBxx3oALvUL17SZGsJFDIwJLDjI60ywv7 - yOxgRLGR1VFAYMMEY61oX19ZNZXCrcRkmNwAHGScGmabe2aafbI88asI1BBc - AjigDKtL27TUb6RbJ2ZzHlQRlcLxn60ahfXck1mXsnQpKCASPmOOgq3ZXdou - qag7TIFcxbSWGDhecUaneWjz2JSZGCzAnDA4GDyaAHz6jetBIp0+RQVPO5eO - Kr6Zf3kdhAiWLyKqgBgwwa1rm+sTbygXEZJVv4x6VV0m9s49Nt0knjVggyCw - BFAGbb312up3cgsnZnWPK5GVwOM/WjU727kNpvsnj2XCMMkfMRn5R9at2t5a - Lq97IZkCssWDuGDgHoaNWu7SQ2XlzI225jJwwOAM8n2oAmk1G+KMDp8g4P8A - EtUdJvruLToY47J5VAOGDAA8mtyS/sTGwFxH0P8AGKztFvLSPS7dJJ0VgDkF - gCOTQBRivrsarPKLJy7RqCmRkAd6NUvruWOASWTxhZkIJIOSD0/GrcN5aDWb - mQzIEMaAHcME/WjWLy0kitxHMjETxk4YHAB60AWf7Svv+gdJ/wB9LWXo19dw - 6dFHHZPKo3YYEAH5jXRfb7D/AJ+I/wDvsVkaFeWkWlQJLMiMN2QWAP3jQBUW - +uxrDy/Yn3mEDZkZA3daNWvbuW1VZLJ4h5iHJI6g9Pxq2l5aDXJJfOTYYAN2 - 4Yzu6Zo1u7tJbNVjmRj5iHAYHgGgCz/aV9/0DpP++lrL0i+u4rIJHZPKu5ju - BAHJrovt9h/z8R/99isjQ7y0isAkkyI29+CwB+8aAKhvrv8AtkTfYn3+Rt2Z - Gcbs5o1i+u5bB0ksniUlfmJBAww9Ktm7tP7eEvnJs+zY3bhjO/pn1o1y8tJd - NkSOZHYsnAYE/eFAFn+0r7/oHSf99LWXpV9dxQSLHZPIDK5yCBgk9Pwrovt9 - h/z8R/8AfYrI0a8tI7eUSTIpM0h5YDgmgCpJe3Z1eKU2ThxEwCZGSM9aXWL6 - 7m06aOSyeJTjLEggfMKtSXdodbhlEybBCwLbhjOemaXXLy0l0qdI5kdiFwAw - J+8O1AEy6lfbR/xLpP8AvpazdLvruNbnZZPJundjgjgnt+FdCt/Y7R/pEfT+ - +KydIvLSNLrzJkXdcSEZYDIOOaAKk99dnVbaU2ThlRwEyMnPf8K2re+u5plj - ksniU5yxIIHHtVC4vLQ6xaSCZCipICdwwM+9bSXlpKwSOZHY9AGBP5UAWKKK - KACiiigAooooAKKKKAP/1f3XtbCybVr2JoEKIse0bRgZHOKNV0+xiNn5cCLv - uI1OFAyDnIPtVe3tNQbVLuNb4rIqx7n8tTuyOOO2KNStNQjNp5t8ZN06Bf3a - jaxzhuOuPSgDbk0vThGxFtHwD/CKz9H0+xm0yCSW3R3YHJKgk8mppLHVQjE6 - kSMHjylqjpNnqMmnwvDfGJCDhfLU45Pc0ASw2FidYuITAhRY0IXaMAn2o1ew - sYorcxQIpaeNThQMgnkVXitNQOqzxi+IkEaEv5a8jsMe1GqWmoRxwGa+MoMy - ADy1GCTwePT0oA3v7K03/n1j/wC+BWToVhZT6VBLNAju27JKgk4Y1c+war/0 - Ej/36WsvRrTUJdNheC+MKHdhPLVsfMe5oAsJYWR1uSEwJ5YgDbdoxnd1xRrN - hYw2itFAiEyIMhQOCarraah/bDxC+IkEIJfy15G7pjp+NGrWmoR2ytNfGVfM - QY8tRyTwePSgDe/srTf+fWP/AL4FZOi6fYzWIeWBHbe4yVBPDGrn2DVf+gkf - +/S1l6RaahJZBob4xLub5fLVucnPJ9aALB0+x/twQ+Qnl/Z923aMZ34zj1o1 - uwsodOeSGBEYMnIUA8sKrm01D+2RF9uPmeRnf5a/d3fdx0685o1i01CKwd57 - 4zIGX5fLVc/MO4oA3v7K03/n1j/74FZOjWFlNbSNLAjkSuASoPAPAq59g1X/ - AKCR/wC/S1l6TaahJbyNDfGICVwR5anJB5PPrQBYksLEa1FCIE2GFiV2jGc9 - cUut6fYw6XPLFAiOu3BCgEfMKrPaagNXijN8TIYmIfy14GemOlLrFpqEWnTP - NfGZBjK+Wq5+YdxQBuDS9NwP9Fj/AO+RWVpFhYypcmWBG23EijKg4AxgVbFh - quB/xMj/AN+lrM0u01CRLgxXxi2zuD+7U5YdTz0z6UAWJ7CyXWLWEQIEZHJX - aMEipNX0+xi02eSK3jRlXghQCOapzWmoDVbaNr4mRkch/LX5QOox3zUmq2eo - x6fO81+ZUA5Xy1GefUUAa0Ol6cYUJtoySo/hHpWbpdhZSveiSBG2XDquVBwB - jgVYisdUMSEaiQCBx5S8cVn6baag73YivjHtnYN+7U7m4yfb6UAWLvT7FdVs - YlgQI4l3AKMHC8ZqfU9OsItPuJI7eNWVCQQoBBqhc2moLqdkj3xZ2Em1/LUb - cDnjvmp9Rs9SSxneW/MiBCSvlqMj0zQBoWumae1tCzW0ZJRSTtHpVDTrCxku - b5XgRgkuFBUcDHQVLbWOqNbxMuolVKLgeUpwMdKpWFpqD3F4sd8YysmGPlqd - xx19qALF9YWSajYRpAgWRpNwCjBwvGatahpunx2Fy6W8assbkEKMggGs28tN - QW/sUe+Lu7Ptby1G3C88d81ZvrLU0srhpNQLqI2JXylGRjkZ96ALdjpunvZW - 7vbxszRoSSoySQKp2On2L31+jwIyo6BQVGBle1OsrLU2s4GTUCimNSF8pTgY - 6ZqrZWmoNe3qpfFGVl3N5anccenagCxqFhYx3diqQIoeQhgFHIx3q9d6Zp6W - kzLbRghGIIUcHFZN9aaglzZrJfF2aQhT5ajacdferl1ZamttMz6iWUIxI8pR - kY6UASabp1hJp9vJJbxszIpJKgknFV7Owsn1XUImgQpH5W0FRgZXnH1pNPst - SexgePUDGhRSF8tTgY6ZqC1tNQbUr5Evirp5W5/LU7srxx2xQBY1OwsopbIR - wIoedVbCgZGDwa0Z9M05YJGFtGCFP8I9KxtRtNQSSzEt8ZC0yhT5ajafX3+l - X5rHVBDIW1EkBTkeUvPFADdJ06wl023kkt42ZlySVBJqK30+xbV7uJoEKIkZ - A2jAyOcUzTLPUZLCB4r8xIV4Xy1OPxNRQWmoHVLqNb4rIqpufy1+YEccdsUA - WNW0+xiFp5cCLvuI1OFAyDnIPtWo+l6aEYi2j6H+EVh6naahGLXzb4y7p4wv - 7tRtY5w3HXHpWk9jqoUk6kTwf+WS0AV9F0+xm0yCSWBHdgckqCTyabFYWR1m - eEwIUWJSF2jAJPXFQ6RaajJp0Lw3xiQg4Xy1bHJ7mmx2moHVpoxfESCJSX8t - eRnpjpQBY1iwsoYIWigRCZkBwoHBPIrW/srTf+fWP/vgVg6raahHDEZr4ygy - oAPLUYJPB49K1PsGq/8AQSP/AH6WgCnolhYzabFJNAjuS2SVBPDGgafY/wBu - ND5CeX9nDbdoxndjOKr6PaahLp8bwXxhQlsL5atj5j3NAtNQ/thovtx8zyAd - /lr93d0x0/GgCxrVhZQ2QeKBEbegyFAOCa1v7K03/n1j/wC+BWDq9pqEdpum - vjKu9Bt8tV5zwcj0rU+war/0Ej/36WgCnothZTWReWBHbe4yVBOAaGsLL+3F - g8hPLNuW27RjO7riq+kWmoSWhaG+MS73G3y1bnPJyfWhrTUP7YWL7cfM8gnf - 5a/d3dMdPxoAsa3p9jDpsskUCIwK4IUA8sK1v7K03/n1j/74FYOsWmoRafI8 - 98ZkBXK+Wq5+YdxWp9g1X/oJH/v0tAFPR7CxlgmaWBHImkAyoOADwKJbCxGs - wQiBAjRMSu0YJB64qvpVpqEkMphvjEBK4I8tTkg8nn1qG9ttXjvlEF35tyIJ - GjJRQMjov4nvQBoa1p9jDpk8sUCI6gYIUAjkVpJpemlFJto+g/hFfOd74y8R - 3sqi7uW2I2TEoCKcHowHX8a95sY7++s4Ly21MmKZFZf3S9CKBtCaTp9jKLvz - IEbZcSKMqDgDGAPai40+xXV7SJYECOkhI2jBwOM1X0y01CQXXlXxj2zyBv3a - ncwxluemfSie01AapaxtfFpGV9r+WvygDnjvmgRd1bTrCLTbiSO3jVlXIIUA - irkGmac0EbG2jJKj+EelZep2eox2E7y35lQLyvlqM/iKtQ2OqGGMrqJAKjA8 - peOKAINMsLGSW9EkCMEnZVyoOBgcCi80+xTVNPiWBAknm7gFGDhcjP0qvp1p - qDyXgivjGVmYMfLU7jgc89PpRdWmoLqVij3xZ383a/lqNuF5475oA/mI+LMU - S/8ABXJImQIi+NtFwAOBhbYr/Sv6jLPTNPe0gdraMlkUklRySK/lw/4KFaR4 - j+AH/BQSD4uXNu1zaXl3oviWxfbsS4+wiFJo933d3nW7bgOispPUV/QB4A/a - j+A3j7wDa+P9D+KWjW2ktbrLMt5c21rPaYHzR3EUzq8bLgghhz1BIIJAPoLT - 7Cxku75XgRgkgCgqOBjtX5Kf8FlPHuo+CfgN4b8F+HZfsC+MtUeK9MXyNLZ2 - cfmNESMfK0jRlvUDHQmvnHxj/wAFE/j58Vf2srP4R/so65AfDGs6laaXa3Mu - mRTtcndi5viJVLrCo3P2xEm8hSTj1r/gtZ4Q1a4+E/w88XPI95BpOsXNrI4Q - KIvtsAYFsdmMGMnjOB3oAT9jn/gmd+zr4w/Zl0L4ifF3SbnxD4k8Y6edSSUX - tzapYwzAtbrAlu8aswj2sxlD5YkAbeD8S/s56Rqf7Iv/AAUvs/g9pmovd6Ne - aomiTibH+lWOqwLNaCUDCmRDLC2QAN68AAkV+vP7Cnx9+HHi39kXwjG3jXT7 - C78G6PHpuq2V1NBBLaGxQxBpBIykRyIoZX6EHGchgPyD8N+IbL9pD/gq7pHi - zwHO1/psniOyuILmNfla20G0jBmHT92Ra7lJ6gjucUAfUn/BbGGKHSfhmkSB - FW+1QAAYA/c2td1+yX/wTO/Zz8V/s6+C/GfxV0q51/xH46so9Qe4F7cWws4b - tPMgS3jgdEysZQlpA+Wz0X5a4L/gtdHNHo/wyWaXzWF7quWwFyfKtecCv1I/ - ZQtr3/hlz4KH7WcSeGNG2DYPk/0KP8/xoA/An9lvw1ffs1/8FMovhLp19Ld6 - fZ6rqmhSM2Abqylt5WtzKBxkMIpSBwHXivbP+C0V94ij8W/CzSGV4vDzaTd3 - MWMiOW+MwSYn+FmSMRYPUBz0zzwUkc6/8Fh5o2m3SDxVJl9oGf8AQz26V+xv - 7UOpfsj65p/hb4P/ALU+u6XCfErGXS7e+zFJbMqlfP8AtUZVrRCfkEruiucr - k4IAB8FfD/wT/wAEcPGXg+20FtU0+xlmtIUF3qmoX2nakk7J+8eWSV0iEgfk - gAw5+6CmK/Sj9mf9nf4C/AP4cafpfwNli1vTNbu1uLjWjPDezal97YXuIAI3 - SMHaioAg5ONzMW/PH4m/8Euv2M7DwX4g8Y6d8QL3wtZabavPDqEuo21xp4bY - WXeHjLOucDakm9ugOevgv/BGTxX40k8d+N/AkN5MfDBtLa/MTHfFBqHnCKN0 - U8K0kZfdjG4Iuc7RgA439o+CGP8A4LF6XBGirH/wlfgsbQMDm107PFf0CfF+ - wsn/AGfvHc7wIZP+Eb1c7iozkWkvev52/wBtnWF+FP8AwVHh+IfiiVjp2n6v - 4V1iSYJ8xtbS3s1lYKOpXyXAA6kV+1n7R/7QHws8K/sq+LfGH/Cc6bdWmtaD - fW2lw288EzX1xeQPFBFCEYs+5mBYqDtXLHAUmgD8yv8AgiBbW9z4n+La3Eay - AWejkBhnH7y6r5s/4KN+DZfG/wDwUSvfAGlstrN4im8O6bE+3Ko95b28KsVy - M4L5xkV9Hf8ABEWG5m8TfFoW1x9nIs9HydobP7y69a8t/bAiuE/4KxeGopZ/ - Ml/t/wAG/vNoHX7HjgccUAff3xl/4JRfswaV8ANfj8C6Ze2HjHQtKuLu21mS - +nmlubm1haQLcQu/2fZKV2t5cSFc5XHf8mf+Ca/7Kfgn9qf4v6tY/Exp5vDH - hTT1vZ7SCVoWu5ZZRHFE0iEOkf32YoQ3AAIzmv6j/ihY6oPhn4tLaiWA0i/y - PKXn/R3r8Ev+CJcF1N8RficLa4+zkaVY5O0Nn9+/rQBxf/BUP9iz4Sfs52Hh - j4g/Bmxl0LTNUujp15p7XE11EJmieaKWJ7h5JVJEbh1Lkfd27ec/sV+zd8TZ - tZ/Ye8E/GDxV/pl/ZaA097PLjzJzpokjkd27lxDlieSTk818a/8ABaKK4h+B - nhFbifz2/wCElt/m2hf+XK87Cvcv2U/COqeNf+CafhzwlZ3O5/EHh3V9PhjK - gASXUt3EvzderUAfjT+yHonwK/aN+PXjL4tftneM9N0ywST7e1jf3w09NTvL - 13wiP5iOILZU5SNhjMa525B6j9vb4U/se+GfD3h34l/sr+MNHGqG9+x6joml - 6mLxtpV5Ir2JTK7xbDGEcA7SWQgKQxbzH9gr4Xfs1/E74pa58Mf2m5X0i8uY - UGkSTXb2EYvIZGWe1kbcgEsgYbFbqUKj5iAf09+Jv7F3/BMz4MaPp2sfFPWX - 0JdVnSC3iOqXM80hdtvmCKFmk8perybdijqemQD6b+GXxJu/jV/wT8uviJr4 - jm1O/wDAOtR3cgA/eXdhHc2csxHZ5GhLn3PHFfiR/wAE3/2T/BH7Tfj3xNff - EoTXPhvwdbWsktlDK0Buri9kZIleSMh1jVY5CdhVidvzAZB/ffUvhN4G+Dn7 - JnjHwD8J7rPha08H67dWUgl+1LJDeQz3DFZizb1dpCysCeCMcV+W/wDwRYjl - a4+MTJJsVY/D+VwDuzJe457YoA/UH4Uf8E5P2Xvgz8Wpfi54M0Gb7XHEqWFh - eXDXlnp0wyHntxPvlMjDABkkfZyUxkY+yNGsLGa0ZpYEciRxkqDwDVz7Bqv/ - AEEj/wB+lrL0m01CS2Zob4xL5jjHlqeQeTz60AfNX7ZfxZsPgB8B/GnxCtxH - DqFvpb22mjAydRvHFvbsB3Mbv5hH91TX5M/8EdvgpFqFl8RPj1rlqJo40j8P - ae0i7lZpWS4vj83cL5C57hnHrT/+C0fxcuH17wX8B7W/+0izhOu6iAAoEkpe - C0Qhe6qJmIPZ1PpXj/w//ZY/4KrfDXwLb6F8PjqHhzw3J/pS2cGt2ECK1xhi - zRGfcHJxuBGQeD0oAzvgRKv7Ev8AwUwvPhtq37nw1f6rNoDeb906bq5WXTpG - J4G1mt2duwDDPWv6EfjdZWb/ALPvxTkaFCyeH9dCkqMgCylxj6V/LD+1n8B/ - 2xvh3d6b8Wf2oYbmW71aVLC31OXULa9lMkCGSOMvbyOUIUMUzjocdK/oV8Df - Fa6+PP8AwT+1z4oC/H2vUvB+sJqKBFP+n21lLDdZ7qGlRmUf3SD3oA/C/wD4 - Jqfso+CP2o/i1rMHxNSa58L+FrFbie0glaBrq4uGKQxvJGQ6oArsdhDEqBkA - mvWv+CoX7Ffwy/Zlfwf4/wDgxbTaRoniCa4srqwkuJbhbe6hVZYpIZJmeXEi - lwwZjtKAg/MaP+CQHxd8H/D/AOL/AIr8G+LNbt/D7eLrC3+xXN06xxPcWLyH - yNz4UM6SsVyRnbgZYgH2v/gsr8Y/Buvab4E+E+geIrXxBqtjd3Op3yWrRyCz - XyxDCkjRkgPIWc7M7gFBIAZSQD9KfC/iWT4jf8E7f+E51oJc6pqfw6u5Lqcq - C0tymmyJLISedzOpY+5r8GP+CaH7JXgj9qb4p6+Pias1z4W8I2MdxPaQStA1 - 1cXTlIY3kQh1jASRjsIYlVGQCc/t/wDC3wvrPhz/AIJo2en3Vy8Df8K5vLho - XjG5Rc6fLPtJPI4f8K/Jr/gj58YfCPw++LPjDwT4r1638OnxhYWxs57pkSGW - 5sJJD5G98KrukzMuSM7SB8xAIBU/4KhfsX/DD9mW48HeOvgxbT6RoviGS4s7 - mwkuJbhILmALJFJDJMzy4kUsGDMdpQEH5jX7BWvieX4if8E1L3x3rGy41XU/ - hreyXU5HzSXKaZJHLIT13M6kn3NfnR/wWW+MHgzX7LwH8K9A8Q2viDVrC5ud - Svhaukgs02CGJJGjJAeQs5253AICQAyk/efgXwlrmhf8EvU0maaRZZPhrezf - ZmjG/N3p0swTnkH94P5UAfEn/BDi1trn/hdf2iJZNv8AwjeNwBxn+0vWp/8A - gtbDFFoHwyEaBQNS1lRgY4EVrxXH/wDBFHxPoelav8W9Bv8AXbfSb7UYdEnt - 4pmjVp47Vr1ZSm8jOwzJnH94V1n/AAWoWQeHfhgXm84f2hrHOAMnyrX5uPWg - D7Mh+I0vwW/4JseEPibpEUa6lpXgDT2tWZAwF5NZQw27sDwwWWRWIPXFflf/ - AME4f2K/Bn7U0PjT4x/G+W61jSNIujaxWi3MkT32oSR+fPLczIRLhA6EBXBd - mJY4XDfpP4n+H2ufEb/glt4f8KaUH1C9uvh9ptzbW8aDez2NrBdrGmOWZvKA - A6k8Dk18hf8ABIP4++BfDXg/xp8EvFPiG30DU7y//tjT0u3SKO+EtukE8Ucj - 4HmJ5CHbncwbKg7WwAfbfhb/AIJS/sz+HPjHoPxb0SO9h0jSY47lPDskzz2j - X8ZDxTmeVmmMaEbjCzMGYAltgKN6N+2F+yH8E/2k9Aj1L4oa5/whjeErhXi1 - lZooY4bSYp9ohk88iHbIANrNyj4IyNyP7Lp/7RnwZufibp3wSs/iNp8vjK+t - ftEOnxFJOFA/deauY/OxlhEW8wqC23HNfhf/AMFcfGHifW/2k/C3wh17WpNO - 8JWlhZ3RLD9x517PLFNePGpG/wAtECgH7u1tuNzZAPp/4i/s9/8ABJm68Ez+ - EPC/i/wzpOsR200UGqweJTPcJciM+XK5a5eKTL4LKV2nkKF4x89/8EWvE2oj - 4h/ErwNI5k0y50NNT8puVS5tZ1hDqD0YrOQSOuBnOBj6j8W/8E4v2DvhZ8Lj - 4/8AFOrXF7o1vZvcf2tPq2xLjZEXUx+Syxu0h4RY1JYkBQSQK+Mf+CMcc0nx - 28eeTL5W3wpMW+UHcPtltxz0z60AW/8AgsH8Lfh94C8afD7xN4P0SDS9U8YW - +qXmrTxbt15cLJARJICSN3zt0A6/Sv2X/ZL/AGdvgl8O/Ceh+N/BXg+x0nXd - X8PaWt3dxKxkmFxbwzyhtzEfPIoY8dRX5R/8FrLS8i1X4OXU8hkhmsdXWP5Q - ApV7QlQR1wGFfsX+y94s0Hxv8G/Bt54R8R218o0DSRJ5DRyurJaRqySICSjx - t8jqeQ3BwaAPwv8A2wbeCP8A4Kz+GYI41WM+IPBg2gcc/Y88V91/8FkfH+oe - CP2fvD/gnw64sf8AhNNWMV60Y2vLZ2cRlaLI/haVoi3qBg8EivhD9r+G4T/g - rJ4Zikn8yX/hIPBn7zaByfseDjpxX11/wWr8G6xc/CH4f+Mmke8t9H1me0lY - RgCL7db7lLY7E2+MnjOB1IoAX9iv/gmX+zl44/Zv8OfED4waTc+IvEXjSzF+ - sovbm1SxhnJMCwJbvGrN5e1maUPliQBt4PxN+z9oepfse/8ABTmH4L6VqT3m - iXGrjQphPj/SrDU4VltPOAAUyIZIWyABvXgAEiv13/YH+Pfw48Wfsn+C4v8A - hN9P0u88G6XFpuqWt1NBDJZmyHlB5BIykRuih1f7pBxnIYD8hdG8RWX7SX/B - WfTfF3gS6bVNNl8TWlzBeRp8sltoNrGDcAcfu2FruXOMgjucUAfWX/Bb+0tb - bwx8JDbxLHuvNYztAGf3dr6V2v7H/wDwTH/Zu8Yfs1eGfHHxZ0i58QeJfGem - pqf2kX1xarZRXa+ZAlvHBIiErGVJMoky2eAvy1wn/Bbq3u4PDPwlN1dG4BvN - Yx8gXH7u19K/Ub9kSz1Jv2UfhG6X5RD4S0YhfLU4H2OPjNAH8+37Ivh+9/Z3 - /wCCmOn/AArsbyS706HVdR0OUvgG6s5reVoDKo4yGEUhA43LxX3P/wAFp7zx - Bp3wz8FaTpKPDoN7q7m+MeVRp44CbZHxwQQZWAPdAQOMj5C0hJX/AOCwEKRS - eW58VHDYBx/oZ7Gv3A/aj8U/s6eHfCn/AAi/7Umsaenh3xPNBZxw30BkM0pb - IdFiBkjEOdzTrt8vgllyMgH5M/s5aD/wSe1r4HeFNN+IVzYr42nt7f8At19Y - ub+zuFvWX/SBHIjxwrCGz5ZjbGzaW+fdX6lfsefsu/sq/BzSdY8W/s+31v4t - j8Qysr6ub2DU2jgBDCzingAVYkYAlfvscGRmKrt+PPEf/BLj9h3XvDz+MPC/ - jK807R5NrLeWOsWs9lEjjIcyzrMCgHPL8jv3r4Y/4Jd6l4i8G/tuar8NPh/4 - ibVPCd7Fq9tdXMIJtb21sN7Wt4I24BZ1TY33lWQrnDEEA/po0OwsZtLhlmgR - 3O7JKgk4Y0JYWR1uSEwJ5YgDbdoxnd1xVfRrTUJdNheC+MKHdhfLVsfMe5oW - 01D+2HiF8RIIQS/lryN3THT8aALGs2FlDaK8UCI3mIMhQOCa1v7K03/n1j/7 - 4FYOrWmoR2qtNfGVfMQY8tV5zwcj0rU+war/ANBI/wDfpaAKei6fYzWIeWBH - be4yVBPDGg2Fj/bgg8hPL+z7tu0YzvxnHrVfSLTUJLINDfGJdzfL5atzk55P - rQbTUP7ZEX24+b5GfM8tfu7vu46dec0AWNbsLKHTnkhgRGDJyFAPLCtb+ytN - /wCfWP8A74FYOsWmoRWDvPfGZNy5Xy1XPzDuK1PsGq/9BI/9+loAp6NYWU1t - I0sCORK4BKg8A8CiSwshrUMIgTyzCxK7RjOeuKr6TaahJbyNDfGICVwR5anJ - B5PPrRJaagNXijN8TIYmIfy14GemOlAFnW9PsYdLnligRHULghQCPmFai6Xp - u0f6LH/3wKw9YtNQi06Z5r4zIMZXy1XPzDuK0VsdVwP+Jkf+/S0AVdJ0+xlS - 6MkCNtuJFGVBwBjAonsLFdXtYlgQIyOSNowSOnFV9LtNQkW48q+MW2dwf3an - cw6nnpn0ontNQGq20bXxaRkch/LX5QOox3zQBc1fT7GLTZ5IreNGVeCFAI5q - 9DpenGFCbaMkqP4R6Vk6rZ6jHp87zX5lQLyvlqM8+oq5FY6oYkI1EgEDjyl4 - 4oAr6XYWUr3okgRtlw6rlQcAY4FF3p9iuq2MSwIEcS7gFGDheM1X0201B3u/ - KvjHtnYN+7U7m4yeen0oubTUF1OyR74s7CTa/lqNuBzx3zQBf1PTrCLT7iSO - 3jVlQkEKAQasWumac1rCzW0ZJRSSVHpWfqNnqSWM7y35kQISV8tRkemamtrH - VGt4mXUSqlFwPKU4GOlAEWnWFjJc3yvAjBJcKCo4GOgovrCxTULCNIECyM+4 - BRg4XjNV7C01B7i8WO+MZWTDHy1O446+1F5aagt9ZI98Xd2fa3lqNuF5475o - A0tQ03T47C5dLeNWWNyCFGQQDS2Gm6e9jbu9vGzNGhJKjJJAqrfWWppZXDSa - gXURsSvlKMjHIz70tlZam1nA0eoFFMakL5SnAwMDPtQA2wsLF7+/R4EZUZAo - KjAyvajULCxju7FUgRQ8hDAKORjvVeytNQa9vUS+KMjLuby1O7I447YovrTU - EubNZL4uzSEKfLUbTjr70Aa13pmnpaTMttGCEYghRwcVDpunWEmn28klvGzM - ikkqCScVHdWWprbTM+ollCMSPKUZGOlRafZak9jA8eoGNCikL5anAx0zQAtp - YWL6pqETQIUj8raCowMqc4+tGqWFlHLZCOBFDzqrYUDI54NV7W01BtSvkS+K - unlbn8tTuyvHHbFGo2moJJZiW+MhaZQp8tRtPr7/AEoA2Z9M05YJGFtGCFP8 - I9Kp6Tp1jLptvJLbxszLySoJNOmsdUEMhbUSQFOR5S88VU0uz1GTT4HivzEh - XhfLU4/E0ASW+n2LavdxNAhREjIG0YGRzijVrCxiFp5cCLvuI1OFAyDnIPtV - eC01A6pdRrfFZFVNz+WvzAjjjtijU7TUIxa+bfGXdPGF/dqNrHOG4649KANx - 9L00IxFtH0P8IrN0XT7GbTIJJYEd2BySoJPJqw9jqoUk6kTwf+WS1n6RaajJ - p0Lw3xiQg4Xy1bHJ7mgCaKwsjrM8JgQosSkLtGASeuKNYsLKGCFooEQmZAcK - BwTyKrx2moHVpoxfESCJSX8teRnpjpRqtpqEcMRmvjKDKgA8tRgk8Hj0oA3v - 7K03/n1j/wC+BWTodhZTabHJNAjsS2SVBPDGrn2DVf8AoJH/AL9LWXo9pqEu - nxvBfGFCWwvlq2PmPc0AWBp9j/bjQ+Qnl/Zw23aMZ3YzijWrCxhst8UCI29B - kKAcE1XFpqH9sNF9uPmeQDv8tfu7umOn40avaahHabpr4yrvQbfLVec8HI9K - AN7+ytN/59Y/++BWTo1hYzWZeWBHbzHGSoJwDVz7Bqv/AEEj/wB+lrL0m01C - S0LQ3xiXe4x5atznk5PrQBYawsv7cWDyE8s25bbtGM7uuKNb0+xh02WSKBEY - FcEKAeWFV2tNQ/thYvtx8zyCd/lr93d0x0/GjWLTUI9Pkee+MyArlfLVc/MO - 4oA3v7K03/n1j/74FZOj2FjLBM0sCORNIBlQcAHgVc+war/0Ej/36WsvSrTU - JIZTDfGICVwR5anJB5PPrQBYlsLEazBCIECNExK7RgkHrinazp9jDpk8kVui - OoGCFAI5FVZbTUBq0MZviZDGxD+WvAz0xTtXs9Rj06Z5r4yoAMr5arnkdxQB - tJpemlFJto+g/hFZek2FjKLzzIEbZcyKMqDgDGAParSWOq7FxqRHA/5ZLWbp - dpqEguvKvjFtuJA37tTuYYy3PTPpQBYubCxXV7OJYECOshI2jBwOM1Lq2nWE - Wm3EkdvGrKuQQoBFUri01AapaxtfFpGV9r+Wo24HPHfNS6nZ6jHYTvLfmVAv - K+Woz+IoA1INM05oI2NtGSVH8I9KztMsLGSW9EkCMEnZVyoOBgcCp4bHVDDG - V1EgFRgeUvHFUNOtNQeS8EV8YyszBj5anccDnnp9KALF5YWKapp8SwIEk83c - AowcLxn6VY1LTrCPT7iSO3jVlRiCFAIOKz7q01BdSsUe+LO/m7W8tRtwvPHf - NT6hZ6kljO8moGRAjEr5SjIx0zQBes9M097SB2toyWRSSVHJIqlp9hZSXd8j - wIypIAoKjgY7VJa2WptawsmolFKKQPKU4GOlU7G01B7q9WO+KMsgDHy1O446 - 47UAWL+wso76wRIEVXdgwCjBwverl9punpZXDpbRqyxuQQoyCAay7201BL2y - WS+Ls7Ntby1G046471bvLLU1s52k1AuojYlfKUZGORn3oAn0/TdPksLZ3t42 - Zo0JJUZJIFVbLT7F9Rv43gQqjR7QVGBlecUtjZam9lbtHqBRTGpC+UpwMcDP - tVaztNQa/vUS+KOhTc3lqd2V447YoAsalYWUdzYrHAih5cMAo5GOhq/daZp6 - 20zLbRghGIO0elZGoWmoJcWayXxkLS4U+Wo2nHX3q7c2OqLbys2ollCNkeUo - yMdKAHaXp1hLp1vJJbxszICSVBJqC1sLJtVvomgQogi2gqMDK84pum2epPYQ - PFfmNCgwvlqcD0zUNtaag2p3kaXxV1Ee5/LU7sjjjtigCxqmn2MT2QjgRd9w - ithQMg54NaUul6cInItowQp/hHpWLqVpqCNaebfGTdOoX92o2tzg8dcelaEt - jqgjcnUiRg8eUtAEej6fYy6bBJLbo7MvJKgk8187+KbuC81+9mtlCwh9iBRg - YT5cj64z+Nes6xqN7ovhZbyO+KNMPLijCLnLE5w3XgZOa8c0TS5da1W302Lg - zNhj12qOWP4CgqJ7LoWkQWXhjSmliXzbiZHckclZCSAfbbiu+Ol6bg/6LH/3 - yKwNRsb63htY2vd6CaNUHlqu09jx6elapsNVwf8AiZH/AL9LQSVdE0+xm0uC - WWBHdt2SVBJ+Y0kdhYnWpYTAmwQqQu0YznrioNHtNQk06F4L4woc4Xy1bHzH - uaRLTUDq8sYviJBEpL+WvIz0x0oAsaxYWMNtG0UCITKgyFA4J5Fa39lab/z6 - x/8AfArB1W01CO3Rpr4ygyIAPLUYJPB49K1PsGq/9BI/9+loAp6JYWM2npJL - AjsWfkqCeGNH2Cx/t0weQnl/Zt23aMZ34zj1qvo9pqElirw3xiTc3y+WrfxH - uaPsmof2yYvtx837PnzPLX7u77uOnXnNAFjW7CxhsGeKBEbcgyFAPLCtb+yt - N/59Y/8AvgVg6vaahFZF5r4zLuX5fLVe/qK1PsGq/wDQSP8A36WgCno1hYzW - jNLAjkSOMlQeAaHsLEa3HCIE8swFtu0Yzu64qvpNpqElszQ3xiXzHGPLU8g8 - nn1oe01D+144zfEyGEkP5a8Dd0x0/GgCxrlhYw6XPLDAiOu3BCgEfMK1v7K0 - 3/n1j/74FYOs2moRabM898ZkG3KeWq5+YdxWp9g1X/oJH/v0tAFPSLCyliuD - LAjFZ5FGVBwB0FE1hZLrFtCIECNG5K7Rgke1V9KtNQkjnMN8YgJnBHlqckdT - z6+lE1pqA1a3ja+JkMbkP5a8DuMe9AFvWNPsYdMnkit0R1AwQoBHIrQi0vTj - GhNtHkgfwisfVrPUY9Pmea+MqADK+WozyO4q9HY6qY1I1IgYHHlLQBW0qwsZ - TeeZAjbLiRRlQcAYwB7UXWn2K6tZRLAgR1l3DaMHA4yKr6baahIbvyr4x7Z3 - Dfu1O5hjLc9M+lFxaagup2cbXxZ2Em1/LUbcDnjvmgC9qunWEWnXEkdvGrKh - IIUAirVtpmnNbxM1tGSUUk7R6Vm6lZ6lHYTvLfmRApyvlqMj6irFvY6oYIyu - olQVGB5SnAx0oAh02wspJ75ZIEYJMQuVBwMdBRe2FkmpafGkCBZDJuAUYOF4 - zVfT7TUHmvBHfGMrKQx8tTuOOvtRd2moLqFij3xd3Mm1vLUbcLzx3zQBpajp - thHYXEiW8assbEEKMggU+y03T3s4He2jLNGpJKjJJAqnf2WpJZTvJqBdQjEr - 5SjIx0zTrOy1NrSBk1AopRSF8pTgY6ZoAZYWFjJe36PAjKjqFBUYAx2o1Cws - Y7yxRIEVXkYMAowRjvVeytNQe7vVjvijK6hm8tTuOOuO1F9aagl3ZLJfF2Zy - FPlqNpx1x3oA1b3TdPSzndLaMMsbEEKOCBUenabYSWFvJJbxszRqSSoyTiob - uy1NbSZn1AuoRiV8pRkY6ZplhZak9jA8eoGNSikL5SnAx0zQAWVhZPqeoRvA - hSMxbQVGBlecUalYWMc9kscCKHmAbCgZGDwar2lpqDajfIl8UdDHuby1O7K8 - cdsUahaagk1mJL4yFpQFPlqNpx196ANi40zTlt5WW2jBCsQdo9Kq6Vp1hLp1 - vJJbxszICSVBJonsdUEEhbUSwCnI8pRniq+m2epSWEDxX5jQqML5anA+poAd - bWFi2rXsTQIURY9o2jAyOcUarYWMRs/LgRd9zGpwoGQc5B9qr29pqDandxrf - FZFWPc/lqd2Rxx2xRqdpqEZtPNvjJuuEC/u1G1jnDcdcelAG3JpenCNiLaPg - H+EVn6Np9jNpkEktujuwOSVBJ5NTSWOqhGJ1IkYPHlLVHSbPUZNOheG+MSEH - C+Wpxye5oAlhsLE6xcQmBCixoQu0YBPtRq9hYxRW5igRS08anCgZBPIqvFaa - gdWnjF8RII1Jfy15HYY6cUapaahHHAZr4ygzIAPLUYJPB49PSgDe/srTf+fW - P/vgVk6HYWM2lwyzQI7ndklQScMaufYNV/6CR/79LWXo1pqEumwvBfGFDuwv - lq2PmPc0AWEsLI63JCYE8sQBtu0Yzu64o1mwsobRXigRCZEGQoHBNV1tNQ/t - h4hfESCEEv5a8jd0x0/GjVrTUI7VWmvjKvmIMeWq854OR6UAb39lab/z6x/9 - 8CsnRbCymsQ8sCO29xkqCeGq59g1X/oJH/v0tZekWmoSWQaG+MK7m+Xy1bnP - JyfWgCwbCy/twQeQnl/Z923aMZ34zj1o1vT7GHTnkigRGDJyFAPLCq5tNQ/t - kRfbj5vkZ8zy1+7u+7jp15zRrFpqEdg7zXxmQFcr5arn5h3FAG9/ZWm/8+sf - /fArJ0fT7Ga3laWBHIlcAlQeAeBVz7Bqv/QSP/fpay9KtNQkgkMN8YgJXBHl - qckHk8+tAFiSwshrUMIgTyzCxK7RjOeuKXW9PsYdLnligRHULghQCPmFVpLT - UBq8UZviZDExD+WvAz0x0pdYtNQi06Z5r4zIMZXy1XPzDuKANxdL03aP9Fj/ - AO+BWVpOn2MqXRkgRttxIoyoOAMYFWlsNV2j/iZH/v0tZul2moSLc+VfGLbO - 4P7tTuYdTz0z6UAWJ7CxXV7WJYECMjkjaMEjpxW1Fp9jC4lhgRHXoQoBFc7P - aagNVto2vi0jI5D+WvygdRjvmtq3tNQimV574zIM5Xy1XPHqKANOiiigAooo - oAKKKKACiiigD//W/c+31CZdTu5RZysXWPKgDK4Hf60alqE0ptN1nLHsnRhu - A+YjPA9zV61ngGsXzmRQpWLByMHijV54GNjtkU4uYycEcDmgB8mqzlGH2Ccc - HsKo6TqM0OnwxrZyyBQfmUDB5PSuglubby3/AHqdD/EKztEuIE0u3V5FBAPB - IHc0AZsWoTDVZ5hZyktGg2YG4Y7mjVNQmljgDWcse2ZGywHOD0HuavQTwDWr - lzIu0xJg5GKNZngeK3CyKcTxngjpmgCb+1bj/oHz/kKy9G1CaDTYYls5ZQu7 - 5lAwcsa6b7Vbf89U/wC+hWPoE8CaTAryKpG7gkA/eNAFFdQmGsPP9jl3GELs - wN2N3X6UatqE01sqtZyxgSIcsBjg9KvJPB/bsj+Yu3yAM5GM7qNbnge0QJIp - Pmp0IPegCb+1bj/oHz/kKy9I1CaGyEa2cso3MdygY5JrpvtVt/z1T/voVj6F - PAmnhXkVTvfgkD+I0AUTqE39sif7HLu8jbswN2N2c/SjWNQmmsHjazliBZfm - YDHDCrxng/t8P5i7fs2M5GM76NengfTXVJFY7k4BB/iFAE39q3H/AED5/wAh - WXpOoTQ28irZyyZkc5UDAyen4V032q2/56p/30Kx9EngS2lDyKD50h5IHegC - i+oTHV4pvscoIiYbMDceev0pdY1CabTpoms5Yg2PmYDA+YdauyTwf25C/mLt - EDDORjO6l12eB9JuFSRWJC8Agn7woAkGq3GB/oE/5CszS9QmiS4C2csm6d2+ - UDgnsfcV0ourbA/ep/30KyNGngRLrdIozcSEZIHHFAFGbUJm1W2mNnKCqOAh - A3HPcfSpNV1GabT542s5owy/eYDA571auJ4DrVo4kXaI5MnIxUmtXED6XcKs - iklegYHvQA2LVJxEgFhOcKOcD0rP03UJonuytnLJvnZjtA+UnHB966GG5thD - GDKn3R/EPSszSZ4Fe+3SKM3DkZI5HFAFG51CZ9TspTZyqUEmFIGWyO30qfUd - SmlsZ42spkDIRuYDA9zU95PAdX09hIpCiXJyMDKirGq3Fu2m3KrKpJQ4AYUA - VrbVJ1t4lFjMwCKMgDB4qlYahNHcXjCzlcvJkgAZXjoa3rS5txawgyoCEX+I - elZ+mTwLdX5aRQGlyMkc8UAUbzUJnv7GQ2cqmNnwpAy2V7fSrN9qc8llcIbG - ZA0bDcQMDI6mpb+eBtS05hIpCtJk5HHy1b1G5t20+5VZVJMT4G4ehoAoWWpz - pZwILGZgsajIAwcDqKq2WoTJe3sgs5WMjKSoAyuB3rbsLm3WwtgZVBEacbh/ - dFUtPngXUNQYyKAzpg5HPy0AUb7UJpLmzY2cqFJCQCBluOgq5danO9tMpsZl - BRhkgYHHWnalPA13YFZFIWU5wRxxV+8ubc2c4EqEmNv4h6UAZOn6lNHYwRrZ - TOFRRuAGDx1FQWuoTJqV9KLOVjJ5WVAGVwvf69q19LuLddOtlaVQRGuQWHpV - ayngGrakxkUBvJwcjBwtAFHUdQmlksy1nKmyZWAYD5vYe9X5tUnaGRTYTjKk - ZIHHFJqs8DS2O2RTidScEcDBrSuLm2MEgEqfdP8AEPSgDE0zUZorCCNbKaQK - uNygYP0qKDUJl1S6lFnKS6oCoAyuB3+tamj3EC6Zbq0ighehYVDbTwDWbxjI - oUpHg5GDxQBR1PUJpRa7rOWPZPGw3AckZ4Hua0n1WcqR9gn6HsKj1ieBhZ7Z - FOLmMnBHA5rWe5ttjfvU6H+IUAc7pGoTQ6dDEtnLKFB+ZQMHk9KbHqEw1aab - 7HKS0ajZgbhg9TWhoc8CaVbq8iqQDwSAfvGmxTwDXJ3Mi7TCozkY60AUdV1C - aaGJWs5Y8SocsBzg9Pqa1P7VuP8AoHz/AJCodange3hCSKSJozwQe9bH2q2/ - 56p/30KAOZ0fUJodPjjWzllALfMoGDljQNQm/thp/scu7yAuzA3Y3Zz9KvaD - PAmlxK8iqQX4JA/iNCzwf28z+Yu37OBnIxnfQBR1fUJprQI1nLEN6HLAY4PS - tT+1bj/oHz/kKh1yeB7EBJFY+YnQg962PtVt/wA9U/76FAHM6RqE0NoUWzll - G9zlQMcnpQ2oTf2ws/2OXcICuzA3Y3Zz9KvaHPAliQ8iqfMfqQO9DTwf28j+ - Yu37ORnIxndQBR1jUJptPkjazliBK/MwGBhhWp/atx/0D5/yFQ69PA+lyqki - scpwCD/EK2PtVt/z1T/voUAczpWoTQwyqtnLJmVzlQOMnp9RRLqEx1aGb7HK - CsbDZgbjk9RV7RZ4EgnDSKMzyHkgcZomngOt27iRdoicZyMdaAPD/HWkyWup - tqkdtJBb3jZIYYAk6sPx6/nWz4A8Wtp+dEulaWORswYIyGPVeex6j3+teoeK - I7LUdDurWR1fcFxggkEMMEe4r5y1fSrnRL9rOchtvKOvRl7Ef54NBS1PobTN - QmiF1ts5ZN88jHaBwTjg+4on1CZtUtZTZygorgKQMtkdvpXJeAvGFtLG2l6r - LsuXcusjnAkJA4J/vcfj9a7u5ngOs2bCRSoSTJyMDigmxW1PUZpbCeNrKaMM - uNzAYH1q1Dqk6wxqLCc4UDIA54qXWLiBtMuFWRSSvQMKuW9zbCCMGVPuj+Ie - lAHP6dqE0cl4Vs5X3zMxAA+XgcH3outQmfUrGU2cqmPzcKQMtlccfTvV7Sp4 - Flvi0ijM7EZI5GBRezwHVtOYSKQvnZORgZWgDwH9o/4A/C/9prwK/hD4peHp - p1tfMksb6IiK7sJnABkhl5xnA3KwZGwNynAr8grr/gifPLqYk034ozJpch3A - SaGJJ1U9Blb1VY/7WF+nav6BNUuLdtOuVWVSTG2AGHpU1lc24s4AZUBEa/xD - 0oA+Cf2RP2IfhJ+yfPea34etLzxH4uuIzbTaxeKokjiYgtFBCp2QqxAzgs5x - guRxX1D8VfA/hH4weFbn4ffEPQG1TQdXRori1lypccMrIykMrowDKykFSAQc - 16Nps8C3d+WkUBpRjJHPFGoTwNqGnsJFIV3ycjj5aAPwU8Zf8EVrKbW7m88E - fEa707RXZmjg1DSluZ4E5IBmiuYlkwO/lpX6F/se/sSfC39kqzm1rQba88Se - L9Tg8m51q6RUbyGIYxW0KllhjJALcs7EDcxAAH3bf3Nu1hcgSqSY343D+6ab - p1zbrp9srSqCIkyNw9BQB+e/7a37G0n7ZUPh+xHiebwk3hm4uZsjTRqBl+1R - xLtK/abfZt8vIOWznoK+qPhd4Ol+Ffww8BfDLfNqP/CIabZaYLpoRAbk2cCw - +YIt77N+3dt3tjpk9a9VsJ4F1LUWMigM0eDkc/LRqc8DXNgVkUhZsnBHHFAH - 5jy/8E+Zv+GxZv2t28ZzgNqj6p/Y39kAYzAYfL+1/a+33t3k+2O9dH+1P/wT - 0+FP7VF/B43nm1Lwt4xFvFbvqVoq3NvcxxDbH59tIyhii8KyPGccMWwMfpLd - 3NubWYCVCSjfxD0qvpNxbrptsrSKCEGQWFAH89+nf8EUtRfU5IdR+KjG1hKk - +ToRMxB7ENe7UyOhy30r9YP2cf2X/hf+yn4QTwt8OdNu5Lm/uorjUNSvij3l - 7JGpCKzIqqqJk+XGoCrknlmZj9UWk8A1fUGMigMIsHIwcKaNWngZ7HbIpxcI - Tgjgc0AfDf7Y/wCxD8OP2vbex1nWRe+GfF2kQm3tdXtokm3W+4v5NxCzKJY1 - ZmZMOjKWOGwSD8E+Af8Agi94ctrmS+8feP77WrUpKIYNP0xbQFypETySPcSl - lVsMyKFJAwHGc1+9s1zbGGQCVPun+IelUNFuIE0u3VpFBC9CwHegD86/2Gv2 - Jpv2NNb8Y3Y8Vy+MD4ngsotg0wae1v8AZWlbJ/0q43bvM9sY7545f40/sAP8 - U/2tdI/alfxnNpIsNS0S8OkNpQm8w6SYfkF19rTBl8nr5J256Niv04t54BrV - 25kXaY48HIxRrM8Dpa7ZFOLiMnBB45oAxvFUVx4l8Max4c+zT239q2dxaebs - D+X58bR7tuVzjdnGRn1Ffn9+wv8AsNy/sea54m8TL4tm8Y/8JNaQWoRdLFis - PkSM5bd9qn37s4xhcY71+mJurbB/ep/30KydCngTSbdXkVSA3BIB+8aAPif9 - tX9lmb9sPwfpXgX+35fCR0nUItS877AL9n2QzQ7PL+0W+0Hzc7tx6Yxzket/ - AX4VzfAP4F+Evg215LrQ8Mq0X29rYWon8y4kmz5PmS7Pv7cb26Z74r3yOeD+ - 3Jn8xdpgUZyMZ3Ua3PA9rGFkUnzYzwQe9AH5aftRf8EvPhT+0B4uvfiJ4Qur - 3wB4j1V3mvzBareWV3O5yZmtzJEUkY8uUcKx+YruJJ+bPhv/AMEYPD9vq9vq - fxK8fXut6XG+Xs9L05bNpQp+6bmWebaD0OI8+jA81++32q2/56p/30Kx9Bng - TTUV5FU7n4JA/iNAHjV98MPDkHwv1H4K+DdNbw7odx4dudCtIoo/N+yQ3ETw - iQKzgybd247ny7Zy2STXyh+xj+xDL+xtH4zmbxXN4s/4S4aauW0wacLf7C05 - /wCfq437/O/2cbe+eP0UE8H9vl/MXb9mxnIxnf0o1yeB9PKpIrHenAIP8QoA - m/tW4/6B8/5CsvSdQmhtmVbOWQGRzlQMcnp+FdN9qtv+eqf99CsfRJ4EtHDy - KD5r9SB3oA/Jz4j/APBNmX4r/tVy/tC+O/Hs2o2lzq1rqT6EdGA3Wdk0axWX - 2g3hGzy41jaTyhnk7QTX6q6zqE0+mzRNZyxBtvzMBgfMKvPPB/bsb+Yu3yGG - cjGd1GvzwPpM6pIrE7eAQT94UAfOH7WXwE079qr4Maj8JdVefRJp7i2vLPUf - swujaXFu+d4h8yLfujMkZG9eHJz2r5f+Ev7M+ufsk/sjfGj4eXHiuXxlpupa - XrV9bn+zvsIs5G054ph/x83G4PsQ4+UKQeu41+o/2q2/56p/30K8u8a+HJPH - Hww8a+CLO6itbnxFYanp8Usp+RHu4HhV2xk7QWycDOOlAH8sH7C37HHhz9r6 - 28faRqmuXfh/U/Dq6ZJZXNtCl0mLk3IlWWBmjLg+WuCJEIPqDiv0S+Gf/BGz - wh4V8QweIPin4yu/FGm2UgkGnW+nCwim2sConma4nbYf4kRVJ6B6+jv+CeX7 - FXj/APY+8Q+Mp/Huv6PrCeKYLFYDpkk7eWbMz7/M86KLGfNG3Gehzjiv081u - 4gfS7hUkUkgcAg9xQB4z8eLsW37PHxEsbXTZLeCLwtq8aKqqqIi2MoAAHAUD - oB0FfzIfsJ/sa+G/2wNO+IemaprV7oGqeGhpUljd2sKXUQF0boSrNAzRlwfK - XaVkQgg9QcV/Vb8SvD7eOvhj4q8EWN3DbXPiHR77TopZW+SOS7t3hVmxk7QW - ycDOK/PX/gnH+xl49/ZFvfiDcePde0jVV8TDTobcadJMxQ2JuC5fzoouG85d - uM9DnHGQD5q+FP8AwRw8G+FvGen6x8VvGF34t0y2lMv9l2unjT1ufLOVWWVr - idjGf41UKccB+9ftfqZtpdBn0ZtJMdi0Bg8oxr5Ii27dmzpt28YxjHFal1PA - dYsWEilQsuTkYHFT6vcW7aZcqsiklDwGFAH4c/EH/gjF4H8Q+I7nWPhz451H - wrpV0xkSwudLXUxDvOdkU32q3by16KHDNjqxPNfV/wC1x+xLJ+1j4X8HeGB4 - rm8MN4Lkn/erpgvvtHnxQx4KfaoPLI8nP3m647Zr9IbW5thbRAyoCEX+IelZ - 2lzwLcX5aRQDMSMkc8UAeVfCrwdJ8Kvhx4B+Gm+bUv8AhD9JttLFy0IgN19k - t0hMgi3vs3bd23e2M4yetfmb+0V/wST+GHxM8TX/AI3+Feq3fw8uL92nubA2 - aXmmhzyxgQSQvAGPJUM6DoqqMAfsPfTwHVNOYSKQplycjj5atancW7adcqsq - kmN8AMPSgD8av2cf+CS3gX4VeNtJ+InxI8RX3jW70aeK9srO2tBp9otxCweJ - 5W86WSUIwDAAxgkDcGXIP1H+1x+xT8PP2vreG61573w/4o0fMdlqlpEkzJFJ - hmhuIWK+bHkFlAdCrEkMAzBvvaxubcWVuDKoIjT+Iegqjp08C32oEyKA0i45 - HPy0Afgr4U/4Iuafp3iiyl8d/Ea61PQklzJa2WlizubhByVWV7mdYye52Px0 - 9a+t/wBjL/gn9J+x9438R+Of+Eyn8VjW9Ik0wQHSRYCENNHN5hk+13G7Hl4x - tHXOe1fpnqM8DX2nlZFIWRs8jjir19c25srgCVSTG/8AEPQ0AfJn7Tn7MfgD - 9rH4Z2Pgfxza3tnc6W4uNN1OzCefazFdrEB8q8cgwHQ/eABBVgrD5w/Yn/YD - b9kD4o+IPHsPjKbxYup6U+li0OlCyaISzwziRpPtUwOPJ27dgznORjB/T7TL - i3XTrZWlUERrkFh6VVsZ4BqmosZFAYxYORz8tAH5kfGf9gF/in+1zo37UbeM - ptK+w6lot7/ZB0oTGQ6R5J2Ldfa0x5vk9fKO3PRsc/oB8TvBnhP4ueBNY+Hf - xC8PPq2g6zCYriCUYBwQyurKQyOjAMrKQVYAg5Fdvqk8DT2BWRTicE4I4GDW - jc3NsbaUCVPuN/EPSgD+f/xL/wAEV7S/1d7zwR8SLmy0edi0cF7pK3U0SE8D - zo7mFZMevlpX6D/se/sS/DH9keS/1LQ4rrxJ4uvoBBc6vdRrHIsLEMYoIVZl - hjYqpI3MzEcuQAB936RcW66ZbK0ighBwWFQWs8A1i+cyKFKxYORg8UAfB/7d - P7IUn7Y+leDtNbxJN4OPhm5u3Dtp4v8A7R9sWJdoH2i32lfK45Oc9sV9WfCL - wnN8KPhL4R+F48/Ux4U0ey0v7WYRB5/2OBYfN8ve+zdtzt3tjOMnrXomrzwM - bHbIpxcxk4I4HPNastzbeW/71Oh/iFAH5VaR/wAE+JYf2vof2th41mlVdUOp - jR10kYP7kw+X9r+1/ju8n2x3r2b9rH9jD4Xftdy2914wj1HRvEWk2/k2Wo2J - UyRxsSxjmhkykkRY7sfK4PRwCQft7RLiBNLt1eRQQDwSB3NRwTwDWrlzIu0x - Jg5GKAP59bj/AIIpapDfKD8VStiz7QzaERLgngbft20n/gVfp1+yN+xX8LP2 - RLS9vvC1pf694o1aJYbzWL5IxKYlO4w28acQxMwDMuWZiBudtqgfaGszwPFb - hZFOJ4zwR0zWx9qtv+eqf99CgDmdG1CaDTYYls5ZQu75lAwcsTQuoTDWHm+x - y7jCF2YG773X6Ve0GeBNJgV5FUjfwSAfvGhJ4P7dkfzF2+QBnIxndQBR1bUJ - prVUazljAkQ5YDHB6Vqf2rcf9A+f8hUOuTwPZqEkVj5idCD3rY+1W3/PVP8A - voUAczpGoTQ2QjWzllG5juUDHJNB1Cb+2RP9jl3eRt2YG7G7OfpV7Qp4E08K - 8iqd78EgfxGgzwf2+H8xdv2bGcjGd9AFHWNQmmsHjazliBZfmYDHDCtT+1bj - /oHz/kKh16eB9NdUkVjuTgEH+IVsfarb/nqn/fQoA5nSdQmht5FWzlkBlc5U - DAyen1FEmoTHV4pvscoIiYbMDceev0q9ok8CW0oeRQfOkPJA70STwf25C/mL - tELDORjrQBS1jUJptOmiazliDY+ZgMD5h1rRXVbjA/0Cf8hTNdngfSbhUkVi - QvAIJ+8K1lurbaP3qdP7woA5rS9QmiW5C2csm6d2O0DgnsfcUT6hM2q20xs5 - QVRwFIG457j6Ve0eeBUu90ijNxIRkjpxRcTwHWbRhIu0RyZORigCrquozTaf - PG1nNGGX7zAYHPerkWqTiJALCc4Uc4HpTtauIH0u4VZFJK9AwPer8NzbCGMG - VPuj+IelAHPabqE0T3ZWzlk3zsx2gfKTjg+9FzqEz6nZSmzlUoJMKQMtkdvp - V7SZ4Fe+3SKM3DkZI5HFF5PAdX09hIpCiXJyMDKigCDUdSmlsZ42spkDIRuY - DA9zU1tqk628SixmYBFGQBg8VZ1W4t2025VZVJKHADCrFpc24tYQZUBCL/EP - SgDBsNQmjuLxhZyuXkyQAMrx0NF5qEz31lIbOVTGz4UgZbK9vpV7TJ4Fur8t - IoDS5GSOeKL+eBtR09hIpCtJk5HHy0ARX2pzyWVwhsZkDRsNxAwMjqaWy1Oe - OzgQWMzhY1GQBg4HUVf1G5t20+5VZVJMT4G4ehpdPubdbC2VpVBESZG4f3RQ - Bi2WoTJe3sgs5WMjKSoAyuB3ovtQmkubNjZyoUkJAIGW46Cr2nzwLqGoM0ig - M6YORz8tGpTwNd2BWRSFlOcEccUANutTne2mU2MygowyQMDjrUWn6lNHYwRr - ZTOFRRuAGDx1Fa15c25s5wJUJMbfxD0qHS7i3XTrZWlUERrkFh6UAZFrqEya - lfSizlYyeVlQBlcL3+vajUdQmlksy1nKmyZWAYD5vYe9XrOeAatqLGRQG8nB - yMHCmjVZ4GlsdsinE6k4I4GDQAs2qTtDIpsJxlSMkDjiqml6jNFp8Ea2U0gV - fvKBg/Sty4ubYwSASp90/wAQ9KpaPcQJplurSKCF6FhQBmQahMuqXUos5WLq - gKgDK4Hf60anqE0otd1nLHsnjYbgOSM8D3NXraeAazeMZFClI8HIweKNYngY - We2RTi5jJwRwOaAJH1WcqR9gn6HsKz9I1CaHToYls5ZQoPzKBg8npXRPc22x - v3qdD/EKy9DuIE0q3V5FUgHgkA/eNAGfHqEw1aab7HKWaJRswNwwev0o1XUJ - poYlazljxKhywHOD0+pq9FPANcncyLtMKjORjrRrU8D28ISRSRNGeCD3oAm/ - tW4/6B8/5CsvRtQmg0+ONbOWUAt8ygYOWNdN9qtv+eqf99CsfQZ4E0uJXkVT - l+CQP4jQBRGoTf2w0/2OXd5AXZgbsbs5+lGr6hNNabGs5YxvQ5YDHB6VeWeD - +3mfzF2/ZwM5GM76NcngexwkisfMToQf4qAJv7VuP+gfP+QrL0nUJobQotnL - IN7nKgY5PSum+1W3/PVP++hWPoc8CWRDyKp8x+pA70AUW1Cb+2Fn+xy7hAV2 - YG7G7OfpRrGoTTafJG1nLECV+ZgMDDCrzTwf28j+Yu37ORnIxndRr08D6XKq - SKxynAIP8QoAm/tW4/6B8/5CsvStQmhhlVbOWTMrnKgcZPT6ium+1W3/AD1T - /voVj6LPAkE4aRRmeQ8kDjNAFGXUJjq0M32OUFY2GzA3HJ6inavqM02nTRNZ - yxhgPmYDA5HWrk08B1u3cSLtETjORjrT9cuIH0q4VJFYkDgEE9RQAqarcBFH - 2CfoOwrN0vUJohdbbOWTfPIx2gfKTjg+4rpEurbYv71Og/iFZOjzwKL3dIoz - cyEZI5HHNAFG41CZtUtZTZyqUVwFIGWyO30qXU9RmlsJ42spowy43MBgfWrN - zPAdZsnEi7QkmTkYHFTaxcQNplwqyKSV6BhQBFDqk6wxqLCc4UcgDniqGnah - NHJeFbOV98zMQAPl4HB966C3ubYQRgyp90fxD0rN0qeBZb4tIozOxGSORgUA - UbrUJn1KxlNnKpj83CkDLZXHH071PqGpTSWM8bWUyBkYbiBgcdTU97PAdW05 - hIpC+dk5GBlas6pcW7adcqsqkmNsAMPSgCpa6nOlrCgsZmCooyAMHA61TsdQ - mjur1xZyuXkBIAGV46Gt2yubcWcAMqAiNf4h6VQ02eBbzUC0igNIMZI54oAo - 3uoTSXlk5s5UMbMQpAy2R2q1e6nO9nOhsZlDRsMkDAyOpqTUJ4Gv9PZZFIV3 - ycjj5au39zbtYXIEqkmN+Nw/umgDNsdTnjsrdBYzOFjUbgBg4HUVWs9QmS/v - pBZysZCmVAGVwvf61s6dc266fbK0qgiJMjcPQVUsZ4BqWosZFAZo8HI5+WgC - jf6hNJcWbNZyoUlyAQMtx0HvV251SdreVTYzKCjDJAwOKXU54GubArIpCzZO - COOK0Lu5tzazASoSUb+IelAGPpupTRWEEa2UzhUA3KBg/SobbUJl1O9lFnKx - cR5UAZXA7/WtbSbi3XTbZWkUEIMgsKr2k8A1fUGMihWEWDkYPy0AUdS1CaVr - QtZypsnVhuA+YjPA960JdUnMbj7BOMg84FN1aeBnsdsinFwhOCOBzWpNc2xi - cCVPun+IelAHzz4uTWZhbT3MLLYQpshYAlMnkkn1J/QV0vw8s5dOaXUpbWSW - WaMBAo5EZOc8/wB7HHtXpultZS6NDbXRjdGQhkcgggnoQabay20er3IR0WMR - RhcEAcdhQO5T1TUJpUtw1nLHtnRvmA5I7D3NaZ1W4wf9An/IVFrM8Dpa7ZFO - LiMnBB45rXN1bYP71P8AvoUCOb0fUJodOhiWzllC5+ZQMH5j0pE1CYavLN9j - lJMSjZgbhz1+lX9CngTSbdXkVSA3BIB+8aSOeD+3Jn8xdpgUZyMZ3UAUdW1C - aa3RWs5YwJEOWAwcHp+Nan9q3H/QPn/IVDrc8D2sYWRSfNjPBB71sfarb/nq - n/fQoA5nR9QmhsVjWzllAZvmUDHLGj+0Jv7ZM/2OXd5G3Zgbsbs5+nar2hTw - JpyK8iqdz8EgfxGgTwf2+X8xdv2bGcjGd/SgCjrGoTTWRjazliG5TuYDHBFa - n9q3H/QPn/IVDrs8D6eypIrHenAIP8QrY+1W3/PVP++hQBzOk6hNDbMq2csg - MjnKgY5PT8KH1CY6vHN9jl3CErswN2N3X6Ve0SeBLRw8ig+a/Ugd6Hng/t2N - /MXb5DDORjO6gCjrOoTT6bNE1nLEG2/MwGBhhWp/atx/0D5/yFQ69PA+kzqk - isTt4BBP3hWx9qtv+eqf99CgDmdK1CaGOcLZyybpnbKgcZ7H3FE2oTNq1vMb - OUFY3GwgbjnuKvaNPAkVzukUZnkIyR0zRPPAdbtnEi7RG+TkYoAqatqM02nz - RtZzRhgPmYDA5HWr0eqTiNR9gnOAOcCl1u4gfS7hUkUkgcAg9xWhFc23lJ+9 - ToP4h6UAc7puoTRG722csm+d2O0D5SccH3FFzqEzanZymzlUoJMKQMtkdvpV - 7SJ4FN9ukUZuZCMkcjii7ngOsWLCRSAsuTkYHAoAr6lqM0thPG1lNGGUjcwG - B9asW+qTrBGosZmwoGQBg8VPq9xbtplyqyKSUPAYVatbm2FtEDKgIRf4h6UA - YGn6hNHNeMtnK++UkgAfLx0PvRd6hM+oWMhs5VMZkwpAy2V7fSr2lzwLcX5a - RQDMSMkc8UX08B1TTmEikKZcnI4+WgCK/wBSnksp4zZTIGRhuIGBkdTTrPU5 - 0tIEFjMwVFGQBg4HUVd1O4t2065VZVJMb4AYelSWNzbiytwZVBEafxD0FAGH - ZahNHd3rizlcu6kgAZXjoaL7UJpLuyc2cqFHJAIGW46Cr2nTwLfagWkUBpFx - yOflo1GeBr3TysikLI2eRxxQAy71Od7SZDYzKGRhkgYGR1NMsNSnjsYIxZTO - FRRuAGDgdRWpfXNubK4AlUkxv/EPQ1Hplxbrp1srSqCI1yCw9KAMe01CZNRv - pRZysZDHlQBlcL3+tGoahNJNZs1nKmyUEAgfNx0HvV6xngGq6ixkUBjFg5HP - y0apPA09gVkU4nBOCOBg0AE+qTtBIpsJxlSMkDA4qvpmpTRWEEa2U0gVQNyg - YP0rZubm2NtKBKn3G/iHpVXSLi3XTLZWkUEIOCwoAyrfUJl1O7lFnKxdY8qA - Mrgd/rRqeoTSm03WcseydGG4D5iM8D3NXrWeAaxfMZFAKxYORg8GjV54GNjt - kU4uYycEcDnmgB8mqzlGH2CccHsKo6TqM0OnQxLZyyBQfmUDB5PSuglubby3 - /ep0P8QrN0S4gTSrdXkUEA8EgdzQBnRahMNVnmFnKS0ajZgbhjuaNU1CaWOA - NZyx7ZkbLAckHoPc1egngGtXLmRdpiTByMUazPA8VuFkU4njPBHTNAE39q3H - /QPn/IVl6NqE0GmwxLZyyhd3zKBg5Ymum+1W3/PVP++hWPoM8CaTAryKpG/g - kA/eNAFFdQmGsPN9jl3GELswN33uv0o1bUJprVUazljAkQ5YDHB6VeSeD+3Z - H8xdvkAZyMZ3Ua5PA9moSRWPmJ0IPegCb+1bj/oHz/kKy9I1CaGzCLZyyjcx - 3KBjk1032q2/56p/30Kx9CngSwCvIqne/BIH8RoAonUJv7ZE/wBjl3eRt2YG - 7G7OfpRrGoTTWDxtZyxAlfmYDHDCrxng/t8P5i7fs2M5GM76NdngfTZFSRWO - 5OAQf4hQBN/atx/0D5/yFZelahNDBIq2csmZXOVAwMnp9RXTfarb/nqn/fQr - H0WeBLaUNIoJmkPJHrQBRk1CY6vFN9jlBETDZgbjz1+lLrGoTTadNE1nLEGx - 8zAYHzDrV2SeD+3IX8xdohYZyMdaXXZ4H0m4VJFYkLwCCfvCgB66rcYH+gT/ - AJCs3S9QmiW5C2csm6d2O0DgnsfcV0q3VttH71On94VkaPPAqXe6RRm4kIyR - 04oAoz6hM2q20xs5QVRwFIG457j6VtW+oTTzLE1nLEGz8zAYHHeqdxPAdZtH - Ei7RHJk5GK2lngdgqSKxPYEE0AS0UUUAFFFFABRRRQAUUUUAf//X/dS202wf - VbyFoFKRrHtGOBkc0uqaZYQmz8qBV33CK2B1U5yKht7fUzql2iXarIoj3N5Y - O7I44zxijUrfU0Np512r7p0C/uwNrc4Pvj0oA2JNH0wRsRbJkA9qz9H0zT59 - NgllgV3YHJI5PJqzJa6zsbN8pGD/AMsh/jVHSbbVH0+FoLxY4yDhTGDjk980 - APh0ywbV7iAwKY1jQgY4BNGraZYQxQGKBVLTRqcDqCeRUMVvqZ1WdFu1EojU - lvLHI7DFGqW+ppHAZ7tZAZkAxGBhs8H8KANv+xtL/wCfZPyrJ0TTbC40uGaa - BXdt2SRzwxFX/smtf8/6/wDfof41l6Nb6m+mwtb3axRndhTGGx8x75oAlTTb - A61JbmBfLEAbbjjO7GaXWNMsILVXhgVGMiDIHYnmoVt9T/th0F2vm+SCX8sY - 27umKNWt9TS2Uz3ayL5iDAjA5zwaANv+xtL/AOfZPyrK0bTbCexEk0Cu25xk - j0Y1e+ya1/z/AK/9+h/jWXpFvqb2QaC7WNNzcGMNzk55oAmOmWH9ti38hfL+ - z7tuON2/GaTWtNsLfT3lhgVGDLyB6sKiNvqf9shPta+b5Gd/ljG3d0x9e9Gs - W+ppYO1xdrKmVyojC/xDHOaANv8AsbS/+fZPyrJ0fTbCe3kaaBWIlcAkdgeK - v/ZNa/5/1/79D/GsvSbfU3t5DBdrGvmOCDGDk55PWgCaTTLAazFAIF8swsxX - HGQetGtaZYW+mTywwKjrtwQOR8wqF7fU/wC14kN2plMTEP5YwBnpil1i31RN - Oma4u1kjGMqIwufmHfNAGyNH0vA/0ZPyrK0nTbCZLkywK2yeRRkdAMYFXhaa - zgf6ev8A36H+NZml2+pulx5F2sYE7hsxg5bufx9KAJZ9NsF1e2gWBRG6OSMc - EjpUmr6Xp8OnTyxQKrqvBA5HNVprfUxqtsjXamUo+1vLHA7jGeak1W21RNPn - ae8WRAOVEYGefXNAGlDpGmNEjG2QkqO3tWdpmm2Ez3glgVvLndVyOgGOKtxW - usGJCt8oGBgeUPT61n6bb6m73fk3aoVnYNmMHc3GT7fSgCa60ywTVLGFYFCS - CXcMcHC8VPqeladFp9xJHbqrKhIIHQ1SubfUxqdkj3atIwk2N5YG3A54zzmp - 9RttVWxnaa8V0CHK+WBkfXNAF210jTXtona3QlkUk47kVR0/TbCW5vUkgVhH - LhQR0GKntrXWDbxFL5VUouB5QOBj61SsLfU2uLwRXaoyyYY+WDuOOvXigCW9 - 02wj1CwiSBQsjPuGOuF4q1f6Vp0djcSR26KyxuQQOhAqheW+prf2KyXas7F9 - jeWBt+XnjPOas31tqy2Vw0t6roI2JHlgZGORnNAFix0nTZLK3ke3Qs0aEnHU - kCqljplhJfX0bwKVjZAox0ytSWVrq7WcDR3qqhjUgeWDgY4Gc1VsrfU2vb1Y - 7tVdWXefLB3HHHHagCbUNMsIrqxSOBVWSQhgB1GKu3ek6alrM6W6BlRiDjuB - WZfW+prc2Ylu1dmkIU+WBtOOvvVy6tdXFtMXvVZQjZHlAZGOnWgBdN0rTpbC - 3kkt0ZmRSSR1OKr2mm2D6pfwvApSPytoxwMrk4p2n22rNYwNFeKiFFwvlg4G - Omc1Ba2+pnUr5Uu1WRfK3t5YO7K8cZ4xQBLqem2EUtkI4FUSTqrYHUHPFaM+ - kaYsMjLbICFJHHtWTqNvqayWYmu1ctMoX92Btb196vzWusCGQtfKRtOR5Q9P - rQBFpWl6fNp0EssCs7LkkjrUdvptg2rXcLQKURYyoxwMjmk0y21V7CBobxY0 - K8KYwcD65qKC31M6pdIt2okCpubyxyMccdsUATarplhCLTyoFXfcRq2B1U5y - K0n0fTAjEWydD2rH1O31NBa+ddrJmeMLiMDDc4Pvj0rSe01nac3y4wf+WQ/x - oAqaNplhPpkEs0Cu7A5JHJ5NNi02wOsTwGBfLWJSFxwCTTNIt9UfToWgu1jj - IOFMYOOT3zTY7fUzq0yC7USiNSX8sYIz0xmgCXV9NsIIIWigVS0yKcDsTyK1 - v7G0v/n2T8qxNVt9TSGIz3ayAyoABGBg54P4VqfZNa/5/wBf+/Q/xoAo6Lpl - hcabFLNAruS2SR6MRQNMsP7aa38hfLEAbbjjO7Gah0e31N9Pja3u1ijJbCmM - Nj5jnnNAt9T/ALYZPta+b5AO/wAsY27umPr3oAl1nTbCCzDwwKjb0GQOxNa3 - 9jaX/wA+yflWJq9vqaWmZ7tZF3pwIwOc8HOa1Psmtf8AP+v/AH6H+NAFDRtN - sJ7MvNArtvcZI7A0NptgNbW38hfLMBbbjjO7Gai0i31N7TMF2sa734MYPOeT - nNDW+p/2wqG7XzfIJ3+WMbd3TH9aAJta02wt9NllhgVHBXBA55YCtX+xtL/5 - 9k/KsTWLfU00+Rri7WWMFcqIwufmGOc1qfZNa/5/1/79D/GgCjpGmWE0MzSw - KxWZ1GR2B4FEum2A1iCAQKI2iYlccEg1DpVvqbwymC7WMCVwQYwcnPJ/GiW3 - 1MatChu1MpjYh/LHAzyMZoAn1nTLCDTJ5YYFR1AwQORyKj1Xwjo2sWP2eSER - SYykifeVvX3HqKTV7fVE06Zp7tZIwBlRGBnkd81oJaaztGL5cYH/ACyH+NAH - kHhrwFcXGtTLqi5s7JyCR0lYHgD27n8u9ep3GmWC6taQrAoR1kLDHBwOKh0y - 31NxdeTdrHieQNmMHLcZPtn0ont9TGqWqNdqZCr7W8scDHPHfNA2y1qul6fD - p08sUCq6rkEDpVyDSNMaGNmtkJKgnj2rO1O21VLCdprxZEC8qIwMj65q1Da6 - wYYyt8oG0YHlD0+tAitpumWEst6JIFYRzMq5HQYHFF3plgmp2ESQKEk83cMc - HC5Ga4bWPFN94au5IFbzWlkcuQAOVwM4IPWsWT4iTSzw3Dq2+HdtO1eNwweO - 9A7HrWpaVp0VhcSR26KyoxBA6HFS2mk6a9pC726FmRSTjuRXkk/xHnnheFw5 - VwQRtUZB96dH8SbiKNI1DgIAANiHgUBY9N0/TLCW6vkkgVljkAUEdBii+02w - jvrGNIFCyM4YY64Wub8JatfeIfttxazfZyrqW3IG3FgefbpW9e2+pre2SyXa - s7M2w+WBtOOeO9AjRvtJ02OyuJEt0DLG5Bx0IBpthpWnSWNvJJbozNGhJI6k - ior211dbOdpL1WQRsSPLAyMcjOaSxttWayt2ivVRDGpA8sHAxwM5oAjstNsJ - NQv4ngUrGybRjpleaNR02wiuLJY4FUSS4YAdRjpXHa34ku/DN/KjyGR5z8zK - i87QOx6da5+f4iSzvE7q7GJty/Kowf60DsewXWkaaltK626AqjEHHcCq+maX - p02n28slurMyAkkdTXlknxKuJI2jYOQwIPyJ3plv8R5reFIYw6qgwBtU/rQF - j1C10ywfVL6FoFKRiLaMcDK80anplhE9mI4FXfOitgdQc8Vy3hTW73xHd3st - tL5DqIyxZFO7qBx2xiuj1K31NGtPOu1fdOoX92BtbnB9/pQKxrTaRpixOwtk - BCnt7VS0jS9Pm06CWWBWdl5JHJ5qeW11gROWvlIwcjyh6fWqelW2qPp8DQXi - xoRwpjBxz65oAWDTbBtXuYGgUxoiEDHAJ60atpthClsYoFXfPGpwOoOciuU1 - /Xbzw1evLLL5ry7VLKijtkcGuZufiJLciMSK7eW4cfKowR0PFA7Hsx0fS8H/ - AEZPyrL0XTLC40yCWaBXdt2SRyfmNean4mXJ4+f/AL4Sq9r8RZbW3S3iV1VM - 4G1T1OepoCx6lHplgdZlgMC+WIVYLjjJPWjV9NsILaN4oFUmVASB2J5rj/DP - iK88SatMtvIYJVhyXZFOVDAYwPrXVatb6mluhnu1kXzEAAjAwc8HrQI2/wCx - tL/59k/KsnRdNsLjT0lmgV2LNyR6Mav/AGTWv+f9f+/Q/wAay9Ht9TewRre7 - WJMthTGG/iOec0AS/wBm2H9uG38hfL+z7tuON2/GaXWdMsILEyQwKjbkGQPV - hXM+JNYvfDd2l3PN50joEyqAcEk4weO1cndfESW6i8mVXZcg42qOhz1FA7Hs - /wDY2l/8+yflWVo+mWE9qzzQK7CRxkjsDxXmv/Czbn/b/wC+EqvbfESW1jMc - auoLFvuqeT9aAsepPplgNajgEC+WYSxXHGd3WjW9MsLfS5poYFR124IHIywF - cT4f8UXfiLW1hhcxSiJvnZFIwDnGBXYazb6mmmzNcXayxjblRGFz8w75oFY2 - /wCxtL/59k/KsnSdNsJ4rgywKxWeRRkdAOgq/wDZNa/5/wBf+/Q/xrL0q31N - 45zBdrGBM4OYwct3P40ATTaZYLq9vAIFEbRuSMcEinavpmnwabPLFAqOoGCB - yORXPeJNRv8AQHj1CefzmRSAVQDAYgdOlcbc/EWa6geCRXZX4I2qP1FA7Hsc - ej6YY1JtkyQO1Zul6ZYTG882BW2XDquR0UYwK80X4l3KqFG/jj7iVBb/ABEl - t/N8tXXzXLn5VOSep56fSgLHqNzptgmq2cKwKEkWTcMcHA4qbVNL0+HT7iWK - BVdVJBA6V59o3i658Qa5aWkbGOUiTa7KuF+Uk8DrnFd5qdtqqWE7TXiugU5U - RgZH1zQKxettI01reJmt0JKqSce1UNN02wlnvVkgVhHMVXI6DHSrNva6wYIy - l8oUqMDygcDH1qjp9vqbTXgiu1QrKQx8sHccdfagCW802wj1GwiSBQkhk3DH - XC5FWtQ0rTorC4kjt0VljYggdCBXO+JLvUNFSDUbi4Exi3ldqAEdAfrnNcTN - 8SJ54XhcOVcFSNqjIPvQOx61ZaTpslnA726FmjUk46kiqlhplhJeX0bwKyxu - oUEdARXmMXxJniiSJQ4CAADah4FRw/ESWGWaVFcNMQWO1TnAx+FAWPUb/TbC - O8sUSBVWR2DADqMVdvNJ02OzndLdAyxsQcdCBXmFj41uNa1ayswWWRpMKxVc - KW4zgda9IvLXV1tJ2kvVZQjZHlAZGORnNArD9O0rTpbC3kkt0ZmjUkkdSRVe - z02wfUr+J4FKRmPaMcDK5NOsLbVmsYGivVRCi4XywcDHTOar2lvqbahfLHdq - simPe3lg7srxxnjFAE2paZYRTWSxwKokmCtgdRjpV+40jTFt5GW3QEKxHHtX - PeIZdR0y2jvri5EwgYuAECkFVJ/GuFf4lXDoyNvIYEH5E70Dseo6Xpenzafb - yywKzsoJJHWobbTbB9VvIWgUpGse0Y4GRzXmFv8AEea3hSCMOqoMAbVP602P - 4iSx3EtyquHlCgnavO3px2oCx6jqum2EJs/KgVd9xGrYHVTnIrTk0fTBGxFs - mQD2ryWHx1Pq99ZWR3BnnjCkqoCsTgHjrjPSvU5LXWdjZvlIwf8AlkP8aAsV - tH0zT59NgllgV3YHJI5PJpsOmWDavcQGBTGsaEDHAJpmk22qPp8LQXixxkHC - mMHHJ75pkVvqZ1WdFu1EojUlvLHI7DFAibVtMsIYoDFAqlpo1OB1BPIrV/sb - S/8An2T8q57Xl1Kzshc3F0JVjdWAEYU5GSDXA/8ACzbn/b/74Sgdj0rRNNsL - jTIZpoFd23ZJHPDEUiabYHWpLcwL5YgDbccZ3da8utfiJLaW628SuqrnA2qe - pz1NA+Ikoujd7X3smzO1emc4xQFj1HWNNsILRXhgVGMiDIHYnmtb+xtL/wCf - ZPyrxqb4gzX2y3kDEF1/hUc546V699k1r/n/AF/79D/GgLFHRtNsJ7ESTQK7 - bnGSPRjQdMsP7bFv5C+X9n3bccbt+M1DpFvqb2QaC7WNNzcGMNzk55oNvqf9 - shPta+b5Gd/ljG3d0x9e9AiXWtNsLfT3lhgVGDLyB6sK1v7G0v8A59k/KsPW - YNTjsHe4u1lQFcqIwvcY5zXnn/Czbn/b/wC+EoHY9J0fTbCe3kaaBXIlcAkd - geBRJptgNZigEC+W0LMVxxkHrXl1t8RJbVGSNXUMxb7qnk/WhviJK10t0Vfe - qlQdq9D7UBY9S1rTLC30yeWGBUdduCByPmFaa6Ppe0f6Mn5V41dfEWW6ge3l - V2V8ZG1R0Oeor1yO21l41cXygMAf9UO/40BYq6VplhMlyZYFbZPIoyOgHQUT - 6bYLq1rCsChHRyRjgkdKh0u31N1ufJu1jxO4bMYOW7n8fSie31MarbI12pkK - PtbyxwO4x3oEWdX0vT4dOnligVXVeCByOauw6RpjRIxtkJKjt7Vm6rbaomnz - tPeLIgHKiMDPPrmvOpPiPc27tb/P+6JX7ifw8UDsejaZpthM94JYFby53Vcj - oBjilutNsE1SxhWBQkgl3DHBwvFeW2/xEltzKY1dfNcuflU5J7+1EnxElkuI - rhlctDu2naoxuGDx3oCx6zqeladFp9xJHbqrKhIIHQ1Pa6Rpr20TtboSyKSc - dyK8in+I89xC8MgdlcYI2qM/jXqGnR6vc6fbXMd6qJLEjhTECQGUEDOe1AWE - 0/TLCW5vVkgVhHLhQR0GKL3TLCO/sI0gULIzhhjrheKhsLfU2uLwRXaoyyYY - +WDuOOvXii8t9TW+slku1Z2Z9jeWBt+XnjvQIv3+ladHY3EkduissbkEDoQK - Wx0nTpLK3ke3RmaNCTjqSBUF9bastlcNLeq6CNiR5YGRjkZzXmj/ABDuLFjZ - DdiD92MIv8PFA7Ho9jpthJfX0bwKyxsgUY6ZWl1DTLCK6sUjgVVkkIYAdRiv - LYfiJLDNNMiuGmILHapzgY6dqJviJLNJFI6uTC25flUYP9aAsev3ek6alrM6 - W6BlRiDjuBUOm6Vp0thbySW6MzIpJI6nFeVyfEq4kjaNg5DggjYg616NoY1S - 90i0u4LsRRyxgqpjBIHpnPNAWJ7TTbB9Tv4XgUpH5W0Y4GVJNJqem2EUtkI4 - FUSTqrYHUHPFRWtvqZ1K+VLtVkXyt7eWDuyvHGeMUajb6mslmJrtXLTKF/dg - bW9fegRrT6RpiwyMtsgIUkce1U9J0vT5tOgllgVnZckkdalmtdYEMha+Ujac - jyh6fWvMJfHlxpL/ANnruxCABhVI5Ge/1oCx6Nb6bYNq13C0ClEWMqMcDI5o - 1XTLCEWnlQKu+4jVsDqpzkV5anxElS5kuQrh5AATtXnHTjtRcfESW58vzFdv - LcOPlUYK9Dx/Kgdj2R9H0wIxFsnQ9qztG0ywn0yCWaBXdgckjk8mvMz8TLkg - g7+f9hK7zw0+pajolteWtyIIpN21DGGI2sR1+ooCxei02wOsTwGBfLWJSFxx - knrRq+m2EEELRQKpaZFOB2J5FRR2+pnVpkF2olEakv5YwRnpjNGq2+ppDEZ7 - tZAZUAAjAwc8H8KBG3/Y2l/8+yflWTomm2Fxp0cs0Cu5LZJHoxFX/smtf8/6 - /wDfof415ZN43n0R/wCzl3Yj54VSPm570BY9FGmWH9tNb+QvliANtxxndjNG - s6bYQWfmQwKjb0GQOxNeWj4iSi6N3tfeU2Z2r0znGOlF18RJbqLypVdlyDja - o6HPagdj2f8AsbS/+fZPyrK0fTLCezLzQK7b3GSOwPFea/8ACzbn/b/74Suz - 8KXOoavpX2y0uBboZHG1kDHPUnP40BY1m02wGtrb+QvlmAttxxndjNLrWm2F - vpsssMCo4K4IHPLAVC1vqf8AbCobtfN8gnf5Yxt3dMZ9e9GsW+ppp8jXF2ss - YK5URhc/MMc5oEbf9jaX/wA+yflWVpGmWE0MzSwKxWZ1GR2B4FXvsmtf8/6/ - 9+h/jXmd94wufD9y9juZiWZyQqkEliD1+lAWO+l0ywGsQQCBRG0TErjgkGna - zplhBps8sMCo6gYIHI5FeVt8RJWuUuir70UqDtXofaluviLNdQPBKrsr9RtU - d89RQOx7Gmj6YUUm2ToO1ZmlabYTC782BW2XEirkdFGMCvNR8TLkAAb+P9hK - 6/wlfX+uWNxe2k/2dTOwYMgYliFJPt16UBY27jTbBdWtIVgUI6yFhjg4HFS6 - rpenw6dPLFAquq5BA6VVuLfUxqlqj3amQq+1vLHAxzx3zUup22qpYTtNeLIg - XlRGBkfXNAjRg0jTGhjZrZCSoJ49qz9N0ywllvRJArCOZlXI6DA4qzDa6wYY - yt8oG0YHlD0+tefar4quvDd7NbM5dpHZmKouCRxnnpQFjuLvTbBNTsIUgUJJ - 5u4Y4OFyM1PqWladFYXEkduisqMQQOhxXk0nxElluIbhlctDu2naoxuGDx3p - 8/xHnnheFw5VwQRtUZB96B2PW7TSdNe0hd7dCzIpJx3Iqlp+m2Et3fJJArLH - IAoI6DFeZx/Em4ijSNQ4CAADYh4FdT4S1W+8Qfbbi1m+zlXXduQNuLA/l0oC - x0d9pthHfWMaQKFkdgwx1AFXL7SdNjsriRLdAyxuQcdCAazr231Nb2yWS7Vn - Zm2HywNpxzxnmrd5a6utnO0l6rII2JHlAZGORnNAiSw0rTpLG3kkt0ZmjQkk - dSRVay0ywk1C/ieBSkZj2jHTK5NPsbbVmsrdor1UQxqQPLBwMcDOa4rXPEl3 - 4Z1CVJJDI85+ZlRedqjsenWgDsdR02wiuLJY4FUSS4YAdRjpV+60jTUtpXW3 - QFUYg47gV47cfESeZ4pCjM0LblyFGD+HWobj4l6zKjRoihWBB3AHg/QCgfKe - waZpenTafbyyW6szICSR1NQWmm6fJqt9C0KskYj2jsMjmvBrnxj4iubcWn2x - ooVGAsQCcem4fN+tdZ8NrnUJZ7uxt5jEGAk3lN4yDggnsTnI/GgLHp2p6ZYR - PZiOBV3zorYHUHPFaMukaYInItkBAPasjUrfU0a0867V906hf3YG1ucH3+la - EtrrIjcm+UjB48of40CINI0vT5tOgllgVnZeSRyeaZBplg2r3MLQKY0RCBjg - E9abpVtqj6fA0F4saEcKYwcc+uajht9TOq3CLdqJQibm8scjsMZoAl1bTbCF - LYxQKu+eNTgdQc5Fap0fS8H/AEZPyrF1S31NEt/Pu1kBnQLiMDDdj17elaZt - NZwf9PX/AL9D/GgCloumWFxpkEs0Cu7bskjk/MaI9MsDrMsBgXyxCrBccZJ6 - 1Fo9vqj6dC1vdrHGc4UxhsfMe+aRLfU/7XlQXaiURKS/ljBGemKAJtX0ywgt - o2igVCZUBIHYnmtX+xtL/wCfZPyrE1W31NLdDPdrIvmIABGBg54PWtT7JrX/ - AD/r/wB+h/jQBR0XTLCewSSaBXYs4yR6MaT+zbD+3Db+Qvl/Z923HG7fjNRa - Rb6m9irW92sabm+Uxhv4jnnNH2fU/wC2TH9rXzvIzv8ALGNu7pj696AJda02 - wgsWkhgVG3IMgerCtb+xtL/59k/KsTWLfU0si1xdrIm5eBGF5yMc1qfZNa/5 - /wBf+/Q/xoAo6PplhPas80CuwkcZI7A8UPplgNajgEC+WYSxXHGd3WodJt9T - e2YwXaxr5jjBjB5zyaHt9T/teNDdr5vkkh/LGNu7pigCbW9NsLfTJpoYFR12 - 4IHIywFav9jaX/z7J+VYms2+pppszXF2ssY25URhc/MO+a0/smtf8/6/9+h/ - jQBR0nTbCeK4MsCsVnkUZHQDoKJtNsF1i3gECiNo3JGOCRUWlW+pvHOYLtYw - JnBzGDlu5/Gia31Matbo12plMb7W8sYA7jFAFjV9M0+DTZ5YoFR1AwQORyKv - xaPphjQm2TJA7Vl6tbaomnzNPeLJGAMqIwM8jvmr0drrJjUi+UDA/wCWQ/xo - AqaXplhMbzzYFbZcOq5HRRjAoudMsE1WyhWBQkgk3DHBwOKh0231Nzd+Tdqm - 2dw2YwdzcZPtn0oubfUxqdmj3atIwk2t5YG3A5475oAt6ppenw6fcSxQKrqp - IIHSrNtpGmtbxM1uhJVSTj2qjqdtqqWE7TXiugU5URgZH1zVi3tdYMEZS+UK - VGB5QOBj60AVtN02wlnvVkgVhHMVXI6DHSi802wj1GwiSBQkhk3DHXC5FRaf - b6m014IrtUKykMfLB3HHX2ou7fU11CxWS7VpGMmxvLA24XnjPOaAL+oaVp0V - hcSR26KyxsQQOhAp1lpOmyWcDvboWaNSTjqSKr39tqy2U7S3qugRsr5YGRjk - ZzTrO11drSBo71VUouB5QOBjgZzQBFYabYSXl9G8CssbqFBHQEUX+mWEd5Yo - kCqsjkMAOoxUNlb6m13erHdqjK67z5YO44647UX1vqa3dkJLtXZnO0+WBtOO - uM80AaV5pOmx2c7pboGWNiDjoQKj07StOlsLeSS3RmaNSSR1JFMu7XV1tJjJ - eqyhGyPKAyMcjrTLC21ZrGBor1UQouF8sHAx0zmgBlnpthJqV/E8ClIzHtGO - Blcml1LTLCKayWOBVEkwVsDqMdKhtLfU21G+WO7VZFMe9vLB3ZXjjPGKNQt9 - TWazEt2rlpQFPlgbTjr70AatxpGmLbyMtugIViOPaqul6Xp82n28ssCs7KCS - R1p89rrAgkLXylQpyPKHIx9ar6Zbaq9hA0N4qIVGFMYOB9c0AFtplg+q3kLQ - KURYyoxwMjmk1XTbCE2flQKu+4jVsDqpzkVFb2+pnU7tEu1WRVj3N5YO7I44 - zxijU7fU0Np512sm6dAuIwNrc4Pvj0oA2JNH0wRsRbJkA9qz9H0zT59Nglmg - V3YHJI5PJqzJa6zsbN8pGD/yyH+NUdJt9UfToWgvFjjIOFMYOOT3zQA+HTLB - tXuIDApjWNCBjgE0atplhDFAYoFUtNGpwOoJ5FQxW+pnVZ0W7USiNCW8sYI7 - DFGqW+ppHAZ7tZAZkAxGBhs8H8KANv8AsbS/+fZPyrK0TTbC40yGaaBXdt2S - RzwxFXvsmtf8/wCv/fof41l6Nb6m+mxNb3axRndhTGGx8xzz9aAJU02wOtSW - 5gXyxAG244zu60axpthBaK8MCoxkQZA7E81Etvqf9sOgu183yQS/ljG3d0xR - q1vqaWqme7WRfMTgRgc54PWgDb/sbS/+fZPyrJ0bTbCexEk0Cu29xkjsDV/7 - JrX/AD/r/wB+h/jWXpFvqb2Ya3u1jTc3BjB5zzzmgCU6bYf22LfyF8v7Pu24 - 43b8Zpda0ywg095YYFRwU5A9WAqE2+p/2yE+1r53kZ3+WMbd3TGfXvRrFvqa - WDtcXayJlcqIwv8AEMc0Abf9jaX/AM+yflWVpGmWE9vI0sCsRK4GR2B4FXvs - mtf8/wCv/fof41l6Vb6m8Ehgu1jAlcEGMHJzyevegCWTTbAazFAIF8toWYrj - jIPWl1rTLC30yeWGBUdduCByPmFQyW+pjV4kN2plMTEP5YwBnpjNLrFvqiad - M1xdrJGMZURgZ+Yd80AbC6Ppe0f6Mn5VmaVplhMlyZYFbZPIoyOgHQVcW01n - Axfr/wB+h/jWbpdvqbrc+TdrHidw2Ywct3P4+lAE0+m2C6tawrAoR0ckY4JH - StmHTLC3kE0MCo69CByKwJ7fUxqtsjXamQo+1vLHA7jHetq3t9TSZWuLtZIx - nKiMLnj1zQBp0UUUAFFFFABRRRQAUUUUAf/Q/c+31Mpqd3N9knbzFj+UJ8y4 - HcZ4z2o1LUzMbT/RLhPLnRvmTG7GeBzyT2FaFo6DWb87hgrF39qXWJIybHDA - 4uY+/wBaAEk1glGH2G6GQf8Aln/9eqWlaoYNPhi+x3Em0H5kTKnk9Dmujllj - 8t/nHQ96zdDkjGlW4LAHae/uaAMuLUyuqzz/AGSc7o0G0J8wx3Iz0o1TUzPH - APsk8e2ZG+dMZweg56ntWjBJH/bdydwx5Sd6NakQw22GB/0iPv70AO/tk/8A - Phdf9+//AK9ZmjambfTYYfsk8u3d8yJlTlieDmuq82L++PzrF8PyINItwWAP - z9/9o0AZ66mRrD3H2SfmELs2fP8AeznGelGramZ7ZU+yTx4kQ5dMDg9OvWtB - HT+35DuGPs45z/tUuuSRmzQBgf3sff3oAd/bJ/58Lr/v3/8AXrM0jUzBZCP7 - JPJ8zHKJkck9811Xmxf3x+dY2hSINPALAHe/f/aNAGd/aZ/tkXH2S4/1G3Zs - +f72c4z096NY1M3Fi8X2SeLLL8zpheGHfNaJkj/4SAHcMfZuuf8AbpNfdDpj - gMCdyd/9oUAP/tk/8+F1/wB+/wD69ZmlamYLeRPsk8mZHOUTIGT069a6rzYv - 74/OsXQ5EFrLlgP30nf3oAz31MnV4p/slwMRMuzZ8x56gZ6UusambjTpofsl - xHux8zphR8w6nNaEkif27Cdwx5Dc5/2qXXpIzpNwAwJwvf8A2hQADWTgf6Bd - f9+//r1m6XqZgS4H2SeTfO7fImcZ7HnqO9dSJYsD5x+dY2iyII7vLAZuJO/0 - oAz5tTLarbT/AGScbEcbSnzHPcDNP1TVDPp88X2O4j3L950wo57nNXbiRP7b - tDuGPLk71LrckZ0q4AYE7fX3FAEMWsFYkX7DdHAAyI+P51Q03UzC92fsk7+Z - OzfKmduccHng10sEkfkx/OPujv7VlaRIgkv8sBm4fv8ASgDPudTL6lZTfZLh - fLEnylMM2R/CM8471NqOqmaxni+x3CbkI3NHhR9Tmrd5JGdY08hhgCbv/sir - GrSRnTbkBgTsPegCnbauUt4k+xXLbUUZEfBwO3NUrDUzFcXj/ZLh/MkzhUyV - 46Hng10NpJGLSEFx9xe/tWfpkkYutQJYczevtQBnXmpmS+spfsk6+Wz/ACsm - GbK/wjPOO9Wb7VjLZXEf2K5TdGwy0eAMjqTnpU9+6HU9OIYYDSd/9mrmpSRn - TroBh/qn7/7JoAzbPVjHZwR/YrltsajKx5BwOo56VVstTMd7eyfZJ28xlOFT - JXA/iGeK3tPkjFhbAuP9Unf/AGRVLT5EGoaiSwwXTv8A7NAGdfamZbmzf7JO - nlyE4ZMFuOg55NXLrVy9tMn2K5XcjDJjwBkdTzUupSRm808hhxKe/tV+9kjN - nOA4/wBW3f2oAxtP1UxWMEX2O4faijcseQeOoOagtdTKalfTfZJ283yvlCZZ - dq4+YZ4z2ra0qSMabbAsAfLXv7VVspEGr6kSwwfJ7/7JoAz9R1MzSWZ+yTp5 - cyt8yY3Y7Dnk1fm1gtDIv2G5GVIyY+On1pdWdDLYYYHFwvf2NalxJH9nl+cf - dbv7UAc/pmqGGwgi+x3Em1cblTKn6HNRwamV1S6m+yXB3qg2hPmGB3Ge/atf - RpIxpdsCwB2+tQ20if21encMFI+/tQBnanqZmFr/AKJcR7J42+ZMZxngc9T2 - FaL6ySpH2G6GR/zz/wDr0azJGRZYYHFzF3+tazyx7G+cdD3oA5nSNTNvp0MP - 2S4k2g/MiZU8noc0kepkatNP9knO6NRsCfMMHqRnpWnoUkY0m3BYA4Pf/aNM - hkT+3bg7hjyU7+9AGfqupmeGJfsk8e2VGy6YBweg561p/wBsn/nwuv8Av3/9 - ema26G3gwwP7+Pv71tebF/fH50Acro+pm30+OL7JcS4LfMiZU5Yng5oGpn+2 - GuPslxzAF2bPn+9nOM9K0dAkjGlRAsAcv3/2jQskf9vsdwx9mHOf9ugDO1fU - zcWgj+yTx/Ohy6YHB6da0/7ZP/Phdf8Afv8A+vTNdkQ2IAYH94nf3ra82L++ - PzoA5XSNTNvaGP7JPJ87nKJkcnp1obUydYW4+yT8QFdmz5/vZzjPStDQnQWJ - BYD94/f/AGqGkT+30O4Y+znnP+3QBn6xqZuNPki+yXEWSvzOmFGGB5Oa0/7Z - P/Phdf8Afv8A+vTdfkjOlSgMCcp3/wBoVs+bF/fH50AcrpWpmCGVfslxJuld - somQMnoeeo70SamTq0M/2S4G2NhtKfMcnqBnpWjokiCCfLAfv5O/vRNJH/bl - udwx5L9/egDP1fUzcadND9kuI9wHzOmFHI6nNaCayQoH2G66D/ln/wDXp2uy - RnSbgBgTgd/9oVqJLHsX5x0HegDmNM1Mwi6/0S4k3zyN8qZxnHB54I7iifUy - 2qWs32ScbFcbSnzHI7DPOO9aOjSRgXuWAzcy9/pRcyJ/bVkdwwEk7+1AFLU9 - UM1hPF9juI9y43MmFH1Oatw6wVhjX7DcnCgZEfHT61Y1mSM6XcgMCdvrV23k - j+zxfOPur39qAPG9e8O3HiDUJr2Lzo8MRsEJbHOeTuGD7YrnX8DX6SpEWcGT - OAYiCcegzz717npUiCa/ywGbhu/sKL2SM6vppDDA87v/ALNA7nhsngTUY0aR - jIAoyS0TAfic0qeA9RdQw8wgjORCxH4HNe9arJGdNuQGBPlt39qmspIxZW4L - j/Vp39hQPmPOfBNpN4cS9hmhmuDKyf6uM5XaDwwJ4PNdNe6mZL2yk+yXC+Wz - HDJgtkfw881o6bJGLzUCWHMo7+1GoSIdQ04hhgO/f/ZoJILzVjJZzx/Yrld0 - bDLR4AyOp56UljqxisreP7FcvtjUZWPIOB1Bz0rV1CSM2FyA4/1T9/8AZNN0 - 2SMadagsP9Unf/ZFAHlPifRrnxHqDTW8csflk5UxksNwXqAeOlctJ4G1CNkV - mcFzgZiIJ+nPJr3OwdBqeoksMFo+/wDs0apIhutPwwOJvX2oHc8PbwHqKqWP - mAAZ5hYD+dJH4E1CSNZFMjBhkFYmI/A5r6Cu5IzaTAOPuN39qr6RJGNMtgWA - Owd6B8x5x4K0+48N3N6J4pZzKsYwkZ3LjJ+YE8ZzxXXalqZma0P2S4Ty51b5 - kxuxngc8mtGzkjGsagSwwRD3/wBk0avIhexwwOLlO/1oE2Nl1gtE6/YboZBG - THx/Oqel6oYNPgi+x3Em1fvImVPPY5rop5I/Jk+cfdPf2rP0SSMaVbgsAdvr - 7mgR5z4r0248SXRFvFLEU2sVMZLDjHIB4rjZfA2oRBSzOu5go3REZJ7Dnk+1 - e527p/bd2dwwY4+9GtSIY7TDA4uI+/1oHc8R/wCEB1L/AKa/9+W/xqKHwNqE - 0YlQuwbusRYfgc19GGWLB+cfnWRoMkY0m3BYA4bv/tGgfMeb+DtIufDeqzzT - xyzb4du1IyGGWByQT04rttV1Mz26J9knjxIhy6YBwenXqa0Y5I/7dmO4Y8he - /wDtUa3JGbWMBgf30ff3oE2O/tk/8+F1/wB+/wD69Zmj6mbexSL7JPLhm+ZE - yvLHvmuq82L++PzrF0CRBpiAsAdz9/8AaNAjhfF1lP4kmjhghmhZFVsNGS2A - WGcA9OetcNN4G1CFN7s6jIGWiKjn3zXuYkT/AISAtuGPsvXP+3S67Ih08gMC - d6d/9oUDueIf8IDqX/TX/vy3+NRReBtQmUshdgCRlYiw4/Gvo3zYv74/OsbQ - 5IxZuCwH72Tv70D5jzDwroV14d1tbudJZf3TDYsZD845wT0rvtZ1M3GmzQ/Z - LiLdt+Z0wowwPJzWi8if29Gdwx9nbnP+1R4gkQ6RcAMCfl7/AO0KBNjv7ZP/ - AD4XX/fv/wCvWZpepmCOcfZJ5N0zt8iZxnseeo711Xmxf3x+dYuiugiucsB/ - pEnf3oEcf4thl8QIlpDBNC5Xo8fJwwPABrz2XwLqEMbSOXUL3aIgfic17nPJ - H/bdsdwx5T96frkkZ0q4AYE7R39xQNM8MHgLUiM/vf8Avy3+NRxeBtQl37S7 - bGKnbETgjseeD7V9ExSx+WnzjoO9ZWjyRg32WAzcyd/pQHMeUeHPDl3oOv2l - /OskgQSfIIyHbKFeAeuM816XqWqmawni+x3CblI3NHhR9Tmrd26HWbA7hgLL - 39qsaxJGdMuQGBOw96AbKlvq5SCNfsNy2FAyI+Dx25qlp+pmKa8b7JO/mSls - KmSvHQ88GuitZI/s0Pzj7i9/as3SnQXF/lgMznv7UCOW8WeZrtvFYxW80Lvu - A3x8noeBnnpzXm8ngTUY0Z2MgCjJJiYAY9Tmvcb+RDqumkMMAy9/9mrmpyRn - TroBgT5b9/agaZ4GngPUXRXHmEMAciFiOfQ5pieBtQd3RWclDggREkfUZ4r6 - CsJIxY24Lj/Vp39hVHTpIxf6gSw5kXv/ALNAcx4/pHhW80fWLK+mEjCOQNt8 - ohmx2XJ5NetXerGS0mj+xXK7kYZMeAMjqeelS6k6G+04hgcSN3/2av38kZsb - gBx/q37+xoBsyLDVjFYwR/Yrl9qKNyx5BwOoOelV7TUzHqF9L9kuG8wx/KEy - y4XHzDPGe1belyRjTrYFgD5a9/aqtjJGNV1IlhgmLv8A7NAjnvE0z6tYiyS2 - nhaTcoLpjJZSOOeTXmDeAtRVSx8wYGeYWA/nXuGqyRmewwwOJx39jWlcyR/Z - pfnH3G7+1A0z57i8C6hLGsil2DDIKxEj8Dmmr4G1BpXiDOWTGQIiWGfUZ4r3 - vR5IxplsCwB2DvVe0kQazfksMFYu/tQHMeNWPhC90zUrK9l8wrFPG2DEVLbW - BwOeSccCvZZNYJRh9huhkH/ln/8AXo1iRCbHDA4uo+/1rWllj8t/nHQ96AbO - c0rVDBp8MX2O4k2g/MiZU8noc0yLUyuqzz/ZJzujQbQnzDHcjPStTQ5IxpVu - CwB2nv7mmQSR/wBt3J3DHlJ3oEYviC8bULD7KtrPEXYAF0wOQRgc9a8q/wCE - B1L/AKa/9+W/xr2/WpEMNthgf9Ij7+9bPmxf3x+dA0z5yh8DahNGJULsDnlY - iw49DmgeBtQMxh3PuA3Y8o7seuPT3r3TQJEGkQAsAfn7/wC0aRHT+35DuGPs - 45z/ALVA+Y8Q/wCEJv7VkmkLgKy/eiKjr65617l/bJ/58Lr/AL9//XpmuyIb - NQGB/ex9/etrzYv74/OgTZyukambeyEf2S4k+ZzlEyOSfej+0z/bIuPslx/q - NuzZ8/3s5xnp71o6FIg08AsAd79/9o0GSP8A4SAHcMfZuuf9ugRm6zqRudPe - H7JPFkr8zpheCO+a8i/4QHUv+mv/AH5b/GvbtfdDpjgMCdyd/wDaFbXmxf3x - +dA0z5yi8DahKpZGdgCR8sRI4/HrQfA2oCYQ7n3EZx5R3Y+mele56HIgtZcs - B++k7+9Erp/bsJ3DHkNzn3oHzHhk3gbUIYzK5dQvdoio/E5r3KLVykSJ9huj - tAH+r9Pxp+vSRnSbgBgThe/+0K1llj2j5x09aBNnL6ZqZhW4H2S4k3zu3yJn - Gex56jvRNqZbVLaf7JcDYjjaU+Y59BntWjo0iBLvLAZuZO/0ouJI/wC2rQ7h - gRyd6BFHVNUM+nzxfY7iPcv3nTCjnuc15HN4G1GeaSdRLiRiw/ct3OfWvbta - kjOlXADAnb6+9aEEkfkx/OPujv7UDTPnePwNqEpcKztsYqdsROCOx54PtQ3g - bUFlSIlwXzgGIgnHoM8+9e56RIgkv8sBm4fv9KW8kjOsaeQwwBN3/wBkUD5j - w2TwJqEcbSMZFCjJLRMB+JzXs2mai1pptpatZXLmGKNCyx8HaoGRz0NamrSR - nTbkBgTsPerFpJH9kh+cfcXv7UCbOesNTMVxeP8AZJ38yTOFTJXjoeeDReam - ZL6yl+yTr5bOdrJhmyv8Izz71o6ZIgutQywGZvX2ov5EOpacQwwGk7/7NAiv - fasZbK4j+xXKbo2GWjwBkdSc9K8dn8E6hdzSXSeZtmYuMREjDc9c817rqUkZ - 066AYf6p+/8Asml06SMafbAsP9Unf/ZFA0z5/TwNqDu6KzkoQCBESRn1GeKJ - PA2oRsisXBc4AMRBP055r3PT3QajqJLDBdO/+zS6lIhvNPIYHEp7+1Acx4c3 - gPUUUsfMAAzkwsB+PNeuaBetp+jWdk1pcSmGMLuSPKn3HPSukvZIzZzgOP8A - Vt39qh0qSMabbAsAfLXv7UA2YtrqZTUr6b7JcN5nlfKEyy7Vx8wzxntRqOpm - aSzP2SdPLmVvmTG7HYc8mtGykQavqRLDB8nv/smk1Z0MthhgcXC9/Y0CEm1g - tC6/YbkZUjJj4HH1rxu88H32pXDXsXmbJcEYiLDgAdc+1e83Ekf2eX5x91u/ - tVHRpIxpdsCwB2+tA0zwZfA2oNK0QLlkAJAiO4Z9R2ol8DahFt3F13sFG6Ij - JPYc8n2r3S2kT+2r07hgpH39qNZkjIssMDi5i7/WgfMeIHwFqQGf3v8A35b/ - ABr1HwtcPpOg2unvazzmLf8APGmVO5y3Bz712jyx7G+cdD3rL0KSMaTbgsAc - Hv8A7RoE2ZkepkatNP8AZJzujUbAnzDB6kZ6UarqZnhiX7JPHtlRsumAcHoO - etaEMif27cHcMeSnf3o1t0NvBhgf38ff3oEP/tk/8+F1/wB+/wD69eNX/hO9 - 1a4N9CJNj8cRFhxx1Br3zzYv74/OsXQJEGlRAsAcv3/2jQNM8M/4QbUPOMOX - 3bd2PKO7HTOM9PeiXwNqEKb3Z1GQMtEVHPvmvdFkT+32O4Y+zDnP+3RrskZs - MBgf3id/9qgOY8Q/4QHUv+mv/flv8a9I8HtJomj/AGGS3muCJHbdHHlee3Xr - xXoHmxf3x+dY2hSILEgsB+8fv/tUA2ZzamTrC3H2SfiArs2fP97OcZ6UaxqZ - uNPki+yXEWSvzOmFGGB5Oa0GkT+30O4Y+znnP+3S6/Ih0qYBgTlO/wDtCgQ7 - +2T/AM+F1/37/wDr15HrPhq81y+e9gWRV5XAjLYO4nnB6817n5sX98fnWNok - kYgnywH7+Tv70DTPCz4G1ASiEs+5gTjyju49BnpSzeBdQhjaRy6he7RFR+Jz - Xuc0if25bncMeS/f3p2uyRnSbgBgTgd/cUD5jw4eAtSIz+9/78t/jXoPgtJf - D+m3FlLBNcMZ2bMcfA+VRg88HjkV6IksexfnHQd6yNGkQC9ywGbqXv8ASgVz - PuNTL6paz/ZJxsVxtKfMcjsM8471JqeqGawni+x3Ee5cbmTCj6nNXLqRP7as - juGAknf2qfWZIzpdyAwJ2etAivDrBWGNfsNycKBkR8dPrXl/iDQLrxBfyXVu - kqBWYEeWWIyc4ODwa9lt5I/s8Xzj7q9/aszSpEE1/lgM3Dd/YUDTPC38Dagk - kcRLgyZwDEQTj0GefenSeBNRjRpGMgCjJLRMB+JzXuV7Ih1fTSGGB53f/Zqz - qskZ025AYE+W3f2oHzHgqeA9RdQw8wgjORCxH4HNdz4JtJvDi3sM0M1wZWT/ - AFcZyu0H7wJ4PNej2UkYsrcFx/q07+wrP0yRBeagSwGZR39qBNmfe6mZLyyk - +yTp5bMcMmC2R/CM81avNWMlnPH9iuV3RsMtHgDI6nnpU2ouh1DTiGBw79/9 - mr2oSRmwuQGH+qfv/smgRlWOrGKyt4/sVy+2NRlY8g4HUHPSvPfE+jXPiPUG - mt45Y/KPKmMlhuVeoB46V6rpskY061BYf6pO/wDsiqlhIg1PUSWGC0ff/ZoA - 8NbwNfRuiyM67zgZiOT9Bnk1ox+AURGe5kujgE/LbhR+JLH+VewapIhutPww - OJvX2rRu5IzaTAOPuN39qB8x5lo/hjw5bQRyz6ZdXkhAJZlLIT7AEAj6iuns - LyGzvrv7PYTJGwjAjjjAKYHdR0z2re0iSMaZbAsAdg71Ws5EGsagSwwRF3/2 - aBXM/UtTMzWh+yXCeXOrfMmN2M8Dnk1oS6wWjcfYboZB5Mf/ANel1eRC9jhg - cXKd/rWpNLH5L/OPunv7UAc7peqGDT4IvsdxJtX7yJlTz2OaZDqZXVbif7JO - d6INoT5hjuRmtXRJIxpVuCwB2+vuajt5E/tu7O4Y8uPvQBnapqZnS3H2SePZ - OjfOmM47Dnqe1aR1k4P+gXX/AH7/APr03WpEMdphgcXEff61smWPB+cfnQBy - +j6mbfToYfslxJtz8yJlT8x6HNImpkavLP8AZJzmJV2bPmHPUjPStLQZIxpN - uCwBw3f/AGjSRyR/27Mdwx5C9/8AaoAztV1Mz26J9knjxIhy6YBwenXqa0/7 - ZP8Az4XX/fv/AOvTdbkQ2seGB/fR9/etnzYv74/OgDldI1M29isX2SeTDMdy - JleWPfNH9pn+2TcfZJ/9Rt2bPn+9nOM9PetHQZEGmoCwB3P3/wBo0gkT/hIC - 24Y+y9c/7dAGfq+pm4sjH9knjyync6YHB9c1p/2yf+fC6/79/wD16Zr0iHTm - AYE707/7Qra82L++PzoA5XSdTMFsyfZLiTMjnKJkcnp160NqZOrpcfZLjiEr - s2fP97OcZ6Vo6HIgs3BYD97J396HkT+3ozuGPs7d/wDaoAztZ1M3GmzQ/ZLi - Ldt+Z0wowwPJzWn/AGyf+fC6/wC/f/16b4gkQ6RcAMCfl7/7QrZ82L++PzoA - 5XS9TMEc4+yTybpnb5EzjPY89R3om1MtqtvP9knGyNxtKfMc9wM9K0NFdBFc - 5YD/AEiTv70TyJ/blqdwx5T96AKWq6oZ9Pmi+x3Ee4D5nTCjnuc1dj1giNR9 - hujgDpH/APXqTXJIzpVwAwJ2jv7itKKSPyk+cfdHf2oA5nTdTMJu/wDRLh/M - ndvlTO3OODzwR3FFxqZfU7Ob7JcL5Yk+Up8zZHYZ5x3rR0eRAb7LAZuZO/0o - u5EOsWBDDAWXv7CgCnqWqmawni+x3CblI3NHhR9TmrFvq5SCNfsNy2FAyI+D - x25q3rEkZ0y5AYE7D3q1ayR/ZofnH3F7+1AHO6fqZimvG+yTv5kpbCpkrx0P - PBou9TMmoWMv2SdfLMnylMM2Vx8ozzjvWhpToLi/ywGZz39qL+RDqumkMMAy - 9/8AZoAr3+rGWynj+xXKbkYbmjwBkdSc9KfaasY7SGP7FcttRRkR5BwOo56V - o6nJGdOugGBPlv39qfYSRixtwXH+rTv7CgDAstTMd3eyfZLh/MdThUyVwP4u - eKL7UzJd2T/ZJ08tycMmC3HReea0dOkjF/qBLDmRe/8As0alIhvtPIYHEjd/ - 9mgCG71YyWk0f2K5XcjDJjwBkdTz0plhqxisYI/sVy+1FG5Y8g4HUHPSte/k - jNjcAOP9W/f2NR6XJGNOtgWAPlr39qAMS01Mx6jfS/ZJ28wx/KEyy4XHzDPG - e1GoamZZrNvsk6eXKGwyYLcdBzya0LF0Gq6kSwwTFjn/AGaXVZIzPYYYHE47 - +xoAZPq5aCRfsNyMqRkx8DjvzVbTdVMNhBF9juH2qBuVMqfoc1vXMkf2aX5x - 9xu/tVTR5IxplsCwB2DvQBj2+plNTu5vsk7eYsY2hPmXA7jPGe1Gp6mZjaf6 - JPH5c6N8yY3YzwOeSewrRtZE/tm+O4YKxd/ak1iRCbHDA4uo+/1oAJNYJRh9 - huhkH/ln/wDXqjpOqGDToYvsdxJtB+ZEyp5PQ5rpJZY/Lf5x0Pes3Q5IxpVu - CwBwe/uaAMuLUyuqzz/ZLg7o0G0J8wx3Iz0o1TUzPHAPslxHtmRvnTGcHoOe - p7VowSJ/bdydwx5Sd6NakQw2+GB/0iPv70AO/tk/8+F1/wB+/wD69Zmj6mbf - ToYfslxLt3fMiZU5Yng5rqvNi/vj86xtAkQaRACwB+fv/tGgDOXUyNYe4+yT - 8whdmz5/vZzjPSjVtTM9qqfZJ48SIcumBwenXrWgjp/b8h3DH2cc5/2qNddD - ZqAwP71O/vQA/wDtk/8APhdf9+//AK9ZmkambezEf2SeT5nOUTI5Prmuq82L - ++PzrF0GRBp4BYA737/7RoAzzqZ/tkXH2S4/1G3Zs+f72c4z096NX1M3Fg8X - 2S4iyV+Z0wvDDvmtAun/AAkAbcMfZuuf9ul16RDpkgDAncnf/aFADv7ZP/Ph - df8Afv8A+vWZpWpmCCRfslxJmV2yiZAyenXqK6rzYv74/OsbRJIxbS5YD99J - 396AM6TUydXiuPsk42xMuzZ8x56gZ6UusambjTpofslxHux8zphR8w6nNX5X - T+3YTuGPIbnPvTtekjOk3ADAnC9/9oUAC6ycD/QLr/v3/wDXrN0zUzCtwPsl - xJvndvkTOM9jz1HeuoWWPaPnHT1rI0aRAl3lgM3Mnf6UAZ02pltUtp/sk42I - 42lPmOe4HtWzb6mbiZYfslxFuz8zphRxnk5qvcSR/wBtWh3DAjk71siSMnAY - E/WgB9FFFABRRRQAUUUUAFFFFAH/0f3RttJ059UvIGhBjjWMqMnjI570up6T - p0BtPKhC+ZcIjcnlTnI60y3i1U6ndqk8YlCx7yU4PHGBRqUWqqbTz542zOgX - CYw3OCfagDUk0PShGxFuMgHuf8aoaTpGnXGnQTTQBnYHJyeeT71ckg1vY2bm - LGD/AAVR0mLVm0+E29xGkZBwCmSOT3oAItJ05tWuLdoQY0jQgZPBPXvRquk6 - dbxwNDCFLTIp5PIJ5HWmRRar/as6rPGJRGu5tnBHbijVItVWODz542BmQDCY - w2eDQBr/ANhaT/z7j8z/AI1laLpOnXOmQzzwh3bdk5PZiPWtLyNc/wCfqL/v - isvRotVbTYWtp40jO7AZMkfMc8/WgBy6Tpx1l7YwjyhCGC5PXdjPWl1fSdOt - 7VXhhCsZEGcnoTz3pixar/bDqJ4/O8kEts427umKNWi1VbZTcTxuvmJwEwc5 - 4oA1/wCwtJ/59x+Z/wAay9H0nTrmyEs8IdtzjOT0BIHetHyNc/5+ov8Avisv - SItVayBt540Tc3BTJzk5oAf/AGTp39tC28keV9n37cn72/GevpSazpOnW1g8 - 0EIRwyjOT3YD1ppi1X+2Qvnx+d5Gd2zjbu6Y9c0axFqq2Dm5njePcuQqYP3h - igDX/sLSf+fcfmf8aytI0nTri3keaEMRK6g5PQHjvWl5Guf8/UX/AHxWXpMW - qtbyG3njRfNfIKZ5zyaAHvpOnDWIrYQjy2iZiMnqD160azpOnW2mzTwQBHXG - Dk92A9aY8Wq/2vEpnj87ymw2zjbnpil1iLVl06ZrmeN4xjIVME/MO9AGqNC0 - nA/0cfmf8ay9K0nTrhLkzQhik7qOTwo6DrWiINcwP9Ji/wC+KzNLi1VkuPIn - jUCdw2Uzlu5+lADp9J05dWtrdYQI3RyRk8kdO9SarpGm2+nTzQwBXVcg5PHP - 1qGaLVRqtsrTxmUo+1tnAHfIqTVYtXXT5zPcRvGByAmCefWgC/FoelNEjNbg - kqCeT6fWs7TNJ06d7wSwhhHOyryeFGMDrV6KDW/KTbcxAbRj5Pas/TYtVZ7v - yZ41InYNlM5bjJHtQA+60nTk1OygSECOUS7hk87Rkd6m1LR9MhsJ5YoArohI - OTwfzqtcxaqNTsleeMyESbCE4HHORU+ow6wLGczXEbIEO4BMEigCzbaJpb20 - TvbgsyKScnqR9apafpOnTXF6kkIZYpdqjJ4GPrVq2h1o28RS5iC7FwCnbFUr - CLVTcXginjVhJ85KZycdRQA690nTor+xhSEBJWcMMnnC5HerV/o2mRWVxLHA - FZI2IOTwQOO9U7yLVRf2IknjaQs+whMAfLzn1qzfQ6yLK4MtxGyCNtwCYJGO - aAJLLRdLls4JJLcFnjUk5PJI571VstJ06W9vopIQViZQoyeARn1qeyh1k2cB - iuY1QxrtBTJAxxVWyi1U3t6Ip41cMu8lMgnHGPSgB9/pOnRXVkkcIVZZCGGT - yMfWrl1omlx2szpbgMqMQcnqB9aoX0Wqi5sxLPGzGQ7CEwAcd6uXUOtC2mMl - zEV2NkBOcY5oAbp2jaZNYW8ssAZ3RSTk8kj61XtNJ06TU7+B4QUi8raMnjcu - T3qXT4dYNjAYbiNUKLtBTJAxUFrFqp1K+WOeMSDyt5KcH5eMDtgUAO1LSdOh - ks1ihCiSZVbk8g5461oTaJpSwyMtuAQpI5Pp9azdRi1VZLPzp42JmUJhMYb1 - NX5odbEMha5iI2nPydsUAV9L0fTZ9PgmmgDO65Jyef1qO30nTn1W6gaEGONY - yoyeCRz3p2mQ6u1hAYLiNYyvAKZIH1qKCLVTql0qTxiUKm47OCMcYFAD9U0n - ToBa+VCF8y4jRuTypzkda0n0PSQjEW44B7n/ABrK1OLVVFr588bZnjC4TGG5 - wT7VpPBrm05uYsYP8FAFHR9I06502GaaAM7A5OTzyfemxaTpzavNbmEeWsSs - Bk9SfrRpEWrNp0LW88aRkHAKZI5Pemxxar/a0yrPGJREuW2cEZ4GKAHatpOn - W8MTQwhS0qKeT0J5HWtX+wtJ/wCfcfmf8ayNVi1VYYvtE8br5qYwmPmzwa1P - I1z/AJ+ov++KAM7RtJ06506OaeEO7FsnJ7MR60DSdO/tlrbyR5QgD7cn727G - etM0eLVW0+M208aR5bAKZP3jnn60CLVf7YZfPj87yAd2zjbu6Y9c0AO1jSdO - trMSQQhW3oM5PQnnvWr/AGFpP/PuPzP+NZGrxaqtpm4njdN6cBMHOeK1PI1z - /n6i/wC+KAM3R9J065szJPCGbe4zk9AeO9DaTpw1lbbyR5RgLbcn727GetN0 - iLVWtCbeeNE3vwVyc55oaLVf7YVTPH53kE7tnG3d0x65oAfrOk6dbadJNBCE - dSuDk92A9a1P7C0n/n3H5n/GsjWItVXT5DczxvHlcgJg/eGOfrWp5Guf8/UX - /fFAGdpWk6dcQzNNCGKyuo5PQHgdaJdJ05dXhtxCPLaJmIyeSD9aZpUWqtDL - 5E8aDzXzlM/Nnk0Sxar/AGtCrTxmUxthtnAGeRigCTWNI06202aaGAK6gYOT - xyPetFND0kopNuOQO5/xrM1eLVl06ZrieN4wBkBME8jvWgkGubRi5ixgfwUA - UNL0nTpxdebCG8u4kReTwoxgdaLjSdOTVbWBYQI5FkLDJ5IHHemaZFqrC68i - eNcTyBspnLcZI9qJ4tVGqWqvPGZSr7Ts4AxzkUAT6po+mwafPNDAFdFyDk8f - rVuHRNKaGNmtwSVBPJ9PrVLU4dXWwnM9xG0YXkBMEj61ahh1swxlbmIDaMfJ - 2xQBT07SdOmkvFlhDCOZlXk8AAcdaLvSdOj1KwgSEBJfN3DJ52rkd6Zp0Wqm - S88meNSJmD5TOWwORRdRaqNSsVknjMh83YQnA+XnI78UAWtR0bTIbC4ligCu - iMQcnggfWpbTRdLktYZHtwWZFJOT1I+tV9Qh1gWM5muI2QI24BMEjFS2sOtG - 1hMdzEFKLgFOQMcUAVrDSdOlur1JIQyxSAKMngY+tF7pOnRXtjFHCAsrMGGT - yAM+tMsYtVNzeCKeNWEg3kpkE47UXsWqi9shLPGzlm2EJgA45z60AXb3RdLi - s55I7cBkjYg5PBA470lho2mS2VvLJAGZ41JOTySOe9NvYdZFnOZbmNkEbbgE - wSMc0ljDrJsrcxXEaoY12gpkgY4oAgstJ06W/voXhBSJkCjJ4yuT3o1DSdOh - uLJI4Qoll2sMnkY+tNs4tVN/fCOeNZAybyUyD8vGPSi/i1UXFmJp42Yy/IQm - MHHU0AaFzomlpbSuluAyoxByeoH1qDTdH02ewgllgDO6Ak5PJ/OpLmHWhbyl - 7mIrsbICdsVBpsOsGwgMNxGsZQbQUyQKAGWuk6c+p3sDwgxxCLaMnjcMnvRq - Wk6dA1mIoQvmTojcnlTnI60y2i1U6neqk8YkAj3kpweOMCjUotVVrTzp42zO - oXCYw3OCfagDTl0PSlidltwCFJHJ9PrVLStI02406CaaAM7LknJ55+tWpYNb - 8p91zERg5+T2qnpUWrtp8BguI0jI4BTJHPrQA2DSdObVrm3aEGNEQgZPBPXv - Rquk6dbpbGGEKXnRTyeVPUdabDFqp1W5VZ4xKETc23gjtgUapFqqpb+fPGwM - 6BcJjDdj9KANY6FpOD/o4/M/41maNpOnXOmwzzwB3bOTk9mI9a0DBrmD/pMX - /fFZujxas2nQtbTxpGc4DJkj5j3oAcmk6cdYltjCPLWJWAyepPXrRq2k6db2 - 8bwwhWMqKTk9Cee9MSLVf7XlUTx+b5S5bZxtz0xRq0WqrbobieN18xMAJjnP - BoA1/wCwtJ/59x+Z/wAaytG0nTrmwSaeEO5ZhnJ7MR61peRrn/P1F/3xWXo8 - WqtYIbaeNI9zYDJk/eOaAHf2Tp39tG28keV9n37cn72/GevpS6xpOnW1kZYI - QjbkGcnoSAe9M8rVf7ZK+fH53kZ3bONu7pj1zRq8WqrZE3E8bpuXgJg5yMUA - a/8AYWk/8+4/M/41l6RpOnXFqzzQhmEjjOT0B471o+Rrn/P1F/3xWXpMWqtb - MbeeNF8x+CmTnPNAD30nThrEdsIR5ZhLFcnruxnrRrWk6dbaZNPBCEdduDk9 - 2A9aY8Wq/wBrxqZ4/O8kkNs427umKNZi1VdNma5njeMbchUwT8w70Aa/9haT - /wA+4/M/41laVpOnXEc7TQhikzqOTwB0HWtLyNc/5+ov++Ky9Ki1Vo5/InjQ - CZw2Uzlu5oAfLpOnLq1vbrCBG8bkjJ5I6d6dq2kadb6dPNDAFdQMHJ45HvUU - sWq/2rArTxmUxttbZwB34p+rRasunzG4uI3jAGQEwTyO9AGjHoelGNSbcZIH - c/41naZpOnTm782EN5dw6LyeFGMDrV6ODW9i4uYsYH8FZ2mxaqxu/InjXE7h - spnLcZI9qAHXOk6cmqWcCwgRyLIWGTzgcd6m1PR9Ng0+eaKAK6KSDk8H86r3 - EWqjU7RXnjMpWTYQnA45yKm1KHV1sJzPcRtGFOQEwSKALdvomlPbxO1uCWVS - Tk9SPrVDTtJ06aa8WWEMI5Sq8ngY6dauW8OtGCMpcxBdowNnbFUdPi1UzXnk - zxqwlO/KZy2OooAdeaTp0eo2MKQgJKZNwyecLkd6s3+jaZDY3EscAV0jYg5P - BA+tVLuLVRqFiJJ4zITJsITAHy85HerN/DrAspzLcRsgRtwCYJGOaAJbPRdL - ktIJHtwWZFJOTySPrVSx0nTpby9jkhBWJ1CjJ4BH1qxZw6ybSAx3MYQouAU5 - AxxVSyi1U3d6Ip41cOu8lMgnHb0oAdfaTp0V5ZRxwhVldgwyeQB9auXmi6XH - aTyJbgMqMQcnggfWqN9Fqou7ISzxs5dthC4AOO/rVu8h1kWk5kuYygRsgJyR - jmgA0/RtMmsbeWSAM7opJyeSR9ar2mk6dJqN9C8IKRGPaMnjK5PepbCHWDYw - GG4jVCi7QUyQMcVXtItVOoXwjnjEgMe8lOD8vGPTigB+o6Tp0M1msUIUSShW - 5PIx061euNE0pIJHW3AKqSOT2H1rO1CLVRNZiaeNiZRswmMNjqavTw60IJC9 - zEV2nI2dsUAQ6Zo+mz6fBNLAGd1BJyeT+dQ22k6c+qXkDQgxxrGVGTxkc96k - 0yHV2sIDBcRrGVGAUyQKht4tVOp3apPGJQse8lODxxgUAO1TSdOgNp5UIXzL - hEbk8qc5HWtKTQ9KEbEW4yAe5/xrL1OLVVNp588bZnQLhMYbnBPtWjJBrexs - 3MRGD/BQBT0nSNOuNOgmmgDOwOTk88n3psWk6c2rXFu0IMaRoQMngnr3o0mL - Vm0+E29xGkZBwCmSOT3pkUWq/wBqzqs8YlEa7m2cEduKAH6rpOnW8cDQwhS0 - yKeTyCeR1rU/sLSf+fcfmf8AGsjVItVWODz542BmQDCYw2eDWp5Guf8AP1F/ - 3xQBnaLpOnXOmwzzwh3bdk5PZiPWkXSdOOsvbGEeUIQwXJ67sZ603RotVbTY - Wtp40j+bAZMn7xzz9aFi1X+2HUTx+d5IJbZxt3dMUAO1fSdOt7VZIYQrGRBn - J6E8961f7C0n/n3H5n/GsjVotVW1U3E8br5icBMHOeK1PI1z/n6i/wC+KAM7 - R9J065shLPCHbc4zk9ASB3o/snTv7aFt5I8r7Pv25P3t+M9fSmaRFqrWQNvP - Gibm4KZOcnNBi1X+2Qvnx+d5Gd2zjbu6Y9c0AO1nSdOtrB5oIQjhlGcnuwHr - Wr/YWk/8+4/M/wCNZGsRaqtg5uZ43j3LkKmD94YrU8jXP+fqL/vigDN0jSdO - uLeR5oQxErqDk9AeO9Emk6cNYithCPLaJmIyeoPXrTdJi1VreQ288aL5r5BT - POeTRJFqv9rxKZ4/O8psNs4256YoAfrOk6dbabNPBAEdcYOT3YD1rSXQtJIB - +zj8z/jWXrEWrLp0zXM8bxjGQqYJ+Yd60Vg1zAxcxf8AfFAFDS9J06dbkzQh - tk8iDk8KOg60T6Tpy6rbW6wgRujlhk8kdO9M0uLVWW58ieNcTuGymct3I9qJ - 4tVGq2ytPGZSj7Ts4A75FAE2q6Rptvp080MAV1XIOTxz9auxaHpTRIzW4JKg - nk+n1qhqsWrrp85uLiN4wvICYJ59auRQa35SbbmIDaMfJ7UAUdM0nTp3vBLC - GEc7KvJ4UYwOtLdaTpyanZQJCBHKJdwyedoyO9M02LVWe78meNSJ2DZTOW4y - R7UXMWqjU7JXnjMhEmwhOBxzkUAWdS0fTIbCeWKAK6ISDk8H86nttE0t7aJ3 - twWZFJOT1I+tVtRh1gWM5muI2QIdwCYJFTW0OtG3iKXMQXYuAU7YoAq6fpOn - TXF6kkIZYpdqjJ4GPrReaTp0V/YxJCAkrOGGTzhcjvTLCLVTcXginjVhJ85K - ZycdRReRaqL6yEk8Zcs+whMAfLzn1oAuX+jaZFZXEscAVkjYg5PBA470tjou - mS2VvLJACzxoScnkkDPeo76HWRZXBluI2QRtuATBIxzS2UOsmzgMVxGqGNdo - KZIGOKAK9lpOnS319FJCCkTIFGTxkc96W/0nTorqySOEKsshDDJ5GPrTLKLV - Te3oinjVwy7yUyCccY9KL6LVRc2YlnjZjIdhCYAOO9AF+60TS47WZ0twGVGI - OT1A+tRado2mTWFvLLAGd0Uk5PJI+tOuodaFtMZLmIrsbICc4xzUWnw6wbGA - w3EaoUXaCmSBigCO10nTpNTvoHhBSLytoyeNy5Pek1LSdOhks1ihCiSZVbk8 - g546021i1U6lfLHPGJB5W8lOD8vGB2wKNRi1VZLPzp42JmUJhMYb1NAGlNom - lLDIy24BCkjk+n1qppWj6bPp8E00AZ2XJOTz+tWJodbEMha5iI2nPydsVU0u - HV20+AwXEaxleAUyQPrQAlvpOnPqt1A0IMcaxlRk8EjnvRqmk6dALXyoQvmX - EaNyeVOcjrTIItVOqXSpPGJQqbjs4IxxgUanFqqi18+eNszxhcJjDc4J9qAN - V9D0kIxFuOAe5/xrO0fSNOudNhmmgDOwOTk88n3q88GubTm5ixg/wVn6RFqz - adC1vPGkZBwCmSOT3oAItJ05tXmtzCPLWJWAyepP1o1bSdOt4YmhhClpUU8n - oTyOtNji1X+1plWeMSiJcts4IzwMUarFqqwxfaJ43XzUxhMfNng0Aa/9haT/ - AM+4/M/41laNpOnXOnRzTwh3JbJyezEetaXka5/z9Rf98Vl6PFqrafGbaeNI - 8tgMmT9455oAeNJ07+2WtvJHlCAPtyfvbsZ60avpOnW1n5kMIVt6DOT0J570 - wRar/bDL58fneQDu2cbd3THrmjV4tVW0zcTxum9OAmDnPFAGv/YWk/8APuPz - P+NZekaTp1xaGSaEM29xnJ6A8d60fI1z/n6i/wC+Ky9Ji1VrQm3njRN78FMn - OeaAHNpOnDWVtvJHlGAttyfvbsZ60us6Tp1tp0k0EIR1K4OT3YD1pjRar/bC - qZ4/O8gnds427umPXNGsRaqunyG5njePK5Cpg/eGOfrQBr/2FpP/AD7j8z/j - WXpWk6dcQzNNCGKyuo5PQHgda0fI1z/n6i/74rL0qLVWhlME8aDzXzlM/Nnk - 0APl0nTl1eG3EI8tomYjJ5IP1p2r6Rp1vps80MAV1Awcnjke9RSxar/a0KtP - GZTG2G2cAZ5GKdq8WrLp0xuJ43jAGQEwTyO9AGmmh6SUUm3HIHc/41maXpOn - Ti786EN5dxIi8nhRjA61oJBrmxcXMWMD+Cs3TItVYXXkTxri4kDZTOW4yR7U - AOuNJ05NVtLdYQI5FkLDJ5wOO9S6po+mwafPNDAFdFyDk8frUFxFqo1S1V54 - zKVfa2zgDHORUupw6uthOZ7iNowvICYJH1oAuw6JpTQxs1uCSoJ5Pp9aoadp - OnTSXiywhhHMyryeAAOOtXIYdbMMZW5iA2jHydsVQ06LVTJeeTPGpExDZTOW - wORQA+70nTo9SsIEhASXzdwyedq5Hep9R0bTIbC4ligCuiMQcnggfWqt1Fqo - 1GxWSeMyHzdhCcD5ecjvxU+oQ6wLGczXEbIEbcAmCRigCxaaLpclrDI9uCzI - pJyepH1qlYaTp0t1exyQhlikAUZPAx9atWsOtG1hMdzEFKLgFOQMcVTsItVN - 1eiKeNWEg3kpkE47elADr7SdOivbGKOEBZWYMMnkAfWrd7oulxWc8kduAyRs - Qcnggcd6pXsWqi9shLPGzlm2EJgA45z61avYdZFnOZbmNkEbbgEwSMc0AOsN - G0yWyt5ZIAzPGpJyeSRz3qtZ6Tp0l/fQvCCkRTaMnjK5PeprGHWTZW5iuI1Q - xrtBTJAxxVazi1U396I54xICm8lMg/Lxj0oAdqGk6dDcWSRwhRLLtYZPIx9a - vXOiaWltK6W4DKjEHJ6gfWs+/i1UXFmJp42Yy/IQmMHHU1duYdaFvKXuYiux - sgJ2xQBHpuj6bPYQSywBndAScnk/nUFrpOnPql7A8IMcQj2jJ43DnvUmmw6w - bCAw3EaxlBtBTJAqG2i1U6neqk8YlAj3kpweOMCgB+paTp0DWYihC+ZOiNye - VOcjrWhLoelLE7C3GQCep/xrM1KLVVa086eNszqFwmMNzgn2rQlg1vy33XMR - GDn5KAKulaRptxp0E00AZ2XJOTzz9aZDpOnNq1zbtCDGiIQMngnr3pdKi1dt - PgMFxGkZHAKZI59ajhi1X+1bhVnjEoRNzbOCO2BQA7VdJ063S2MMIUvOink8 - qeo61qHQtJwf9HH5n/GsnVItVVLfz542BnQLhMYbsfpWmYNcwf8ASov++KAM - /RtJ06502GeeAO7ZycnsxHrQmk6cdYltjCPLWJWAyepPXrTdHi1ZtNha3njS - M5wGTJHzHvSJFqv9ryqJ4/N8pcts4256YoAfq2k6db28bwwhWMqKTk9Cee9a - n9haT/z7j8z/AI1katFqq26G4njdfMTACY5zwa1PI1z/AJ+ov++KAM7R9J06 - 5sFlnhDuWYZyezEDvSf2Tp39tG28keV9n37cn72/GevpTdHi1VrFTbzxom5s - Apk/eOaPK1X+2Svnx+d9nzu2cbd3THrmgB2saTp1tYmWCEI+5BnJ7kZ71q/2 - FpP/AD7j8z/jWRq8WqrZE3M8bpuXgJg5zxWp5Guf8/UX/fFAGdpGk6dcWrPN - CGYSOM5PQHjvQ+k6cNYjthCPLMJYrk9d2M9aZpMWqtbMbeeNF8x+Cmec80PF - qv8Aa8amePzvJJDbONu7pigB+taTp1tpk08EIR124OT3YD1rU/sLSf8An3H5 - n/GsjWYtVXTZmuZ43jG3IVME/MMc/WtPyNc/5+ov++KAM7StJ064jnaaEMUm - dRyeAOg60TaTpy6tb26wgRvG5IyeSOnem6VFqrRz+RPGgEzhspnLdzRNFqv9 - rW6tPGZTG+1tnAHfigCXVtI06306eaGAK6gYOTxyPer0eh6U0ak24yQO5/xr - P1aLVl0+Y3FxG8YAyAmCeR3q9HBrflrtuYgMDHyUAUdM0nTpzd+bCG8u4dF5 - PCjGB1oudJ05NUs4FhAjkEm4ZPOBx3pmmxaqxu/InjXE7hspnLcZI9qLiLVR - qdmrzxmUiTYQnA45yKALGp6PpsGnzzRQBXRSQcng/nVm30TSnt4na3BLKpJy - epH1qpqUOrrYTme4jaMKcgJgkVYt4daMEZS5iC7RgbO2KAKenaTp0014ssIY - RylV5PAx060Xmk6dHqNjCkICSmTcMnnC5Hem6fFqpmvPJnjVhKd+UzlsdRRd - xaqNQsRJPGZCZNhCYA+XnI70AW7/AEbTIbG4ljgCukbEHJ4IH1p9noulyWkE - j24LMiknJ5JH1qK/h1gWU5luI2QI24BMEjHNOs4dZNpAY7mMIUXAKcgY4oAr - 2Ok6dLeXsckIKxOoUZPAI+tF9pOnRXdlHHCFWVyGGTyMfWmWUWqm7vRFPGrh - 13kpkE47elF9Fqou7ISzxs5c7CEwAcd6AL15oulx2k8iW4DKjEHJ4IH1pmn6 - Npk1jbyyQBndFJOTySPrReQ6yLScyXMZQI2QE5IxzTLCHWDYwGG4jVCi7QUy - QMcUAQ2mk6dJqN9C8IKRGPaMnjcuT3pdR0nToZrNYoQoklCtyeRjp1plpFqp - 1G+Ec8YkBj3kpwfl4wO1GoRaqJrMTTxsTKNmExhsdTQBo3GiaUkEjrbgFVJH - J6gfWq2maPps+nwTSwBndQScnk/nU08OtCCQvcxFdpyNnbFV9Mh1drCAwXEa - xlRgFMkCgBlvpOnPql5A0IMcaxlRk8ZHPek1TSdOgNp5UIXzLhEbk8qc5HWm - 28WqnU7tUnjEoWPcSnB44wKNTi1VTaefPG2bhAuExhucE+1AGpJoelBGItxk - A9z/AI1Q0jSNOuNOgmmgDOwOTk88n3q5JBrexs3MRGD/AAVR0mLVm06E29xG - kZBwCmSOT3oAItJ05tWuLdoQY0jQgZPBPXvRquk6dbxwNDCFLTIp5PIJ5HWm - RRar/as6rPGJRGm5tnBHbijVItVWODz543BmQDCYw2eDQBr/ANhaT/z7j8z/ - AI1l6NpOnXOmwzzwh3bdk5PZiPWtHyNc/wCfqL/visvRotVbTomtp40jO7AZ - Mn7xzz9aAHLpOnHWXtjCPKEIYLk9d2M9aNX0nTre1WSGEKxkQZyehPPemrFq - v9sOonj87yQS2zjbu6Yo1aLVVtVNxPG6+YnATBznigDX/sLSf+fcfmf8aytH - 0nTrmyEs8Idt7jOT0B471peRrn/P1F/3xWXpEWqtZA288aJubgpk5zzQA46T - p39tC28keV9n37cn727GevpS6zpOnW1g80EIRwVwcnuwHrTDFqv9shfPj87y - M7tnG3d0x65o1iLVVsHNzPG8eVyAmD94YoA1/wCwtJ/59x+Z/wAay9J0nTri - CR5oQxErqOT0B471o+Rrn/P1F/3xWXpUWqtBIbeeNF818gpnnPJoAdJpOnDW - IrYQjy2iZiMnqD160us6Tp1tps08EAR1xg5PdgPWmSRar/a8SmePzvKbDbON - uemKXWItWXTpmuZ43jGMhUwT8w70Aai6FpJAP2cfmf8AGs3S9J06dbkzQhtk - 8iDk8KOg61fWDXMDFzF/3xWbpcWqstz5E8a4ncNlM5buR7UAPn0nTl1W2t1h - AjdHLDJ5I6d62YNJ062lWeCEI69Dk9+PWsOeLVRqtsrTxmUo+07OAO+RW1bx - assytczxvGM5Cpgnj1oA06KKKACiiigAooooAKKKKAP/0v3Pt9UjTU7ucwTE - SLGAAh3DA7jtRqWqRzG0xBMvlzo/zJjOM8D1PtWnaf8AIav/APdi/lS6x1sf - +vqP+tADJNahKMPs9xyD/wAszVHSdVig0+GFoJmKg8rGSDyehrp5f9U/0NZm - hf8AIJtv90/zNAGRFqka6rPP5ExDRoMBDuGPUUapqkc8cAEEy7Zkb5kIzg9B - 71qQf8hy6/65JRrf+ptv+viP+dAB/bcP/Ptcf9+zWXo2qR22mwwtBM5XdyiE - jlieDXW1i+Hv+QPb/wDA/wD0I0AZi6pGNYe48ibBhC7dh3feznHpRq2qR3Fs - qLBMuJEOWQgcGtNP+Rgk/wCvcf8AoVLrv/Hmn/XWP+dAB/bcP/Ptcf8Afs1l - 6RqkdvZCNoJnO5jlUJHJPeutrG0D/kHD/ff/ANCNAGWdUj/tkXPkTY8jZt2f - N97OcenvRrGqR3Fg8SwTISynLIQOGB61qH/kYR/16/8As9J4g/5Bkn+8n/oQ - oAX+24f+fa4/79msvSdUjt7eRGgmfMjtlUJHJ/nXW1i6F/x6y/8AXaT+dAGY - +qRnV4rjyJsLEy7dh3cnrj0pdY1WO406aFYJkLY5ZCAPmB5Nacn/ACHof+uD - f+hUviD/AJBFx9F/9CFADRrcOB/o1x/37NZml6pHAlwDBM2+d2+VCcZ7H3rr - B0FY2if6u7/6+ZP6UAZk2qRtqttP5EwCI4wUO459BUmq6tFPp88IgmUsuMtG - QBz3NX7n/kOWf/XOSpdb/wCQVc/7v9aAK8WtRLEi/Z5zhQOIz6Vn6bqkcL3Z - MEzeZOzDahOM44Poa6iD/UR/7o/lWVo/+sv/APr5f+lAGZc6pG+p2UwgmAjE - mQUwx3DsO/vU+o6vFNYzxCCZSyEZaMgD6mrt5/yGNO+k3/oIqxq//IMuf+ub - UAULbWYkt4kNvOdqKMiM44FUrDVI4ri8cwTN5kmQAhJHHf0NdLZ/8ekH+4v8 - qztL/wCPrUP+u39KAMu81SOS/sZRBMBEzkgoQTlccDvVm+1iKWyuIxbzqXjY - ZMZAGR3NWtQ/5Cem/wC9J/6DV3U/+Qddf9cn/wDQTQBk2WsRR2cEZt5yVjUZ - EZIOB2NVbLVI4729kMExErKQAhJGB3Hauh07/kH23/XJP/QRVLTv+QjqP++n - /oNAGXfapHLc2biCZfLkJIKEE8dvWrl1rMT20yC3nG5GGTGQOR3qxqf/AB+a - d/11P8q0L3/jzn/65t/KgDC0/V4obGCIwTsURRlYyQcDsagtdUjj1K+mMExE - vlYAQkjauOR29q3dJ/5Blr/1zX+VVbH/AJDGp/8AbH/0E0AZmo6pHNJZkQTL - 5cysdyEZx2HqavzazE0Mi/Z5xlSOYz6VJq/+usP+vhf5GtS4/wCPeX/db+VA - HO6Zq0UFhBEYJmKrjKxkg/Q1FBqkaapdTmCYh1QYCHcMDuK2tF/5BVt/uVDa - /wDIavf9yL+VAGXqeqRzi1xBMuyeN/mTGcZ4HqfatJ9ahKkfZrjkH/lmadrP - Sy/6+ov61rv9xvoaAOW0jVY7fToYWgmcqDyqEg8noabHqka6tNceRNholXbs - O7g9x6VraD/yCLf6H/0I0yH/AJD1x/1xT+dAGZquqRzwxKsEy7ZUb5kIHB6f - WtT+24f+fa4/79mk1z/j3g/67x/zraoA5LR9Ujt9PjhaCZyC3KpkcsT1oGqR - /wBsNceRNgwBduz5vvZzj0rU8P8A/IJh+r/+hGhf+Rgb/r2H/odAGXq+qR3F - oI1gmQ70OWQgcGtT+24f+fa4/wC/ZpNe/wCPAf8AXRP/AEKtqgDktI1SO3tD - G0Ezne5yqEjk0NqkZ1hbjyJsCArt2Hd97Ocelaeg/wDHgf8Aro//AKFQ3/Iw - J/17H/0OgDM1jVI7jT5IVgmQkryyYHDA9a1P7bh/59rj/v2aPEH/ACCZvqn/ - AKEK2aAOS0rVI4IZVMEzbpXb5UJ6np9aJdUjbVoZ/ImAWNhjYdxyew9K1NE/ - 495/+u8n86Jv+Q7b/wDXF/50AZur6rHcadNCsEyFgOWQgDkdTWgmtQhQPs1x - wB/yzNSa9/yCLj6D/wBCFaqfcX6CgDlNM1SOAXWYJm3zyP8AKhOM44Pv7UT6 - pG+qWs4gmARXGCh3HI7CtTRul7/19S/0ouv+Q1Zf7kv8qAKGp6tFPYTxCCZS - y4y0ZAH1NWodaiWGNfs85woHEZx0q3rX/IKuf9yrtv8A8e8X+6v8qAOY07VI - 4ZLwmCZvMmZhtQnGQOD6Gi61SOTUrGYQTARebkFCCdy44Hf3rU0n/XX/AP18 - N/IUX3/IX0z/ALbf+gUAUtQ1eKaxniEE6l0YZaMgDI7mpbXWIo7WFDbznaij - IjJHA7Vo6t/yDLr/AK5t/KprH/jyt/8Armn8hQBzljqkcVzeOYJm8yQEAISR - x39KL3VI5L2ykEEwETMSChBOR2HetTTP+PzUf+uo/lRqP/IR07/ff/0GgCre - 6xFJZzxi3nBaNhkxkAZHc0ljrEUVlbxm3nYpGoyIyQcDsa2NR/5B9z/1yf8A - 9BNJpn/IOtf+uSf+gigDn7PVI47++lMExErIQAhJGFxyO1F/qkctxZuIJl8u - XcQyEE8dvU1p6f8A8hPUv96P/wBBo1X/AI+tP/67f0oAhudZie3lQW843Iwy - YzjkVBpurRQ2EERgmYqgGVjJB+hrfvP+PSf/AHG/lVbSP+QZbf7goAw7bVI0 - 1O9mMExEgjwAmWG0dx29qNS1SOZrQiCZfLnVvmTGcZ4Hqa1LP/kMaj9If/QT - RrH37D/r5T+tAEcutRNE6/Z5xlSOYz6VT0rVooNPghMEzFVxlYyQeexrpJ/9 - RJ/un+VZ+if8gq2/3f60AY8OqRrqtzP5ExDogwEO4Y9RRqmqRzpbgQTLsnRv - mQjOOw9607b/AJDl5/1zjo1v/V2n/XzH/WgAOtw4P+jXH/fs1m6Pqsdvp0ML - QTOVzyqEg/MTwa6s9DWR4f8A+QRb/Rv/AEI0AZSapGNXluPImw0Srt2Hdweu - PSjVtUjnt0QQTLiRDlkIHB/nWpH/AMh6b/rgv/oVGuf8esX/AF2j/nQAf23D - /wA+1x/37NZej6pHb2CRNBM5DMcqhI5YnrXW1i+H/wDkGR/7z/8AoRoAzP7U - j/tk3PkTY+z7Nuw7vvZzj096NX1SO4sjGsEyHcpyyEDgjvWmP+RiP/Xr/wCz - 0uv/APIOP++n/oQoAP7bh/59rj/v2ay9J1SOC2ZGgmYmRzlUJHJrraxtC/48 - 3/66yfzoAy31SM6vHceRNgQlduw7vvZzj0o1nVI7nTZoVgmQtt5ZCBwwPJrU - f/kPxf8AXu3/AKFR4h/5A9x/wH/0IUAH9tw/8+1x/wB+zWXpWqRwRzhoJm3z - O3yoTjPY+9dbWLon+puf+viT+dAGZLqkbarBP5EwCxuMFDuOfQU/VtVin0+a - FYJlLActGQByOprRn/5Dlr/1yen67/yCbn/dH8xQBDHrUIRR9nuOAP8Almaz - tN1SOE3eYJm8yd3+VM4zjg+h9q6qL/VJ9BWTo/W+/wCvqT+lAGXcapG+p2k4 - gmAjWQEFDuOR2HeptS1aKawniEEyllIy0ZAH1NXbv/kNWH+7L/KrGs/8gu5/ - 3DQBSt9ZiSCNDbznaoGRGccCqOn6pHDNeMYJm8yUsNqEkcdD6Gumtf8Aj1h/ - 3F/lWZpX/HxqH/Xc/wAqAMy71SOTULGUQTARGTIKEE5XHA71Zv8AV4pbKeIW - 86l0YZMZAGR3NWr/AP5Cum/WX/0Grmqf8g26/wCuT/yoAy7PWIo7SCM285Ko - oyIyQcDtVSy1SOK7vZDBMRI6kAISRgd/SuisP+PG2/65p/6CKo6b/wAf+o/9 - dF/9BoAy77VI5buykEEyiNySChBOR29at3msRSWk8Yt5wWRhkxkAZHerGpf8 - f+nf9dG/9Bq/f/8AHjc/9c3/APQTQBi2GrxRWMERt52KIoysZIOB2NV7TVI4 - 9QvpjBMRKY8AJkjC45Hat7S/+Qba/wDXNf5VVsP+QtqX1i/9BoAy9Q1SOaaz - YQTL5coY7kIJ46D1NXp9ZiaCRRbzjKkcxnHSptV/4+NP/wCu4/ka0rr/AI9p - f9xv5UAc/pmrRQ2EERgmYqoGVjJB+hqG31SNNTu5zBMRIsYACHcMDuO1bejf - 8gu2/wBwVXtP+Q1f/wC7F/KgDM1PVI5zaYgmXy7hH+ZCM4zwPU+1aMmtQlGH - 2e45B/5Zmnaz1sP+vqP+ta8v+qf6GgDmNJ1WKDT4YWgmYqDysZIPJ6GmRapG - uqzz+RMQ8ajAQ7hj1Fa+hf8AIJtv90/zNMg/5Dl1/wBckoAy9U1SOeOACCZd - syN8yEZweg961P7bh/59rj/v2aNb/wBTbf8AXxH/ADrZoA5LRtUjttNhhaCZ - yu7lUJHLE8GhdUjGsPceRNgwhduw7vvZzj0rU8Pf8giD/gf/AKGaRP8AkYJP - +vcf+hUAZmrapHcWqosEyYkQ5ZCBwa1P7bh/59rj/v2aTXv+PJf+usf862qA - OS0jVI7eyEbQTOdzHKoSOSe9B1SP+2Rc+RNjyNm3Z833s5x6e9amgf8AIOH+ - +/8A6EaD/wAjCP8Ar1/9noAy9Y1SO4sHiWCZCWU5ZCBwwPWtT+24f+fa4/79 - mk8Qf8gyT/eT/wBCFbVAHJaTqkdvbyI0EzZldsqhI5P86JNUjOrxXHkTYWJl - 27Du5PXHpWnoX/HrL/12k/nRL/yHoP8Arg386AM3WNVjuNOmhWCZC2OWQgD5 - geTWiutwgAfZrj/v2af4g/5BFx9F/wDQhWuv3R9KAOT0vVI4FuQYJm3zu3yp - nGex96JtUjbVbafyJgERxgodxz6CtTRfuXf/AF8y/wBKLn/kN2f/AFzkoAz9 - V1aKfT54RBMpZcZaMgDnuauRa1EsSL9nnOFA4jPpVjW/+QVc/wC7/WtCD/UR - /wC6P5UAcvpuqRwvdkwTN5k7MNqE4zjg+houdUjfU7KYQTARiTIKYY7h2Hf3 - rT0f/WX/AP18v/SlvP8AkMad9Jv/AEEUAUtR1eKaxniEEylkIy0ZAH1NTW2s - xJbxIbec7UUZEZI4FX9X/wCQZc/9c2qzZ/8AHpB/uL/KgDmrDVI4ri8cwTN5 - kmQAhJHHf0NF5qkcl9ZSiCYCJnJBQgnK44HetTS/+PrUP+u39KNQ/wCQnpv+ - 9J/6DQBUvtYilsriMW86l42GTGQBkdzS2WsRRWcEZt5yUjUZEZIOB2Na2p/8 - g66/65P/AOgml07/AJB9r/1yT/0EUAc9ZapHHe3spgmIlZSAEJIwO47UX2qR - y3Nm4gmXy5CSChBPHb1rT07/AJCWpf76f+g0up/8fmnf9dT/ACoAr3WsxPbT - ILecbkYZMZA5HeotP1eKGxgiME7FEUZWMkHA7Gt29/485/8Arm38qg0n/kGW - v/XNf5UAYVrqkcepX0xgmIl8rACEkbVxyO3tRqOqRzSWZEEy+XMrHchGcdh6 - mtSy/wCQxqX/AGx/9BNJq/8ArrD/AK+F/kaAI5tZiaGRfs84ypHMZ9KqaXq0 - UGnwRGCZiq4ysZIP0NdHcf8AHvL/ALrfyqjov/IKtv8Ad/rQBjQapGmqXU5g - mIdUGAh3DA7ijU9UjnFriCZdk8b/ADIRnGeB6n2rUtf+Q1e/7kX8qNZ6WX/X - 1F/WgBr61CVI+zXHIP8AyzNZ+karHb6dDC0EzlQeVQkHk9DXUv8Acb6GsrQf - +QRb/Q/+hGgDJj1SNdWmuPImw0Srt2Hdwe49KNV1SOeGJVgmXbKjfMhA4PT6 - 1pw/8h64/wCuKfzo1z/j3g/67x/zoAX+24f+fa4/79msvRtUjt9PjiaCZyC3 - KoSOWJ611tYvh/8A5BUX1f8A9CNAGYNUj/thrjyJsGALt2fN97OcelGr6pHc - WnlrBMh3ocshA4Nai/8AIwN/17D/ANDo17/jw/7aJ/6EKAD+24f+fa4/79ms - vSdUjt7QxtBM53ucqhI5NdbWNoP/AB4n/rpJ/wChUAZbapGdYW48ibAgK7dh - 3feznHpRrGqR3GnyQrBMhJXlkwOGB61pt/yMCf8AXsf/AEOl8Qf8gmb6p/6E - KAD+24f+fa4/79msvStUjghlVoJm3Su3yoT1PT611tY2if8AHvP/ANd5P50A - ZcuqRtq0M/kTALGwxsO45PYelO1fVYrjTpoVgmQsByyEAcjqa0pv+Q7b/wDX - F/507Xv+QTcfQf8AoQoAjTWoQoH2a44A/wCWZrN0zVI4BdZgmbzLiR/lQnGc - cH39q6tPuL9BWPovS+/6+pf6UAZlxqkb6paziCYCNXGCh3HI7DvUup6tFPYT - xCCZSy4y0ZAH1NXrr/kN2P8AuS/yqfWv+QVc/wC5QBUh1qJYY1+zznCgcRnH - SqGnapHDJeEwTN5kzMNqE4yBwfQ109v/AMe8X+6v8qzNJ/11/wD9fDfyFAGX - dapG+pWMwgmAi83IKEE7lxwO/vU+oavFNYzxCCdS6MMtGQBkdzV2+/5C+mf9 - tv8A0CrOrf8AIMuv+ubfyoAzrXWIo7WFDbznaijIjJHA7VTsdUjiur1zBM3m - SAgBCSOO/pXR2P8Ax5W//XNP5Cs/TP8Aj91H/rqP5UAZl7qkct7ZSCCYCJmJ - BQgnI7DvVu81iKSznjFvOC0bDJjIAyO5qxqP/IR07/ff/wBBq9qP/IPuf+uT - /wDoJoAx7HWIorK3jNvOxSNRkRkg4HY1Ws9Ujjv72UwTESlMAISRhccjtXQa - Z/yDrX/rkn/oIqnYf8hTUv8Aej/9BoAy9Q1SOW4s3EEy+XLuIZCCeO3qau3O - sxPbyoLecbkYZMZxyKm1X/j60/8A67f0rSvP+PSf/cb+VAGBpurRQ2EERgmY - qgGVjJB+hqG21SNNTvZzBMRII8AISwwO47e1bmkf8gy2/wBwVWs/+QzqP0h/ - 9BoAzNS1SOZrQiCZfLnVvmTGcZ4Hqa0JdaiaN1+zz8g/8szUmsffsP8Ar5T+ - tas3+pk/3T/KgDmtK1aKDT4ITBMxUYysZIPPY1HDqka6rcT+RMQ6IMBDuGPU - VsaJ/wAgq2/3f61Hb/8AIcu/+ucdAGXqmqRzpbgQTLsnRvmQjOOw960zrcOD - /o1x/wB+zRrf+rtP+vmP+tbJ6GgDlNH1WO306GFoJnK55VCQfmJ4NImqRjV5 - bjyJsNEq7dh3cHrj0rV8P/8AIIt/o3/oRpI/+Q9N/wBcF/8AQqAMvVtUjnt0 - QQTLiRDlkIHB/nWp/bcP/Ptcf9+zRrn/AB6xf9do/wCdbNAHJaPqkdvYrE0E - zkMxyqEjlietH9qR/wBsm58ibH2fZt2Hd97OcenvWpoH/IMT/ef/ANCNIP8A - kYj/ANev/s9AGZrGqR3FkYlgmQllOWQgcEd61P7bh/59rj/v2aTX/wDkGt/v - p/6EK2qAOS0nVI7e2ZDBM+ZHOVQkcmh9UjOrx3HkTYEJXbsO772c49K1NC/4 - 83/66yfzof8A5D8X/Xu3/oVAGXrOqR3OmzQrBMhbbyyEDhgeTWn/AG3D/wA+ - 1x/37NL4h/5A9x/wH/0IVs0AclpWqRwRzhoJm3zO3yoTjPY+9E2qRtq1vP5E - wCRuMFDuOfQVp6J/qbn/AK+JP50T/wDIdtf+uT0AZ+rarFPp80KwTKWA5aMg - DkdTV6PWohGo+zz8Af8ALM1Nrv8AyCbn/dH8xWlD/qk/3R/KgDltN1SOE3eY - Jm8yd3G1CcZxwfQ+1Fxqkb6nZzCCYCMSZBQ7jkdh3rU0frff9fUn9KLv/kM2 - H+7L/IUAUdS1aKawniEEyllIy0ZAH1NWLfWYkgjQ2852qBkRnHAq7rP/ACC7 - n/cNW7X/AI9Yf9xf5UAczp+qRwzXjGCZvMlLDahJHHQ+hou9Ujk1CxlEEwER - kyChBOVxwO9aelf8fGof9dz/ACov/wDkK6b9Zf8A0GgCrf6vFLZTxC3nUujD - JjIAyO5p1nrEUdpBGbeclUUZEZIOB2rU1T/kG3X/AFyf+VPsP+PG2/65p/6C - KAOdstUjiu72QwTESOpACEkYHcdqL7VI5buykEEyiNySChBPHb1rU03/AI/9 - R/66L/6DRqX/AB/ad/10b/0GgCteaxFJaTxi3nBZGGTGQBkd6ZYavFFYwRG3 - nYoijKxkg4HY1tX/APx43P8A1zf/ANBNR6X/AMg21/65r/KgDBtNUjj1G+mM - ExEpjwAhJGFxyO3tRqGqRzTWbCCZfLlDHchGeOg9TWnYf8hbUvrF/wCg0uq/ - 8fGn/wDXcfyNAEM+sxNBIot5xlSOYzjpVfTNWihsIIjBMxVQMrGSD9DXQXX/ - AB7S/wC438qqaN/yC7b/AHBQBiW+qRpqd3OYJiJFjGAh3DA7jtRqeqRzm0xB - Mvl3CP8AMhGcZ4HqfatS0/5DV/8A7sX8jSaz1sP+vqP+tADZNaiKMPs1xyD/ - AMszVHSdVjt9OhhaCZioPKoSDyehrp5f9U/0NZmhf8gm3+h/maAMiLVI11We - fyJiHjQYCHcMeoo1TVI544AIJl2zI3zIRnB6D3rUg/5Dl1/1ySjW/wDU23/X - xH/OgA/tuH/n2uP+/ZrL0bVI7fTYoWgmcru5VCRyxPWutrG8Pf8AIIg/4H/6 - GaAMtdUjGsPceRNgwhduw7vvZzj0o1bVI7i1VFgmTEiHLIQODWmn/IwSf9e4 - /wDQqNe/48l/66x/zoAX+24f+fa4/wC/ZrL0jVI7eyEbQTOdzHKoSOT611tY - ugf8g4f77/8AoRoAzDqkf9si58ibHkbNuw7vvZzj096NY1SO4sHiWCZCSvLI - QOGB61pn/kYR/wBev/s9Lr//ACC5P95P/QhQAf23D/z7XH/fs1l6VqkcEEim - CZsyu3yoSOT0+tdbWNof/HrL/wBdpP50AZcmqRnV4rjyJsLEy7dh3cnrj0pd - Y1WO406aFYJkLY5ZCAPmB5NaUv8AyHoP+uDfzp3iD/kEXH0X/wBCFADF1uEA - D7Ncf9+zWbpeqRwLcgwTNvndvlTOM9j711i/dH0rH0X7l3/18y/0oAy59Ujb - VbafyJgERxgodxz6Ctq31WO4mWFYJkLZ5ZCAMDPJqG5/5Ddn/wBc5K2aACii - igAooooAKKKKACiiigD/0/3Pt9H059Uu7d4cxxCMqNzcbhzznNGpaPptubTy - odvmTojfMxypzkcmi3XWP7Tuwjw+biPeSG24xxijUk1gG0+0PCf36bNob73O - M57UAaMmgaQqMRByAf42/wAao6Toum3OnwzzQ7ncEk7mHc+hq7Imv7G3SW+M - HPDVS0pNZOnwm2eER4O0MGz1PXFADItH01tVntmhzGkaMBubgnrznNGqaNpt - vHA0MO0vMin5mOQTyOTREusf2rOFeHzvLTcSG247Yo1RdYEcH2h4SPOTbtDf - ezxnPagDU/4R/SP+ff8A8ff/ABrL0bR9OutNhnnh3SNuydzDoxHY1p7PEH/P - S3/JqzNGXWDpsJtXhEXzYDht33jnOPegAXR9OOsPamH90IQwG5uu7Gc5zRq2 - j6bbWyyQQ7WMiLncx4J56mhV1j+2HAeHz/JGThtu3d+ec0asusC2X7S8JTzE - xtDZznjrQBqf8I/pH/Pv/wCPv/jWXpGjabc2Qlnh3PucZ3MOASB0NaezxB/z - 0t/yaszSF1g2Q+zPCE3N94NnOTnpQAf2Ppv9si18n915G/G5vvbsZznPSjWN - H061sHmgh2uCozuY9WAPU0bNY/tkDfD5/kdcNt27vzzmjWF1gWDm6eEx5XO0 - NnO4Y60Aan/CP6R/z7/+Pv8A41l6To+nXNvI88O5lldR8zDgHjoa09niD/np - b/k1ZmlLrBt5PszwhfMfO4Nndnnp2oAH0bTRq8VsIf3TRMxG5uoPrnNLrGja - ba6dNPBDtdMYO5j1YDuaR11j+14gXh87ymwcNt255/Gl1hNYGnTG6eExcZCh - s/eHTNAGkPD+kYH7j/x9/wDGszS9H064S4M0O4pO6D5mGFHQcGtIJr+B+8t/ - yas3S11gpcfZ3hA89924N97vjHagAm0fTk1W2tlhxHIjlhubkjpznNSaroum - W2nzzww7XRcg7mPf3NRzLrH9q2wd4fO2PtIDbcd80/VE1kafObh4THt+YKGz - 17ZoAuxaBpLRIzQZJAJ+dvT61n6bo+nTvdiWHcIp2RfmYYUYwODV+JNe8pNs - lvjAxkN0qhpq6wXu/IeEHz237g33uM49qAC50bTY9TsrdIcRyiTcNzc7Rkd6 - n1HRNMgsZ5oodrohIO5jg/iaguU1j+0rISPD5pEmwgNt6c5/pU2oprYsZzPJ - AY9h3bQ2ce1AE9toOlSW8TvBlmRSfnbqR9apWGjabNcXiSw7lik2r8zDAx9a - u2ya79ni8uSDbsXGQ2cY4qlYLrBuLzyXhDCT59wbGcdvagAvNH06K/sYY4cJ - MXDDc3OFyO9Wb7Q9LhsriWODDpGzA7m4IHHeq14usfbrISvCZCz7MBsD5ec1 - Zvk1wWVwZpIDH5bbsBs4xzigBbLQtKls4JZIMs8asTubqRk96q2WjabLe3sU - kOUiZQo3NwCMnvVqzTXPscHlSQBPLXbkNnGOM1Vsl1g3t75Twhwy78hsE44x - QAX2j6bDc2cccOFlkKsNzcjH1q5daDpUdtNIkGGVGIO5uoH1qnfLrAubPznh - LmQ7MBsA471cuk137NN5kkGzY2cBs4xzigCLT9E0uexgmlh3O6KSdzDJI+tQ - Wuj6dJqV9A8OY4fK2Dc3G5cnvU+nprZsYDBJAI9i7dwbOMd6gtV1j+0r4RvC - JR5W8kNtPy8Y/DrQAajo+nQSWaxQ7RLMqt8zHIPbk1fm0DSUhkZYMEKSPnb0 - +tUNRXWBJZ+e8JPnLs2hvvds+1X5k17yZN8lvt2nOA3TFAFXTNF0y4sIJpod - zuuSdzD+RqKDRtNfVLq3aHMcaoVG5uCRzznNSaYmtGwgNu8Ij2/KGDZx71HA - usf2pdBHh83am4kNtxjjFABqej6bbi18mHb5k8aN8zHKnORya0n8P6QFJEHQ - H+Nv8azdTTWALX7Q8J/fx7dob73OM57Voumv7TmS3xj0agChpGjabc6dDPPD - udwcncw7kdjTY9H05tWmtjD+7WJWA3N1J9c5pdITWTp0JtnhEWDtDBs9T1xS - RrrH9rTBXh87y1ycNt254x70AGq6Pp1tDE8MO0tKin5mPBPPU1qf8I/pH/Pv - /wCPv/jWXqq6wIYvtLwlfNTG0NndnjOe1aezxB/z0t/yagDM0fRtNutPjnnh - 3OxbJ3MOjEdjQNG03+2GtfJ/dCAPjc33t2M5zmjR01g6fGbV4RHlsBg2fvHP - T3oC6x/bDDfD5/kDnDbdu7885oANX0fTrW0EsEO1t6DO5jwTz1Nan/CP6R/z - 7/8Aj7/41l6uusC0H2l4Sm9Puhs5zx1rT2eIP+elv+TUAZmkaPp11aGWeHc2 - 9xncw4B46GhtH04awtqIf3RgL43N97djOc5o0hdYNofszwhN7/eDZznnpQy6 - x/bCgvD5/kHBw23bu/POaADWNG0210+SeCHa6lcHcx6sB3Nan/CP6R/z7/8A - j7/41l6wmsDT5DdPCY8rkKGz94Y6+9aezxB/z0t/yagDM0rRtNuYZWmh3FZX - UfMw4B46GiXRtNXVobYQ/u3jZiNzdQfXOaNKXWDDL9neEL5r53BvvZ5xjtRI - usf2tCGeHzvLbacNtxnnPvQA7V9G02206aeCHa6AYO5j3A7mtBPD+kFQTB1A - /jb/ABrO1dNYGnTG5eExYGQobPUdM1oImv7RiS3xgdmoAztM0fTbgXXnQ7vL - nkRfmYYUYwODRPo2mpqlrbrDiORXLDc3JA45zmjTE1gi6+zvCP38m7cG+9xn - GO1E66x/alqHeHzdr7SA23GOc0AS6noumW9hPNDDtdFyDuY/zNWodA0l4Y2a - DJKgn529PrVTU01oWE5uHhMe35gobOParcKa95MeyS327RjIbpigChp2jabP - JeLLDuEUzKvzMMAAccGi60bTY9SsYEhxHN5u8bm52rkc5o05dYMl35Dwg+c2 - /cG+9gdPai6XWP7SsRI8JlPm7CA20fLzn8OlAE+oaJpcFjPNFDtdEYg7mOCB - 9altdC0qS1hkeDLMiknc3Uj61FqCa2LGczyQGPY27aGzjHapbVNd+yw+XJAE - 2LjIbOMcZoAp2OjadNc3kckOVikCqNzcDH1ovdG02K9soo4cLKzBhubkAZHe - ixXWDc3nkvCHEg35DYJx2ovV1gXtl5rwlyzbMBsA45zQBavdC0qKznljgwyR - swO5uoGR3pLHQ9LmsreWSDc7xqxO5hkkZPelvE1z7HP5skBTy23YDZxjnFJY - prhsrcwyQCPy125DZxjjNAFaz0fTpb++hkhykJQKNzcZXJ70X+j6dDcWaRQ7 - Vll2t8zHIx9aLNdYN/eiJ4RICm/IbBO3jFF+usC4s/OeEsZPk2hsbsd/agC7 - c6DpUdvK6QYZUYj526gfWoNN0TTJ7CCaWHc7oCTuYZP4Gp7lNd+zy+ZJBt2N - nAbOMc1Bpya0bCAwSQCPYNu4NnHvQBDbaNpsmp3tu8OY4hHtG5uNwye9GpaN - psDWgih2iWdUb5mOVOcjk0Wyax/aV6I3h80CPeSG29OMf1o1JdYDWnnvCT56 - 7Nob73OM+1AGhLoGkrE7LBggEj529PrVPStF0y50+CeaHc7rkncw7+xq3Kmv - eU+6S3xg5wG6VT0tNZOnwG3eER7flDBs9e+KAGQ6Ppz6rc2zQ5jjRCo3NwT1 - 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 - - type - public.jpeg - - ApplicationVersion - - com.omnigroup.OmniGraffle7 - 205.27.2 - - CreationDate - 2023-03-01 17:22:51 +0000 - Creator - Glenn Rodgers - FileType - flat - GraphDocumentVersion - 16 - GuidesLocked - NO - GuidesVisible - YES - ImageCounter - 1 - LinksVisible - NO - MagnetsVisible - NO - MasterSheets - - ModificationDate - 2023-06-05 20:20:18 +0000 - Modifier - Glenn Rodgers - MovementHandleVisible - NO - NotesVisible - NO - OriginVisible - NO - PageBreaks - NO - PrintInfo - - NSBottomMargin - - float - 40 - - NSHorizonalPagination - - coded - BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG - - NSLeftMargin - - float - 18 - - NSPaperSize - - size - {612, 792} - - NSPrintReverseOrientation - - coded - BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG - - NSRightMargin - - float - 18 - - NSTopMargin - - float - 18 - - - ReadOnly - NO - Sheets - - - ActiveLayerIndex - 0 - AutoAdjust - 15 - AutosizingMargin - 0 - BackgroundGraphic - - Bounds - {{-2160.2777777778429, -900.05555555558078}, {3931.9444444444443, 2898.6111111111109}} - Class - GraffleShapes.CanvasBackgroundGraphic - ID - 0 - Style - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - TextAlongPathGlyphAnchor - center - - - BaseZoom - 0 - CanvasDimensionsOrigin - {-841, 88} - CanvasOrigin - {0, 0} - CanvasSize - {689, 492} - CanvasSizingMode - 2 - ColumnAlign - 1 - ColumnSpacing - 36 - DisplayScale - 1.0 pt = 1.0 px - GraphicsList - - - Bounds - {{-456, 263.75387879604227}, {71.261056873051928, 21.233309318300801}} - Class - ShapedGraphic - FontInfo - - Color - - space - gg22 - w - 0 - - Font - DINPro-Medium - - ID - 90 - Layer - 0 - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf2709 -\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fnil\fcharset0 DINPro-Medium;} -{\colortbl;\red255\green255\blue255;} -{\*\expandedcolortbl;;} -\deftab720 -\pard\pardeftab720\qc\partightenfactor0 - -\f0\fs32 \cf0 Organization-Owned Network} - TextAlongPathGlyphAnchor - center - - Wrap - NO - - - Bounds - {{-840.5, 313.38737879478526}, {688, 144}} - Class - ShapedGraphic - FontInfo - - Color - - space - gg22 - w - 0 - - Size - 0.0 - - ID - 89 - Layer - 0 - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Color - - b - 0.5 - g - 0.5 - r - 0.5 - space - srgb - - Draws - NO - - - Text - - TextAlongPathGlyphAnchor - center - - VFlip - YES - - - AllowLabelDrop - - Class - LineGraphic - FontInfo - - Color - - space - gg22 - w - 0 - - Font - Helvetica - Size - 12 - - Head - - ID - 70 - - ID - 58 - Layer - 0 - LogicalPath - - elements - - - element - MOVETO - point - {-592.71658102779497, 155.5} - - - element - LINETO - point - {-592.71658102779497, 371.44108790595772} - - - control1 - {-592.71658102779497, 384.69296754446151} - control2 - {-603.45935205194996, 395.43573856861656} - element - CURVETO - point - {-616.71123169045381, 395.43573856861656} - - - element - LINETO - point - {-628.71545166191686, 395.43573856861656} - - - control1 - {-635.33758367656742, 395.43573856861656} - control2 - {-640.70588235311266, 390.06743989207132} - element - CURVETO - point - {-640.70588235311266, 383.44530787742076} - - - element - LINETO - point - {-640.70588235311266, 383.44530787742076} - - - control1 - {-640.70588235311266, 376.8231758627702} - control2 - {-646.07418102965789, 371.45487718622496} - element - CURVETO - point - {-652.69631304430845, 371.45487718622496} - - - element - LINETO - point - {-690.40346343966371, 371.45487718622496} - - - control1 - {-693.1044971750091, 371.45487718622496} - control2 - {-695.29411764688734, 373.64449765810315} - element - CURVETO - point - {-695.29411764688734, 376.34553139344854} - - - element - LINETO - point - {-695.29411764688734, 376.34553139344854} - - - control1 - {-695.29411764688734, 379.04656512879393} - control2 - {-693.1044971750091, 381.23618560067212} - element - CURVETO - point - {-690.40346343966371, 381.23618560067212} - - - element - LINETO - point - {-592.64356435643572, 381.23618560067212} - - - - OrthogonalBarAutomatic - - OrthogonalBarPoint - {216.8984375, 371} - OrthogonalBarPosition - -1 - Points - - {-592.71658102779497, 155.5} - {-601.97058823529392, 395.43573856861656} - {-640.70588235311266, 371.45487718622496} - {-592.64356435643572, 381.23618560067212} - - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Cap - 0 - Color - - b - 0.80000000000000004 - g - 0.80000000000000004 - r - 0.80784299999999998 - space - srgb - - CornerRadius - 24 - HeadArrow - FilledArrow - Legacy - - LineType - 2 - TailArrow - FilledArrow - Width - 3 - - - Tail - - ID - 62 - - - - AllowLabelDrop - - Class - LineGraphic - FontInfo - - Color - - space - gg22 - w - 0 - - Font - Helvetica - Size - 12 - - ID - 59 - Layer - 0 - LogicalPath - - elements - - - element - MOVETO - point - {-360.45518380961732, 379.62462561332137} - - - element - LINETO - point - {-406.79105227652531, 382.90074528834282} - - - control1 - {-407.00042109212546, 382.91554844880613} - control2 - {-407.18214838474933, 382.75782182139045} - element - CURVETO - point - {-407.19695154521264, 382.54845300579029} - - - control1 - {-407.21052992332574, 382.35640692547139} - control2 - {-407.07835261101775, 382.1845449306432} - element - CURVETO - point - {-406.8892553374622, 382.14837463271948} - - - element - LINETO - point - {-406.8892553374622, 382.14837463271948} - - - control1 - {-406.5620693638823, 382.08579089516297} - control2 - {-406.3475668697742, 381.76982011417857} - element - CURVETO - point - {-406.41015060733071, 381.44263414059867} - - - control1 - {-406.46458496368479, 381.1580528967279} - control2 - {-406.71367789043802, 380.95238382719418} - element - CURVETO - point - {-407.0034181513214, 380.952789706445} - - - element - LINETO - point - {-517.28712871287144, 381.10727935067212} - - - - Points - - {-360.45518380961732, 379.62462561332137} - {-413.18669446057595, 383.35294117647061} - {-400.59181621434846, 380.94380808896835} - {-517.28712871287144, 381.10727935067212} - - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Color - - b - 0.80000000000000004 - g - 0.80000000000000004 - r - 0.80784299999999998 - space - srgb - - CornerRadius - 24 - Legacy - - TailArrow - FilledArrow - Width - 3 - - - Tail - - ID - 74 - - - - AllowLabelDrop - - Class - LineGraphic - FontInfo - - Color - - space - gg22 - w - 0 - - Font - Helvetica - Size - 12 - - ID - 60 - Layer - 0 - LogicalPath - - elements - - - element - MOVETO - point - {-360.45518380961732, 321.61821967049292} - - - element - LINETO - point - {-432.38235294117635, 321.61821967049292} - - - control1 - {-445.63718693711542, 321.61821967049292} - control2 - {-456.38235294117635, 332.36338567455385} - element - CURVETO - point - {-456.38235294117635, 345.61821967049292} - - - element - LINETO - point - {-456.38235294117635, 356.91008131463775} - - - control1 - {-456.38235294117635, 370.16491531057682} - control2 - {-467.12751894523728, 380.91008131463775} - element - CURVETO - point - {-480.38235294117635, 380.91008131463775} - - - element - LINETO - point - {-516.39524693210069, 380.91008131463775} - - - control1 - {-516.88781963827228, 380.91008131463775} - control2 - {-517.28712871287144, 380.51077224003859} - element - CURVETO - point - {-517.28712871287144, 380.018199533867} - - - element - LINETO - point - {-517.28712871287144, 380.018199533867} - - - - OrthogonalBarAutomatic - - OrthogonalBarPoint - {216.8984375, 371} - OrthogonalBarPosition - -1 - Points - - {-360.45518380961732, 321.61821967049292} - {-456.38235294117635, 345.41651787476098} - {-512.0595449262421, 380.91008131463775} - {-517.28712871287144, 380.018199533867} - - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Cap - 0 - Color - - b - 0.80000000000000004 - g - 0.80000000000000004 - r - 0.80784299999999998 - space - srgb - - CornerRadius - 24 - HeadArrow - FilledArrow - Legacy - - LineType - 2 - TailArrow - FilledArrow - Width - 3 - - - Tail - - ID - 78 - - - - AllowLabelDrop - - Class - LineGraphic - FontInfo - - Color - - space - gg22 - w - 0 - - Font - Helvetica - Size - 12 - - Head - - ID - 69 - - ID - 61 - Layer - 0 - LogicalPath - - elements - - - element - MOVETO - point - {-592.64356435643572, 381.23618560067212} - - - element - LINETO - point - {-593.74560009105892, 457.08455203587795} - - - control1 - {-593.7485332469563, 457.28642850533186} - control2 - {-593.74891888544232, 457.48833395065446} - element - CURVETO - point - {-593.74675691441689, 457.69022015177768} - - - element - LINETO - point - {-593.66518157483358, 465.30777617829926} - - - control1 - {-593.66168704587039, 465.63409746975111} - control2 - {-593.66484861099423, 465.96045609497367} - element - CURVETO - point - {-593.6746642977655, 466.28664844509956} - - - element - LINETO - point - {-594.86014538423069, 505.68224761536652} - - - - Points - - {-592.64356435643572, 381.23618560067212} - {-593.75000000005366, 457.38737879478526} - {-593.65993923617634, 465.79730902775248} - {-594.86014538423069, 505.68224761536652} - - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Color - - b - 0.80000000000000004 - g - 0.80000000000000004 - r - 0.80784299999999998 - space - srgb - - CornerRadius - 24 - Legacy - - TailArrow - FilledArrow - Width - 3 - - - Tail - - ID - 70 - - - - Bounds - {{-626.96847596913221, 550.60669035744991}, {71.261056873051928, 21.233309318300801}} - Class - ShapedGraphic - FontInfo - - Color - - space - gg22 - w - 0 - - Font - DINPro-Medium - - ID - 63 - Layer - 0 - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf2709 -\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fnil\fcharset0 DINPro-Medium;} -{\colortbl;\red255\green255\blue255;} -{\*\expandedcolortbl;;} -\deftab720 -\pard\pardeftab720\qc\partightenfactor0 - -\f0\fs32 \cf0 Consumer Applications} - TextAlongPathGlyphAnchor - center - - Wrap - NO - - - Class - Group - Graphics - - - Bounds - {{-594.82686096580392, 525.39510758725521}, {31.000193632335677, 15.366306506807252}} - Class - ShapedGraphic - ID - 65 - Shape - Bezier - ShapeData - - AdditionalUnitPoints - - - {-0.47368421052631571, 0.43983860692291366} - {-0.47368421052631571, 0.43983860692291366} - {-0.44736842105263164, 0.43983860692291366} - {-0.44736842105263164, 0.43983860692291366} - {-0.44736842105263164, 0.43983860692291366} - {-0.47368421052631571, 0.43983860692291366} - - - {-0.47367368421052625, 0.44691017201104311} - {-0.47367368421052625, 0.44691017201104311} - {-0.49998947368421054, 0.44729241877256332} - {-0.49998947368421054, 0.44729241877256332} - {-0.49998947368421054, 0.44729241877256332} - {-0.4997999999999998, 0.50000000000000044} - {-0.4997999999999998, 0.50000000000000044} - {-0.4997999999999998, 0.50000000000000044} - {-0.47367368421052625, 0.50000000000000044} - {-0.47367368421052625, 0.50000000000000044} - {-0.47367368421052625, 0.50000000000000044} - {-0.47367368421052625, 0.44691017201104311} - - - {0.47367368421052647, 0.44691017201104311} - {0.47367368421052647, 0.44691017201104311} - {0.47367368421052647, 0.50000000000000044} - {0.47367368421052647, 0.50000000000000044} - {0.47367368421052647, 0.50000000000000044} - {0.4997999999999998, 0.50000000000000044} - {0.4997999999999998, 0.50000000000000044} - {0.4997999999999998, 0.50000000000000044} - {0.49998947368421054, 0.44729241877256332} - {0.49998947368421054, 0.44729241877256332} - {0.49998947368421054, 0.44729241877256332} - {0.47367368421052647, 0.44691017201104311} - - - {0.18732631578947356, -0.43813973242726645} - {0.18732631578947356, -0.43813973242726645} - {0.19773684210526321, -0.48689743045232481} - {0.19773684210526321, -0.48689743045232481} - {0.19773684210526321, -0.48689743045232481} - {0.18268421052631578, -0.49999999999999956} - {0.18268421052631578, -0.49999999999999956} - {0.18268421052631578, -0.49999999999999956} - {0.17022105263157883, -0.47848800169887395} - {0.17022105263157883, -0.47848800169887395} - {0.17022105263157883, -0.47848800169887395} - {0.18732631578947356, -0.43813973242726645} - - - {-0.19774736842105267, -0.48689743045232481} - {-0.3754947368421051, -0.33234232321087243} - {-0.5, 0.024357613081333884} - {-0.5, 0.43983860692291366} - {-0.5, 0.43983860692291366} - {-0.44736842105263164, 0.43983860692291366} - {-0.44736842105263164, 0.43983860692291366} - {-0.44736842105263164, 0.068252282862604208} - {-0.33605263157894738, -0.2510087067317901} - {-0.17691578947368414, -0.38938203440220809} - {-0.17691578947368414, -0.38938203440220809} - {-0.19774736842105267, -0.48689743045232481} - - - {-0.5, 0.43983860692291366} - {-0.5, 0.44232321087279702} - {-0.5, 0.44480781482268039} - {-0.49998947368421054, 0.44729241877256332} - {-0.49998947368421054, 0.44729241877256332} - {-0.44735789473684195, 0.44652792524952245} - {-0.44735789473684195, 0.44652792524952245} - {-0.44736842105263164, 0.44429815247398663} - {-0.44736842105263164, 0.44206837969844992} - {-0.44736842105263164, 0.43983860692291366} - {-0.44736842105263164, 0.43983860692291366} - {-0.5, 0.43983860692291366} - - - {-0.47367368421052625, 0.50000000000000044} - {-0.47367368421052625, 0.50000000000000044} - {0.47367368421052647, 0.50000000000000044} - {0.47367368421052647, 0.50000000000000044} - {0.47367368421052647, 0.50000000000000044} - {0.47367368421052647, 0.39382034402208577} - {0.47367368421052647, 0.39382034402208577} - {0.47367368421052647, 0.39382034402208577} - {-0.47367368421052625, 0.39382034402208577} - {-0.47367368421052625, 0.39382034402208577} - {-0.47367368421052625, 0.39382034402208577} - {-0.47367368421052625, 0.50000000000000044} - - - {0.49998947368421054, 0.44729241877256332} - {0.50000000000000022, 0.44480781482268039} - {0.50000000000000022, 0.44232321087279702} - {0.50000000000000022, 0.43983860692291366} - {0.50000000000000022, 0.43983860692291366} - {0.44736842105263164, 0.43983860692291366} - {0.44736842105263164, 0.43983860692291366} - {0.44736842105263164, 0.44206837969844992} - {0.44736842105263164, 0.44429815247398663} - {0.44735789473684195, 0.44652792524952245} - {0.44735789473684195, 0.44652792524952245} - {0.49998947368421054, 0.44729241877256332} - - - {0.50000000000000022, 0.43983860692291366} - {0.50000000000000022, 0.024336377150138144} - {0.37548421052631564, -0.33234232321087243} - {0.19773684210526321, -0.48689743045232481} - {0.19773684210526321, -0.48689743045232481} - {0.1769052631578949, -0.38940327033340383} - {0.1769052631578949, -0.38940327033340383} - {0.3360526315789476, -0.25102994266298495} - {0.44736842105263164, 0.068231046931408468} - {0.44736842105263164, 0.43983860692291366} - {0.44736842105263164, 0.43983860692291366} - {0.50000000000000022, 0.43983860692291366} - - - {0.17022105263157883, -0.47848800169887395} - {0.124284210526316, -0.39921427054576286} - {0.064905263157894799, -0.35147589721809291} - {-1.0526315789460838e-05, -0.35147589721809291} - {-1.0526315789460838e-05, -0.35147589721809291} - {-1.0526315789460838e-05, -0.24529624124017824} - {-1.0526315789460838e-05, -0.24529624124017824} - {0.077957894736842226, -0.24529624124017824} - {0.14936842105263159, -0.30276067105542515} - {0.2044315789473683, -0.39781269908685424} - {0.2044315789473683, -0.39781269908685424} - {0.17022105263157883, -0.47848800169887395} - - - {-1.0526315789460838e-05, -0.35147589721809291} - {-0.06491578947368426, -0.35147589721809291} - {-0.12429473684210524, -0.39921427054576286} - {-0.17022105263157883, -0.47848800169887395} - {-0.17022105263157883, -0.47848800169887395} - {-0.20444210526315776, -0.39781269908685424} - {-0.20444210526315776, -0.39781269908685424} - {-0.14936842105263159, -0.30273943512422941} - {-0.077968421052631687, -0.24529624124017824} - {-1.0526315789460838e-05, -0.24529624124017824} - {-1.0526315789460838e-05, -0.24529624124017824} - {-1.0526315789460838e-05, -0.35147589721809291} - - - UnitPoints - - {-0.18733684210526302, -0.43813973242726645} - {-0.18733684210526302, -0.43813973242726645} - {-0.17022105263157883, -0.47848800169887395} - {-0.17022105263157883, -0.47848800169887395} - {-0.17022105263157883, -0.47848800169887395} - {-0.18268421052631556, -0.49999999999999956} - {-0.18268421052631556, -0.49999999999999956} - {-0.18268421052631556, -0.49999999999999956} - {-0.19774736842105267, -0.48689743045232481} - {-0.19774736842105267, -0.48689743045232481} - {-0.19774736842105267, -0.48689743045232481} - {-0.18733684210526302, -0.43813973242726645} - - - Style - - shadow - - Draws - NO - - stroke - - Cap - 0 - Draws - NO - - - Text - - TextAlongPathGlyphAnchor - center - - - - Bounds - {{-594.01106639653221, 526.34567141937157}, {29.368604493791697, 13.599948105419525}} - Class - ShapedGraphic - ID - 66 - Shape - Bezier - ShapeData - - UnitPoints - - {-0.1977444444444445, -0.49999999999999956} - {-0.3755333333333335, -0.33451304076588961} - {-0.5, 0.047352256640353474} - {-0.5, 0.49200998152458286} - {-0.5, 0.49467332101638828} - {-0.5, 0.49733666050819458} - {-0.49998888888888904, 0.50000000000000089} - {-0.49998888888888904, 0.50000000000000089} - {0.49998888888888882, 0.50000000000000089} - {0.49998888888888882, 0.50000000000000089} - {0.5, 0.49733666050819458} - {0.5, 0.49467332101638828} - {0.5, 0.49200998152458286} - {0.5, 0.047352256640353474} - {0.37553333333333327, -0.33451304076588961} - {0.19773333333333309, -0.49999999999999956} - {0.14442222222222201, -0.40152842095160368} - {0.075399999999999912, -0.3420951604002207} - {-1.1111111111183902e-05, -0.3420951604002207} - {-0.075411111111111317, -0.3420951604002207} - {-0.14443333333333341, -0.40152842095160368} - - - Style - - fill - - Color - - b - 0.92941200000000002 - g - 0.75686299999999995 - r - 0.28235300000000002 - space - srgb - - - shadow - - Draws - NO - - stroke - - Cap - 0 - Draws - NO - - - Text - - TextAlongPathGlyphAnchor - center - - - - Bounds - {{-594.01106639653221, 526.34567141937157}, {29.368604493791697, 13.599948105419525}} - Class - ShapedGraphic - ID - 67 - Shape - Bezier - ShapeData - - UnitPoints - - {-0.1977444444444445, -0.49999999999999956} - {-0.3755333333333335, -0.33451304076588961} - {-0.5, 0.047352256640353474} - {-0.5, 0.49200998152458286} - {-0.5, 0.49467332101638828} - {-0.5, 0.49733666050819458} - {-0.49998888888888904, 0.50000000000000089} - {-0.49998888888888904, 0.50000000000000089} - {0.49998888888888882, 0.50000000000000089} - {0.49998888888888882, 0.50000000000000089} - {0.5, 0.49733666050819458} - {0.5, 0.49467332101638828} - {0.5, 0.49200998152458286} - {0.5, 0.047352256640353474} - {0.37553333333333327, -0.33451304076588961} - {0.19773333333333309, -0.49999999999999956} - {0.14442222222222201, -0.40152842095160368} - {0.075399999999999912, -0.3420951604002207} - {-1.1111111111183902e-05, -0.3420951604002207} - {-0.075411111111111317, -0.3420951604002207} - {-0.14443333333333341, -0.40152842095160368} - - - Style - - shadow - - Draws - NO - - stroke - - Cap - 0 - Draws - NO - - - Text - - TextAlongPathGlyphAnchor - center - - - - Bounds - {{-587.40313038542888, 510.65859448792622}, {16.15273247158542, 15.500096816167856}} - Class - ShapedGraphic - ID - 68 - Shape - Bezier - ShapeData - - UnitPoints - - {0.5, 0} - {0.5, 0.27517894736842097} - {0.2770909090909095, 0.5} - {0, 0.5} - {-0.27709090909090905, 0.5} - {-0.5, 0.27517894736842097} - {-0.5, 0} - {-0.5, -0.27517894736842097} - {-0.27709090909090905, -0.5} - {0, -0.5} - {0.2770909090909095, -0.5} - {0.5, -0.27517894736842097} - - - Style - - fill - - Color - - b - 0.92941200000000002 - g - 0.75686299999999995 - r - 0.28235300000000002 - space - srgb - - - shadow - - Draws - NO - - stroke - - Cap - 0 - Color - - b - 1 - g - 1 - r - 1 - space - srgb - - Width - 2.5 - - - Text - - TextAlongPathGlyphAnchor - center - - - - Bounds - {{-629.57970961679121, 482.83999967575073}, {69.439128465121101, 45.684495879231569}} - Class - ShapedGraphic - ID - 69 - Shape - Bezier - ShapeData - - UnitPoints - - {0.37554277336040165, -0.11674214285714279} - {0.37554277336040165, -0.096264285714285636} - {0.37448542265832074, -0.076161428571428491} - {0.37245060997387169, -0.056552142857142773} - {0.44660613921314318, -0.018546428571428464} - {0.5, 0.088027857142857213} - {0.5, 0.21355785714285724} - {0.5, 0.3707071428571429} - {0.41631421643263977, 0.4981500000000002} - {0.31298520648884387, 0.49854285714285718} - {0.31298520648884387, 0.49854285714285718} - {0.31298520648884387, 0.5} - {0.31298520648884387, 0.5} - {0.31298520648884387, 0.5} - {-0.28852985958382671, 0.5} - {-0.28852985958382671, 0.5} - {-0.28852985958382671, 0.5} - {-0.28852985958382671, 0.49857857142857165} - {-0.28852985958382671, 0.49857857142857165} - {-0.40549493411530291, 0.49703571428571447} - {-0.5, 0.35244285714285717} - {-0.5, 0.17429500000000009} - {-0.5, 0.012832142857142959} - {-0.42236743171864133, -0.12106999999999996} - {-0.32074287110659971, -0.14588071428571425} - {-0.32119447733979956, -0.15336428571428568} - {-0.32142521475967589, -0.16094499999999995} - {-0.32142521475967589, -0.16860785714285709} - {-0.32142521475967589, -0.30429214285714284} - {-0.24905966277561603, -0.41428571428571426} - {-0.15979200736855953, -0.41428571428571426} - {-0.12498637192428425, -0.41428571428571426} - {-0.092749863719242764, -0.39756357142857141} - {-0.066370608470083969, -0.36911714285714281} - {-0.020155454049888055, -0.44933999999999996} - {0.047726461023703481, -0.5} - {0.12339517660106403, -0.5} - {0.26265061373334098, -0.5} - {0.37554277336040165, -0.32840999999999998} - - - Style - - fill - - Color - - b - 0.67058799999999996 - g - 0.49803900000000001 - r - 0.023529399999999999 - space - srgb - - - shadow - - Draws - NO - - stroke - - Cap - 0 - Draws - NO - - - Text - - TextAlongPathGlyphAnchor - center - - - - ID - 64 - Layer - 0 - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - - - Bounds - {{-668, 359.73618560067212}, {150.71287128712851, 42.999999999999943}} - Class - ShapedGraphic - ID - 70 - Layer - 0 - Style - - fill - - Color - - a - 0.5 - b - 1 - g - 0.95686300000000002 - r - 0.93333299999999997 - space - srgb - - - shadow - - Draws - NO - - stroke - - Cap - 0 - Color - - b - 0.99215699999999996 - g - 0.63921600000000001 - r - 0.34117599999999998 - space - srgb - - CornerRadius - 9.5 - Width - 5 - - - Text - - Align - 0 - Text - {\rtf1\ansi\ansicpg1252\cocoartf2709 -\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fnil\fcharset0 OpenSans;} -{\colortbl;\red255\green255\blue255;\red0\green0\blue0;} -{\*\expandedcolortbl;;\cssrgb\c0\c0\c0;} -\deftab720 -\pard\pardeftab720\partightenfactor0 - -\f0\fs32 \cf2 \expnd0\expndtw0\kerning0 - Flex Gateway} - TextAlongPathGlyphAnchor - center - - - - Class - Group - Graphics - - - Bounds - {{-402.26562462905179, 376.81901523196115}, {16.922580903018947, 8.3853278606371457}} - Class - ShapedGraphic - ID - 72 - Shape - Bezier - ShapeData - - AdditionalUnitPoints - - - {-0.21118379845500734, 0.16994382022471899} - {-0.21118379845500734, 0.16994382022471899} - {-0.28634560512213791, -0.27387640449438222} - {-0.28634560512213791, -0.27387640449438222} - {-0.28634560512213791, -0.27387640449438222} - {-0.36359523975224439, 0.16994382022471899} - {-0.36359523975224439, 0.16994382022471899} - {-0.36359523975224439, 0.16994382022471899} - {-0.21118379845500734, 0.16994382022471899} - - - {0.29337462593082331, -0.41432584269662942} - {0.32260421741248513, -0.35721032303370825} - {0.33721901315331604, -0.284643609550562} - {0.33721901315331604, -0.19662921348314621} - {0.33721901315331604, -0.10862008426966319} - {0.32260421741248513, -0.036042837078651857} - {0.29337462593082331, 0.021067415730336769} - {0.26460609645765187, 0.077247191011235783} - {0.22632925046976105, 0.10533707865168518} - {0.17854408796715149, 0.10533707865168518} - {0.17854408796715149, 0.10533707865168518} - {0.065801377966455576, 0.10533707865168518} - {0.065801377966455576, 0.10533707865168518} - {0.065801377966455576, 0.10533707865168518} - {0.065801377966455576, 0.49999999999999978} - {0.065801377966455576, 0.49999999999999978} - {0.065801377966455576, 0.49999999999999978} - {-0.0093604287006751052, 0.49999999999999978} - {-0.0093604287006751052, 0.49999999999999978} - {-0.0093604287006751052, 0.49999999999999978} - {-0.0093604287006751052, -0.50000000000000022} - {-0.0093604287006751052, -0.50000000000000022} - {-0.0093604287006751052, -0.50000000000000022} - {0.17854408796715149, -0.50000000000000022} - {0.17854408796715149, -0.50000000000000022} - {0.22632925046976105, -0.50000000000000022} - {0.26460609645765187, -0.47144136235955081} - - - {0.23839515623912566, -0.073033707865168829} - {0.25416695664277256, -0.10300210674157317} - {0.26205720648618558, -0.1441941713483148} - {0.26205720648618558, -0.19662921348314621} - {0.26205720648618558, -0.24906425561797763} - {0.25416695664277256, -0.28979459269662944} - {0.23839515623912566, -0.31882022471910143} - {0.22262335583547921, -0.34878335674157324} - {0.20127531491405104, -0.36376404494382042} - {0.17436843204119967, -0.36376404494382042} - {0.17436843204119967, -0.36376404494382042} - {0.065801377966455576, -0.36376404494382042} - {0.065801377966455576, -0.36376404494382042} - {0.065801377966455576, -0.36376404494382042} - {0.065801377966455576, -0.02949438202247201} - {0.065801377966455576, -0.02949438202247201} - {0.065801377966455576, -0.02949438202247201} - {0.17436843204119967, -0.02949438202247201} - {0.17436843204119967, -0.02949438202247201} - {0.20127531491405104, -0.02949438202247201} - {0.22262335583547921, -0.044013342696629376} - - - {0.49999999999999989, 0.49999999999999978} - {0.49999999999999989, 0.49999999999999978} - {0.42483819333286921, 0.49999999999999978} - {0.42483819333286921, 0.49999999999999978} - {0.42483819333286921, 0.49999999999999978} - {0.42483819333286921, -0.50000000000000022} - {0.42483819333286921, -0.50000000000000022} - {0.42483819333286921, -0.50000000000000022} - {0.49999999999999989, -0.50000000000000022} - {0.49999999999999989, -0.50000000000000022} - {0.49999999999999989, -0.50000000000000022} - {0.49999999999999989, 0.49999999999999978} - - - UnitPoints - - {-0.076170923515902378, 0.49999999999999978} - {-0.076170923515902378, 0.49999999999999978} - {-0.15620432876331003, 0.49999999999999978} - {-0.15620432876331003, 0.49999999999999978} - {-0.15620432876331003, 0.49999999999999978} - {-0.19030551882524893, 0.29915730337078617} - {-0.19030551882524893, 0.29915730337078617} - {-0.19030551882524893, 0.29915730337078617} - {-0.38586540469065356, 0.29915730337078617} - {-0.38586540469065356, 0.29915730337078617} - {-0.38586540469065356, 0.29915730337078617} - {-0.41996659475259235, 0.49999999999999978} - {-0.41996659475259235, 0.49999999999999978} - {-0.41996659475259235, 0.49999999999999978} - {-0.5, 0.49999999999999978} - {-0.5, 0.49999999999999978} - {-0.5, 0.49999999999999978} - {-0.31835896722110102, -0.50000000000000022} - {-0.31835896722110102, -0.50000000000000022} - {-0.31835896722110102, -0.50000000000000022} - {-0.25781195629480136, -0.50000000000000022} - {-0.25781195629480136, -0.50000000000000022} - {-0.25781195629480136, -0.50000000000000022} - {-0.076170923515902378, 0.49999999999999978} - - - Style - - fill - - Color - - b - 0.87451000000000001 - g - 0.63137299999999996 - r - 0.0 - space - srgb - - - shadow - - Draws - NO - - stroke - - Cap - 0 - Draws - NO - - - Text - - TextAlongPathGlyphAnchor - center - - - - Bounds - {{-407.88037892337491, 365.8456595660171}, {29.590079002599438, 29.590079002599456}} - Class - ShapedGraphic - ID - 73 - Shape - Circle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Cap - 0 - Color - - b - 0.87451000000000001 - g - 0.63137299999999996 - r - 0.0 - space - srgb - - Width - 4 - - - Text - - TextAlongPathGlyphAnchor - center - - - - ID - 71 - Layer - 0 - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - - - Bounds - {{-413.18669446057595, 358.24925122664274}, {105.46302130191719, 42.750748773357266}} - Class - ShapedGraphic - ID - 74 - Layer - 0 - Style - - fill - - Color - - a - 0.14999999999999999 - b - 0.81568600000000002 - g - 0.99215699999999996 - r - 0.86274499999999998 - space - srgb - - - shadow - - Draws - NO - - stroke - - Cap - 0 - Color - - b - 0.33333299999999999 - g - 0.65490199999999998 - r - 0.231373 - space - srgb - - CornerRadius - 9.5 - Width - 5 - - - Text - - TextAlongPathGlyphAnchor - center - - - - Class - Group - Graphics - - - Bounds - {{-402.92891407120362, 318.75151684052179}, {16.922580903018947, 8.3853278606371457}} - Class - ShapedGraphic - ID - 76 - Shape - Bezier - ShapeData - - AdditionalUnitPoints - - - {-0.21118379845500734, 0.16994382022471899} - {-0.21118379845500734, 0.16994382022471899} - {-0.28634560512213791, -0.27387640449438222} - {-0.28634560512213791, -0.27387640449438222} - {-0.28634560512213791, -0.27387640449438222} - {-0.36359523975224439, 0.16994382022471899} - {-0.36359523975224439, 0.16994382022471899} - {-0.36359523975224439, 0.16994382022471899} - {-0.21118379845500734, 0.16994382022471899} - - - {0.29337462593082331, -0.41432584269662942} - {0.32260421741248513, -0.35721032303370825} - {0.33721901315331604, -0.284643609550562} - {0.33721901315331604, -0.19662921348314621} - {0.33721901315331604, -0.10862008426966319} - {0.32260421741248513, -0.036042837078651857} - {0.29337462593082331, 0.021067415730336769} - {0.26460609645765187, 0.077247191011235783} - {0.22632925046976105, 0.10533707865168518} - {0.17854408796715149, 0.10533707865168518} - {0.17854408796715149, 0.10533707865168518} - {0.065801377966455576, 0.10533707865168518} - {0.065801377966455576, 0.10533707865168518} - {0.065801377966455576, 0.10533707865168518} - {0.065801377966455576, 0.49999999999999978} - {0.065801377966455576, 0.49999999999999978} - {0.065801377966455576, 0.49999999999999978} - {-0.0093604287006751052, 0.49999999999999978} - {-0.0093604287006751052, 0.49999999999999978} - {-0.0093604287006751052, 0.49999999999999978} - {-0.0093604287006751052, -0.50000000000000022} - {-0.0093604287006751052, -0.50000000000000022} - {-0.0093604287006751052, -0.50000000000000022} - {0.17854408796715149, -0.50000000000000022} - {0.17854408796715149, -0.50000000000000022} - {0.22632925046976105, -0.50000000000000022} - {0.26460609645765187, -0.47144136235955081} - - - {0.23839515623912566, -0.073033707865168829} - {0.25416695664277256, -0.10300210674157317} - {0.26205720648618558, -0.1441941713483148} - {0.26205720648618558, -0.19662921348314621} - {0.26205720648618558, -0.24906425561797763} - {0.25416695664277256, -0.28979459269662944} - {0.23839515623912566, -0.31882022471910143} - {0.22262335583547921, -0.34878335674157324} - {0.20127531491405104, -0.36376404494382042} - {0.17436843204119967, -0.36376404494382042} - {0.17436843204119967, -0.36376404494382042} - {0.065801377966455576, -0.36376404494382042} - {0.065801377966455576, -0.36376404494382042} - {0.065801377966455576, -0.36376404494382042} - {0.065801377966455576, -0.02949438202247201} - {0.065801377966455576, -0.02949438202247201} - {0.065801377966455576, -0.02949438202247201} - {0.17436843204119967, -0.02949438202247201} - {0.17436843204119967, -0.02949438202247201} - {0.20127531491405104, -0.02949438202247201} - {0.22262335583547921, -0.044013342696629376} - - - {0.49999999999999989, 0.49999999999999978} - {0.49999999999999989, 0.49999999999999978} - {0.42483819333286921, 0.49999999999999978} - {0.42483819333286921, 0.49999999999999978} - {0.42483819333286921, 0.49999999999999978} - {0.42483819333286921, -0.50000000000000022} - {0.42483819333286921, -0.50000000000000022} - {0.42483819333286921, -0.50000000000000022} - {0.49999999999999989, -0.50000000000000022} - {0.49999999999999989, -0.50000000000000022} - {0.49999999999999989, -0.50000000000000022} - {0.49999999999999989, 0.49999999999999978} - - - UnitPoints - - {-0.076170923515902378, 0.49999999999999978} - {-0.076170923515902378, 0.49999999999999978} - {-0.15620432876331003, 0.49999999999999978} - {-0.15620432876331003, 0.49999999999999978} - {-0.15620432876331003, 0.49999999999999978} - {-0.19030551882524893, 0.29915730337078617} - {-0.19030551882524893, 0.29915730337078617} - {-0.19030551882524893, 0.29915730337078617} - {-0.38586540469065356, 0.29915730337078617} - {-0.38586540469065356, 0.29915730337078617} - {-0.38586540469065356, 0.29915730337078617} - {-0.41996659475259235, 0.49999999999999978} - {-0.41996659475259235, 0.49999999999999978} - {-0.41996659475259235, 0.49999999999999978} - {-0.5, 0.49999999999999978} - {-0.5, 0.49999999999999978} - {-0.5, 0.49999999999999978} - {-0.31835896722110102, -0.50000000000000022} - {-0.31835896722110102, -0.50000000000000022} - {-0.31835896722110102, -0.50000000000000022} - {-0.25781195629480136, -0.50000000000000022} - {-0.25781195629480136, -0.50000000000000022} - {-0.25781195629480136, -0.50000000000000022} - {-0.076170923515902378, 0.49999999999999978} - - - Style - - fill - - Color - - b - 0.87451000000000001 - g - 0.63137299999999996 - r - 0.0 - space - srgb - - - shadow - - Draws - NO - - stroke - - Cap - 0 - Draws - NO - - - Text - - TextAlongPathGlyphAnchor - center - - - - Bounds - {{-408.54366836552674, 307.77816117458798}, {29.590079002599438, 29.590079002599456}} - Class - ShapedGraphic - ID - 77 - Shape - Circle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Cap - 0 - Color - - b - 0.87451000000000001 - g - 0.63137299999999996 - r - 0.0 - space - srgb - - Width - 4 - - - Text - - TextAlongPathGlyphAnchor - center - - - - ID - 75 - Layer - 0 - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - - - Bounds - {{-413.18669446057595, 300.24284528381429}, {105.46302130191719, 42.750748773357266}} - Class - ShapedGraphic - ID - 78 - Layer - 0 - Style - - fill - - Color - - a - 0.14999999999999999 - b - 0.81568600000000002 - g - 0.99215699999999996 - r - 0.86274499999999998 - space - srgb - - - shadow - - Draws - NO - - stroke - - Cap - 0 - Color - - b - 0.33333299999999999 - g - 0.65490199999999998 - r - 0.231373 - space - srgb - - CornerRadius - 9.5 - Width - 5 - - - Text - - TextAlongPathGlyphAnchor - center - - - - Bounds - {{-361.83762437463395, 371.45487718622496}, {30.527822876145379, 19.562616828894267}} - Class - ShapedGraphic - FontInfo - - Color - - space - gg22 - w - 0 - - Font - DINPro-Medium - Size - 18 - - ID - 79 - Layer - 0 - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf2709 -\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fnil\fcharset0 DINPro-Medium;} -{\colortbl;\red255\green255\blue255;} -{\*\expandedcolortbl;;} -\deftab720 -\pard\pardeftab720\qc\partightenfactor0 - -\f0\fs36 \cf0 API 2} - TextAlongPathGlyphAnchor - center - - Wrap - NO - - - Bounds - {{-361.83762437463395, 313.38737879478526}, {30.527822876145379, 19.562616828894267}} - Class - ShapedGraphic - FontInfo - - Color - - space - gg22 - w - 0 - - Font - DINPro-Medium - Size - 18 - - ID - 80 - Layer - 0 - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf2709 -\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fnil\fcharset0 DINPro-Medium;} -{\colortbl;\red255\green255\blue255;} -{\*\expandedcolortbl;;} -\deftab720 -\pard\pardeftab720\qc\partightenfactor0 - -\f0\fs36 \cf0 API 1} - TextAlongPathGlyphAnchor - center - - Wrap - NO - - - Class - Group - Graphics - - - Bounds - {{-654.25819488355137, 371.46407185628743}, {18.443113772455071, 16.07185628742516}} - Class - ShapedGraphic - ID - 82 - Shape - Bezier - ShapeData - - UnitPoints - - {0.5, -0.020646448087431712} - {0.5, 0.20992896174863385} - {0.38160000000000005, 0.40864480874316944} - {0.21086190476190481, 0.5} - {0.21086190476190481, 0.5} - {0.16678095238095247, 0.31108196721311476} - {0.16678095238095247, 0.31108196721311476} - {0.26646666666666674, 0.24483606557377058} - {0.33358571428571437, 0.12113114754098364} - {0.33358571428571437, -0.020646448087431712} - {0.33358571428571437, -0.085179234972677598} - {0.31963333333333332, -0.14594262295081967} - {0.29509523809523819, -0.19929125683060106} - {0.29509523809523819, -0.19929125683060106} - {0.069471428571428628, 0.1707540983606558} - {0.069471428571428628, 0.1707540983606558} - {0.069471428571428628, 0.1707540983606558} - {-0.069473333333333276, 0.1707540983606558} - {-0.069473333333333276, 0.1707540983606558} - {-0.069473333333333276, 0.1707540983606558} - {-0.295097619047619, -0.19929125683060106} - {-0.295097619047619, -0.19929125683060106} - {-0.31963380952380949, -0.14594262295081967} - {-0.33359047619047622, -0.085179234972677598} - {-0.33359047619047622, -0.020646448087431712} - {-0.33359047619047622, 0.12113114754098364} - {-0.26647190476190474, 0.24483606557377058} - {-0.16678428571428566, 0.31108196721311476} - {-0.16678428571428566, 0.31108196721311476} - {-0.21086523809523805, 0.5} - {-0.21086523809523805, 0.5} - {-0.38160142857142854, 0.40864480874316944} - {-0.5, 0.20992896174863385} - {-0.5, -0.020646448087431712} - {-0.5, -0.22097322404371583} - {-0.41061047619047619, -0.39725846994535519} - {-0.27519666666666665, -0.49999221185792347} - {-0.27519666666666665, -0.49999221185792347} - {0, -0.048761748633879776} - {0, -0.048761748633879776} - {0, -0.048761748633879776} - {0.27518571428571448, -0.5} - {0.27518571428571448, -0.5} - {0.41060476190476203, -0.39726612021857921} - {0.5, -0.2209814207650273} - - - Style - - fill - - Color - - b - 0.87451000000000001 - g - 0.63137299999999996 - r - 0.0 - space - srgb - - - shadow - - Beneath - YES - Color - - a - 0.10000000000000001 - b - 0.0 - g - 0.0 - r - 0.0 - space - srgb - - Fuzziness - 1 - - stroke - - Cap - 0 - Draws - NO - - - Text - - TextAlongPathGlyphAnchor - center - - - - Bounds - {{-656, 368.5}, {22.000000000000007, 22}} - Class - ShapedGraphic - ID - 83 - Shape - Circle - Style - - fill - - Draws - NO - - shadow - - Beneath - YES - Color - - a - 0.10000000000000001 - b - 0.0 - g - 0.0 - r - 0.0 - space - srgb - - Fuzziness - 4 - - stroke - - Cap - 0 - Color - - b - 0.87451000000000001 - g - 0.63137299999999996 - r - 0.0 - space - srgb - - Width - 4 - - - Text - - TextAlongPathGlyphAnchor - center - - - - ID - 81 - Layer - 0 - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - - - Bounds - {{-699, 258}, {405, 320}} - Class - ShapedGraphic - ID - 84 - Layer - 0 - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Cap - 0 - Color - - b - 0.80000000000000004 - g - 0.80000000000000004 - r - 0.80784299999999998 - space - srgb - - CornerRadius - 22.5 - Pattern - 1 - Width - 3 - - - Text - - TextAlongPathGlyphAnchor - center - - - - Bounds - {{-662.78756435643595, 178}, {140.28800000000047, 31.160000324249268}} - Class - ShapedGraphic - FitText - YES - Flow - Resize - FontInfo - - Color - - space - gg22 - w - 0 - - Font - DINPro-Medium - - ID - 85 - Layer - 0 - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf2709 -\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fnil\fcharset0 DINPro-Medium;} -{\colortbl;\red255\green255\blue255;} -{\*\expandedcolortbl;;} -\deftab720 -\pard\pardeftab720\qc\partightenfactor0 - -\f0\fs32 \cf0 Anypoint Platform} - TextAlongPathGlyphAnchor - center - - Wrap - NO - - - Class - Group - Graphics - - - Bounds - {{-618.98438074505589, 116.43318524951923}, {52.473152663676608, 45.726604464061126}} - Class - ShapedGraphic - ID - 87 - Shape - Bezier - ShapeData - - UnitPoints - - {0.5, -0.020646448087431712} - {0.5, 0.20992896174863385} - {0.38160000000000005, 0.40864480874316944} - {0.21086190476190481, 0.5} - {0.21086190476190481, 0.5} - {0.16678095238095247, 0.31108196721311476} - {0.16678095238095247, 0.31108196721311476} - {0.26646666666666674, 0.24483606557377058} - {0.33358571428571437, 0.12113114754098364} - {0.33358571428571437, -0.020646448087431712} - {0.33358571428571437, -0.085179234972677598} - {0.31963333333333332, -0.14594262295081967} - {0.29509523809523819, -0.19929125683060106} - {0.29509523809523819, -0.19929125683060106} - {0.069471428571428628, 0.1707540983606558} - {0.069471428571428628, 0.1707540983606558} - {0.069471428571428628, 0.1707540983606558} - {-0.069473333333333276, 0.1707540983606558} - {-0.069473333333333276, 0.1707540983606558} - {-0.069473333333333276, 0.1707540983606558} - {-0.295097619047619, -0.19929125683060106} - {-0.295097619047619, -0.19929125683060106} - {-0.31963380952380949, -0.14594262295081967} - {-0.33359047619047622, -0.085179234972677598} - {-0.33359047619047622, -0.020646448087431712} - {-0.33359047619047622, 0.12113114754098364} - {-0.26647190476190474, 0.24483606557377058} - {-0.16678428571428566, 0.31108196721311476} - {-0.16678428571428566, 0.31108196721311476} - {-0.21086523809523805, 0.5} - {-0.21086523809523805, 0.5} - {-0.38160142857142854, 0.40864480874316944} - {-0.5, 0.20992896174863385} - {-0.5, -0.020646448087431712} - {-0.5, -0.22097322404371583} - {-0.41061047619047619, -0.39725846994535519} - {-0.27519666666666665, -0.49999221185792347} - {-0.27519666666666665, -0.49999221185792347} - {0, -0.048761748633879776} - {0, -0.048761748633879776} - {0, -0.048761748633879776} - {0.27518571428571448, -0.5} - {0.27518571428571448, -0.5} - {0.41060476190476203, -0.39726612021857921} - {0.5, -0.2209814207650273} - - - Style - - fill - - Color - - b - 0.87451000000000001 - g - 0.63137299999999996 - r - 0.0 - space - srgb - - - shadow - - Beneath - YES - Color - - a - 0.10000000000000001 - b - 0.0 - g - 0.0 - r - 0.0 - space - srgb - - Fuzziness - 1 - - stroke - - Cap - 0 - Draws - NO - - - Text - - TextAlongPathGlyphAnchor - center - - - - Bounds - {{-623.94005183798572, 108}, {62.592974963100012, 62.592974963100005}} - Class - ShapedGraphic - ID - 88 - Shape - Circle - Style - - fill - - Draws - NO - - shadow - - Beneath - YES - Color - - a - 0.10000000000000001 - b - 0.0 - g - 0.0 - r - 0.0 - space - srgb - - Fuzziness - 4 - - stroke - - Cap - 0 - Color - - b - 0.87451000000000001 - g - 0.63137299999999996 - r - 0.0 - space - srgb - - Width - 4 - - - Text - - TextAlongPathGlyphAnchor - center - - - - ID - 86 - Layer - 0 - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - - - Bounds - {{-681.21658102779497, 91}, {177, 129}} - Class - ShapedGraphic - ID - 62 - Layer - 0 - Style - - fill - - Color - - a - 0.5 - b - 1 - g - 0.95686300000000002 - r - 0.93333299999999997 - space - srgb - - - shadow - - Draws - NO - - stroke - - Cap - 0 - Color - - b - 0.99215699999999996 - g - 0.63921600000000001 - r - 0.34117599999999998 - space - srgb - - CornerRadius - 9.5 - Width - 5 - - - Text - - TextAlongPathGlyphAnchor - center - - - - GridInfo - - GridSpacing - 1 - MajorGridColor - - a - 0.1 - archive - - YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25Z - JGFyY2hpdmVyVCR0b3BYJG9iamVjdHMSAAGG - oF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290 - gAGmCwwXHR4lVSRudWxs1Q0ODxAREhMUFRZc - TlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JT - cGFjZV8QEk5TQ3VzdG9tQ29sb3JTcGFjZVYk - Y2xhc3NJMCAwIDAgMC4xSjAgMCAwIDAuMQAQ - AYACgAXTGBEZGhscVU5TSUNDWU5TU3BhY2VJ - RIADgAQQDk8RDEgAAAxITGlubwIQAABtbnRy - UkdCIFhZWiAHzgACAAkABgAxAABhY3NwTVNG - VAAAAABJRUMgc1JHQgAAAAAAAAAAAAAAAAAA - 9tYAAQAAAADTLUhQICAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAABFjcHJ0AAABUAAAADNkZXNjAAAB - hAAAAGx3dHB0AAAB8AAAABRia3B0AAACBAAA - ABRyWFlaAAACGAAAABRnWFlaAAACLAAAABRi - WFlaAAACQAAAABRkbW5kAAACVAAAAHBkbWRk - AAACxAAAAIh2dWVkAAADTAAAAIZ2aWV3AAAD - 1AAAACRsdW1pAAAD+AAAABRtZWFzAAAEDAAA - ACR0ZWNoAAAEMAAAAAxyVFJDAAAEPAAACAxn - VFJDAAAEPAAACAxiVFJDAAAEPAAACAx0ZXh0 - AAAAAENvcHlyaWdodCAoYykgMTk5OCBIZXds - ZXR0LVBhY2thcmQgQ29tcGFueQAAZGVzYwAA - AAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAA - AAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAWFlaIAAA - AAAAAPNRAAEAAAABFsxYWVogAAAAAAAAAAAA - AAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQ - WFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAA - AAAAJKAAAA+EAAC2z2Rlc2MAAAAAAAAAFklF - QyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAA - AAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAA - AC5JRUMgNjE5NjYtMi4xIERlZmF1bHQgUkdC - IGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAA - AAAAAC5JRUMgNjE5NjYtMi4xIERlZmF1bHQg - UkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAZGVzYwAAAAAA - AAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0 - aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAA - AAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRp - dGlvbiBpbiBJRUM2MTk2Ni0yLjEAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAHZpZXcAAAAA - ABOk/gAUXy4AEM8UAAPtzAAEEwsAA1yeAAAA - AVhZWiAAAAAAAEwJVgBQAAAAVx/nbWVhcwAA - AAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAo8A - AAACc2lnIAAAAABDUlQgY3VydgAAAAAAAAQA - AAAABQAKAA8AFAAZAB4AIwAoAC0AMgA3ADsA - QABFAEoATwBUAFkAXgBjAGgAbQByAHcAfACB - AIYAiwCQAJUAmgCfAKQAqQCuALIAtwC8AMEA - xgDLANAA1QDbAOAA5QDrAPAA9gD7AQEBBwEN - ARMBGQEfASUBKwEyATgBPgFFAUwBUgFZAWAB - ZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJ - AdEB2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgC - QQJLAlQCXQJnAnECegKEAo4CmAKiAqwCtgLB - AssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08D - WgNmA3IDfgOKA5YDogOuA7oDxwPTA+AD7AP5 - BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgE - tgTEBNME4QTwBP4FDQUcBSsFOgVJBVgFZwV3 - BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgG - WQZqBnsGjAadBq8GwAbRBuMG9QcHBxkHKwc9 - B08HYQd0B4YHmQesB78H0gflB/gICwgfCDII - RghaCG4IggiWCKoIvgjSCOcI+wkQCSUJOglP - CWQJeQmPCaQJugnPCeUJ+woRCicKPQpUCmoK - gQqYCq4KxQrcCvMLCwsiCzkLUQtpC4ALmAuw - C8gL4Qv5DBIMKgxDDFwMdQyODKcMwAzZDPMN - DQ0mDUANWg10DY4NqQ3DDd4N+A4TDi4OSQ5k - Dn8Omw62DtIO7g8JDyUPQQ9eD3oPlg+zD88P - 7BAJECYQQxBhEH4QmxC5ENcQ9RETETERTxFt - EYwRqhHJEegSBxImEkUSZBKEEqMSwxLjEwMT - IxNDE2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTO - FPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZsFo8W - shbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiK - GK8Y1Rj6GSAZRRlrGZEZtxndGgQaKhpRGnca - nhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyj - HMwc9R0eHUcdcB2ZHcMd7B4WHkAeah6UHr4e - 6R8THz4faR+UH78f6iAVIEEgbCCYIMQg8CEc - IUghdSGhIc4h+yInIlUigiKvIt0jCiM4I2Yj - lCPCI/AkHyRNJHwkqyTaJQklOCVoJZclxyX3 - JicmVyaHJrcm6CcYJ0kneierJ9woDSg/KHEo - oijUKQYpOClrKZ0p0CoCKjUqaCqbKs8rAis2 - K2krnSvRLAUsOSxuLKIs1y0MLUEtdi2rLeEu - Fi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDb - MRIxSjGCMbox8jIqMmMymzLUMw0zRjN/M7gz - 8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbp - NyQ3YDecN9c4FDhQOIw4yDkFOUI5fzm8Ofk6 - Njp0OrI67zstO2s7qjvoPCc8ZTykPOM9Ij1h - PaE94D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA - 50EpQWpBrEHuQjBCckK1QvdDOkN9Q8BEA0RH - RIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BI - BUhLSJFI10kdSWNJqUnwSjdKfUrESwxLU0ua - S+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lP - k0/dUCdQcVC7UQZRUFGbUeZSMVJ8UsdTE1Nf - U6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RX - klfgWC9YfVjLWRpZaVm4WgdaVlqmWvVbRVuV - W+VcNVyGXNZdJ114XcleGl5sXr1fD19hX7Ng - BWBXYKpg/GFPYaJh9WJJYpxi8GNDY5dj62RA - ZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg/aJZo - 7GlDaZpp8WpIap9q92tPa6dr/2xXbK9tCG1g - bbluEm5rbsRvHm94b9FwK3CGcOBxOnGVcfBy - S3KmcwFzXXO4dBR0cHTMdSh1hXXhdj52m3b4 - d1Z3s3gReG54zHkqeYl553pGeqV7BHtje8J8 - IXyBfOF9QX2hfgF+Yn7CfyN/hH/lgEeAqIEK - gWuBzYIwgpKC9INXg7qEHYSAhOOFR4Wrhg6G - cobXhzuHn4gEiGmIzokziZmJ/opkisqLMIuW - i/yMY4zKjTGNmI3/jmaOzo82j56QBpBukNaR - P5GokhGSepLjk02TtpQglIqU9JVflcmWNJaf - lwqXdZfgmEyYuJkkmZCZ/JpomtWbQpuvnByc - iZz3nWSd0p5Anq6fHZ+Ln/qgaaDYoUehtqIm - opajBqN2o+akVqTHpTilqaYapoum/adup+Co - UqjEqTepqaocqo+rAqt1q+msXKzQrUStuK4t - rqGvFq+LsACwdbDqsWCx1rJLssKzOLOutCW0 - nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1 - uy67p7whvJu9Fb2Pvgq+hL7/v3q/9cBwwOzB - Z8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/ - yD3IvMk6ybnKOMq3yzbLtsw1zLXNNc21zjbO - ts83z7jQOdC60TzRvtI/0sHTRNPG1EnUy9VO - 1dHWVdbY11zX4Nhk2OjZbNnx2nba+9uA3AXc - it0Q3ZbeHN6i3ynfr+A24L3hROHM4lPi2+Nj - 4+vkc+T85YTmDeaW5x/nqegy6LzpRunQ6lvq - 5etw6/vshu0R7ZzuKO6070DvzPBY8OXxcvH/ - 8ozzGfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5 - x/pX+uf7d/wH/Jj9Kf26/kv+3P9t///SHyAh - IlokY2xhc3NuYW1lWCRjbGFzc2VzXE5TQ29s - b3JTcGFjZaIjJFxOU0NvbG9yU3BhY2VYTlNP - YmplY3TSHyAmJ1dOU0NvbG9yoiYkAAgAEQAa - ACQAKQAyADcASQBMAFEAUwBaAGAAawB4AH4A - iwCgAKcAsQC8AL4AwADCAMkAzwDZANsA3QDf - DSsNMA07DUQNUQ1UDWENag1vDXcAAAAAAAAC - AQAAAAAAAAAoAAAAAAAAAAAAAAAAAAANeg== - - b - 0 - g - 0 - r - 0 - - MajorGridSpacing - 4 - ShowsGrid - YES - - HPages - 2 - KeepToScale - - Layers - - - Artboards - - Lock - - Name - Layer 1 - Print - - View - - - - Artboards - - Lock - - Name - Layer 2 - Print - - View - - - - LayoutInfo - - Animate - NO - LayoutTarget - 1 - circoMinDist - 18 - circoSeparation - 0.0 - layoutEngine - dot - neatoLineLength - 0.20000000298023224 - neatoSeparation - 0.0 - twopiSeparation - 0.0 - - Orientation - 2 - OutlineStyle - Blank.gtemplate - OutlineStyleURL - - Ym9va1AEAAAAAAQQMAAAAIn7H/Uy170RwoMtdP3u8qjxwXeKeTRQ - +ohqQofFO30/TAMAAAQAAAADAwAAAAgAKAUAAAABAQAAVXNlcnMA - AAANAAAAAQEAAGdsZW5uLnJvZGdlcnMAAAAHAAAAAQEAAExpYnJh - cnkACgAAAAEBAABDb250YWluZXJzAAAaAAAAAQEAAGNvbS5vbW5p - Z3JvdXAuT21uaUdyYWZmbGU3AAAEAAAAAQEAAERhdGETAAAAAQEA - AEFwcGxpY2F0aW9uIFN1cHBvcnQADgAAAAEBAABUaGUgT21uaSBH - cm91cAAACwAAAAEBAABPbW5pR3JhZmZsZQAJAAAAAQEAAFRlbXBs - YXRlcwAAAAkAAAABAQAAVVggYW5kIFVJAAAADwAAAAEBAABCbGFu - ay5ndGVtcGxhdGUANAAAAAEGAAAQAAAAIAAAADgAAABIAAAAXAAA - AIAAAAA4AAAAjAAAAKgAAADAAAAA1AAAAOgAAAD8AAAACAAAAAQD - AACEXAAAAAAAAAgAAAAEAwAAmtkDAAAAAAAIAAAABAMAAKHZAwAA - AAAACAAAAAQDAAB/2wMAAAAAAAgAAAAEAwAATgs/AAAAAAAIAAAA - BAMAAE8LPwAAAAAACAAAAAQDAABSCz8AAAAAAAgAAAAEAwAAVAs/ - AAAAAAAIAAAABAMAAMcLPwAAAAAACAAAAAQDAADICz8AAAAAAAgA - AAAEAwAAegw/AAAAAAAIAAAABAMAAFcNPwAAAAAACAAAAAQDAABl - DT8AAAAAADQAAAABBgAAUAEAAGABAABwAQAAgAEAAJABAACgAQAA - sAEAAMABAADQAQAA4AEAAPABAAAAAgAAEAIAAAgAAAAABAAAQcR/ - w36AAAAYAAAAAQIAAAIAAAAAAAAADwAAAAAAAAAAAAAAAAAAAAgA - AAAEAwAACwAAAAAAAAAEAAAAAwMAAPYBAAAIAAAAAQkAAGZpbGU6 - Ly8vDAAAAAEBAABNYWNpbnRvc2ggSEQIAAAABAMAAABQoRtzAAAA - CAAAAAAEAABBxQd6oAAAACQAAAABAQAANkZENkJGMDYtOUU0NS00 - NDBFLThCRTktOUZGNUZBQjAzNjI3GAAAAAECAACBAAAAAQAAAO8T - AAABAAAAAAAAAAAAAAABAAAAAQEAAC8AAAAAAAAAAQUAAMwAAAD+ - ////AQAAAAAAAAAQAAAABBAAABQBAAAAAAAABRAAACACAAAAAAAA - EBAAAGwCAAAAAAAAQBAAAFwCAAAAAAAAAiAAADgDAAAAAAAABSAA - AKgCAAAAAAAAECAAALgCAAAAAAAAESAAAOwCAAAAAAAAEiAAAMwC - AAAAAAAAEyAAANwCAAAAAAAAICAAABgDAAAAAAAAMCAAAEQDAAAA - AAAAAcAAAIwCAAAAAAAAEcAAACAAAAAAAAAAEsAAAJwCAAAAAAAA - ENAAAAQAAAAAAAAA - - PrintOnePage - - RowAlign - 1 - RowSpacing - 36 - SheetTitle - intro 2 - UniqueID - 2 - VPages - 1 - VisibleVoidKey - 1 - - - SmartAlignmentGuidesActive - YES - SmartDistanceGuidesActive - YES - UseEntirePage - - WindowInfo - - CurrentSheet - 0 - Frame - {{2370, -145}, {1512, 839}} - ShowInfo - - ShowRuler - - Sidebar - - SidebarWidth - 246 - Sidebar_Tab - 0 - VisibleRegion - {{-1150.5555555556207, -300.05555555558078}, {1318.0555555555557, 988.88888888888891}} - WindowInfo_InspectorTab - - com.omnigroup.OmniGraffle.inspectorGroup.object - - ZoomValues - - - intro 2 - 0.71999999999999997 - 1 - - - - compressOnDiskKey - - copyLinkedImagesKey - - createSinglePDFKey - 1 - exportAreaKey - 4 - exportQualityKey - 100 - exportSizesKey - - 1 - - - fileFormatKey - 0 - graffleDocumentFormatKey - 0 - htmlImageTypeKey - 0 - includeBackgroundGraphicKey - - includeNonPrintingLayersKey - - lastExportTypeKey - 0 - marginWidthKey - 0.0 - readOnlyKey - - resolutionForBMPKey - 1 - resolutionForGIFKey - 1 - resolutionForHTMLKey - 1 - resolutionForJPGKey - 1 - resolutionForPNGKey - 2 - resolutionForTIFFKey - 1 - resolutionUnitsKey - 0 - useArtboardsKey - - useMarginKey - - useNotesKey - - - diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-1-p-1a-physical.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-1-p-1a-physical.graffle deleted file mode 100644 index ff5965cb7..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-1-p-1a-physical.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-1-p-1a.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-1-p-1a.graffle deleted file mode 100644 index 4f3fec94e..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-1-p-1a.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-1-p-1b-physical.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-1-p-1b-physical.graffle deleted file mode 100644 index 91e9805b9..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-1-p-1b-physical.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-1-p-1b-separate-clusters.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-1-p-1b-separate-clusters.graffle deleted file mode 100644 index 7cf940d35..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-1-p-1b-separate-clusters.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-1-p-1b.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-1-p-1b.graffle deleted file mode 100644 index 56a4f6be3..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-1-p-1b.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-1-p-2-physical.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-1-p-2-physical.graffle deleted file mode 100644 index ebd013580..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-1-p-2-physical.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-1-p-2.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-1-p-2.graffle deleted file mode 100644 index 1301cb720..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-1-p-2.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-1-p-3-physical.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-1-p-3-physical.graffle deleted file mode 100644 index c21aeb15a..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-1-p-3-physical.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-1-p-3.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-1-p-3.graffle deleted file mode 100644 index 84559e7fc..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-1-p-3.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-1-p-4-physical.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-1-p-4-physical.graffle deleted file mode 100644 index 81f1e7491..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-1-p-4-physical.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-1-p-4.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-1-p-4.graffle deleted file mode 100644 index 4bea17807..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-1-p-4.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-2-p-5-physical.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-2-p-5-physical.graffle deleted file mode 100644 index ef52e6e0d..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-2-p-5-physical.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-2-p-6-physical.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-2-p-6-physical.graffle deleted file mode 100644 index 5e85fe4df..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-2-p-6-physical.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-3-p-7-physical.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-3-p-7-physical.graffle deleted file mode 100644 index fe085afa0..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-3-p-7-physical.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-3-p-8-physical.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-3-p-8-physical.graffle deleted file mode 100644 index d877439ab..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-3-p-8-physical.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-4-p-9-physical.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-4-p-9-physical.graffle deleted file mode 100644 index ab497dbeb..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/ad-uc-4-p-9-physical.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/flex-inbound-outbound-requests.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/flex-inbound-outbound-requests.graffle deleted file mode 100644 index ccdf305c2..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/flex-inbound-outbound-requests.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/forward-proxy-diagram.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/forward-proxy-diagram.graffle deleted file mode 100644 index ac45f2e6e..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/forward-proxy-diagram.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-architecture-diagram.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-architecture-diagram.graffle deleted file mode 100644 index eb26fc888..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-architecture-diagram.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-concepts-control-plane-diagram.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-concepts-control-plane-diagram.graffle deleted file mode 100644 index 62bec708c..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-concepts-control-plane-diagram.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-configuration-models.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-configuration-models.graffle deleted file mode 100644 index fae4c6400..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-configuration-models.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-add-gateway-k8.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-add-gateway-k8.graffle deleted file mode 100644 index bb6adaeed..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-add-gateway-k8.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-add-gateway.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-add-gateway.graffle deleted file mode 100644 index 747da0ae1..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-add-gateway.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-add-new-api.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-add-new-api.graffle deleted file mode 100644 index 616306195..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-add-new-api.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-add-policy.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-add-policy.graffle deleted file mode 100644 index 18e12a9f6..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-add-policy.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-config-basic-auth.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-config-basic-auth.graffle deleted file mode 100644 index fced574c0..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-config-basic-auth.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-add-new-api.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-add-new-api.graffle deleted file mode 100644 index 095dc78b6..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-add-new-api.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-api-config-api.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-api-config-api.graffle deleted file mode 100644 index ff998f9da..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-api-config-api.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-api-config-endpoint.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-api-config-endpoint.graffle deleted file mode 100644 index 3dacd28ba..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-api-config-endpoint.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-basic-auth.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-basic-auth.graffle deleted file mode 100644 index 14fcae195..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-basic-auth.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-config-basic-auth-edit-dialogue.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-config-basic-auth-edit-dialogue.graffle deleted file mode 100644 index a3c20d191..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-config-basic-auth-edit-dialogue.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-config-basic-auth-edit.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-config-basic-auth-edit.graffle deleted file mode 100644 index 1e6e83373..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-config-basic-auth-edit.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-my-gateway-rtm.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-my-gateway-rtm.graffle deleted file mode 100644 index 9c0ae60d3..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-my-gateway-rtm.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-return-to-gateway-list.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-return-to-gateway-list.graffle deleted file mode 100644 index 9cdd4c821..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-return-to-gateway-list.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-select-gateway-for-api.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-select-gateway-for-api.graffle deleted file mode 100644 index 03fb93569..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-select-gateway-for-api.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-view-apis.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-view-apis.graffle deleted file mode 100644 index d883082f7..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-view-apis.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-select-endpoint.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-select-endpoint.graffle deleted file mode 100644 index 8fc72ab32..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-select-endpoint.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-select-gateway-for-api.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-select-gateway-for-api.graffle deleted file mode 100644 index 93bd4ad32..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-quickstart-select-gateway-for-api.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-usage-report.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-usage-report.graffle deleted file mode 100644 index 67f8b978e..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/gateway-usage-report.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/more-options-menu.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/more-options-menu.graffle deleted file mode 100644 index 716f3ed5e..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/more-options-menu.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/multiple-upstreams.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/multiple-upstreams.graffle deleted file mode 100644 index 53cd8a4eb..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/multiple-upstreams.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/no-proxy-diagram.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/no-proxy-diagram.graffle deleted file mode 100644 index fe4164ea3..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/no-proxy-diagram.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/rate-limiting-clusterizable.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/rate-limiting-clusterizable.graffle deleted file mode 100644 index 04655e47b..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/rate-limiting-clusterizable.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/rate-limiting-configure-clusters.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/rate-limiting-configure-clusters.graffle deleted file mode 100644 index 18281e7e5..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/rate-limiting-configure-clusters.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/rate-limiting-configure-identifiers-dataweave.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/rate-limiting-configure-identifiers-dataweave.graffle deleted file mode 100644 index 2c6630202..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/rate-limiting-configure-identifiers-dataweave.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/rate-limiting-configure-identifiers-example.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/rate-limiting-configure-identifiers-example.graffle deleted file mode 100644 index a21316cc4..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/rate-limiting-configure-identifiers-example.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/rate-limiting-generic-example.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/rate-limiting-generic-example.graffle deleted file mode 100644 index aa8c36f60..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/rate-limiting-generic-example.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/rate-limiting-sla-general.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/rate-limiting-sla-general.graffle deleted file mode 100644 index 76c4be639..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/rate-limiting-sla-general.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/image-source-files/shared-storage.graffle b/gateway/1.5/modules/ROOT/assets/image-source-files/shared-storage.graffle deleted file mode 100644 index bbce85fdb..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/image-source-files/shared-storage.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/access-token.png b/gateway/1.5/modules/ROOT/assets/images/access-token.png deleted file mode 100644 index c03a4eed8..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/access-token.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/accessing-your-api-behind-a-firewall-e7a50.png b/gateway/1.5/modules/ROOT/assets/images/accessing-your-api-behind-a-firewall-e7a50.png deleted file mode 100644 index 5b1b3a9a0..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/accessing-your-api-behind-a-firewall-e7a50.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/ad-egress-deployment.png b/gateway/1.5/modules/ROOT/assets/images/ad-egress-deployment.png deleted file mode 100644 index 82293d6cc..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/ad-egress-deployment.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/ad-external-non-org-mtls.png b/gateway/1.5/modules/ROOT/assets/images/ad-external-non-org-mtls.png deleted file mode 100644 index 4afc2a006..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/ad-external-non-org-mtls.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/ad-external-org-mtls.png b/gateway/1.5/modules/ROOT/assets/images/ad-external-org-mtls.png deleted file mode 100644 index 0103af0e3..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/ad-external-org-mtls.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/ad-ingress-controller.png b/gateway/1.5/modules/ROOT/assets/images/ad-ingress-controller.png deleted file mode 100644 index 0bfaca3fa..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/ad-ingress-controller.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/ad-ingress-deployment.png b/gateway/1.5/modules/ROOT/assets/images/ad-ingress-deployment.png deleted file mode 100644 index e7baa9e74..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/ad-ingress-deployment.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/ad-intergration-use-cases.png b/gateway/1.5/modules/ROOT/assets/images/ad-intergration-use-cases.png deleted file mode 100644 index 8c1879ab6..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/ad-intergration-use-cases.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/ad-internal-org-mtls.png b/gateway/1.5/modules/ROOT/assets/images/ad-internal-org-mtls.png deleted file mode 100644 index 1ff67c2ac..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/ad-internal-org-mtls.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/ad-sidecar-deployment.png b/gateway/1.5/modules/ROOT/assets/images/ad-sidecar-deployment.png deleted file mode 100644 index c79d92b72..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/ad-sidecar-deployment.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/ad-standalone-deployment.png b/gateway/1.5/modules/ROOT/assets/images/ad-standalone-deployment.png deleted file mode 100644 index 0ac72ef86..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/ad-standalone-deployment.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/ad-uc-1-p-1a-physical.png b/gateway/1.5/modules/ROOT/assets/images/ad-uc-1-p-1a-physical.png deleted file mode 100644 index 28e6d3eff..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/ad-uc-1-p-1a-physical.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/ad-uc-1-p-1a.png b/gateway/1.5/modules/ROOT/assets/images/ad-uc-1-p-1a.png deleted file mode 100644 index 45dafcea2..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/ad-uc-1-p-1a.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/ad-uc-1-p-1b-physical.png b/gateway/1.5/modules/ROOT/assets/images/ad-uc-1-p-1b-physical.png deleted file mode 100644 index 1a29b94db..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/ad-uc-1-p-1b-physical.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/ad-uc-1-p-1b-separate-clusters.png b/gateway/1.5/modules/ROOT/assets/images/ad-uc-1-p-1b-separate-clusters.png deleted file mode 100644 index 84e0ea72e..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/ad-uc-1-p-1b-separate-clusters.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/ad-uc-1-p-1b.png b/gateway/1.5/modules/ROOT/assets/images/ad-uc-1-p-1b.png deleted file mode 100644 index 4084d1996..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/ad-uc-1-p-1b.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/ad-uc-1-p-2-physical.png b/gateway/1.5/modules/ROOT/assets/images/ad-uc-1-p-2-physical.png deleted file mode 100644 index 630b73c51..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/ad-uc-1-p-2-physical.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/ad-uc-1-p-2.png b/gateway/1.5/modules/ROOT/assets/images/ad-uc-1-p-2.png deleted file mode 100644 index 70530fa9e..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/ad-uc-1-p-2.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/ad-uc-1-p-3-physical.png b/gateway/1.5/modules/ROOT/assets/images/ad-uc-1-p-3-physical.png deleted file mode 100644 index 189e89a15..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/ad-uc-1-p-3-physical.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/ad-uc-1-p-3.png b/gateway/1.5/modules/ROOT/assets/images/ad-uc-1-p-3.png deleted file mode 100644 index 6f5d97432..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/ad-uc-1-p-3.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/ad-uc-1-p-4-physical.png b/gateway/1.5/modules/ROOT/assets/images/ad-uc-1-p-4-physical.png deleted file mode 100644 index 8851f636d..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/ad-uc-1-p-4-physical.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/ad-uc-1-p-4.png b/gateway/1.5/modules/ROOT/assets/images/ad-uc-1-p-4.png deleted file mode 100644 index a9927c4e1..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/ad-uc-1-p-4.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/ad-uc-2-p-5-physical.png b/gateway/1.5/modules/ROOT/assets/images/ad-uc-2-p-5-physical.png deleted file mode 100644 index 861ca295e..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/ad-uc-2-p-5-physical.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/ad-uc-2-p-6-physical.png b/gateway/1.5/modules/ROOT/assets/images/ad-uc-2-p-6-physical.png deleted file mode 100644 index b772ac1a9..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/ad-uc-2-p-6-physical.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/ad-uc-3-p-7-physical.png b/gateway/1.5/modules/ROOT/assets/images/ad-uc-3-p-7-physical.png deleted file mode 100644 index 8fa76c0c8..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/ad-uc-3-p-7-physical.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/ad-uc-3-p-8-physical.png b/gateway/1.5/modules/ROOT/assets/images/ad-uc-3-p-8-physical.png deleted file mode 100644 index 29d73d48d..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/ad-uc-3-p-8-physical.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/ad-uc-4-p-9-physical.png b/gateway/1.5/modules/ROOT/assets/images/ad-uc-4-p-9-physical.png deleted file mode 100644 index 558c09cb7..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/ad-uc-4-p-9-physical.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/api-gateway-capabilities-mule4-2ed4e.png b/gateway/1.5/modules/ROOT/assets/images/api-gateway-capabilities-mule4-2ed4e.png deleted file mode 100644 index 267262b2c..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/api-gateway-capabilities-mule4-2ed4e.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/api-gateway-capabilities-mule4-40081.png b/gateway/1.5/modules/ROOT/assets/images/api-gateway-capabilities-mule4-40081.png deleted file mode 100644 index a0e4ac68d..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/api-gateway-capabilities-mule4-40081.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/api-gateway-capabilities-mule4-62bf9.png b/gateway/1.5/modules/ROOT/assets/images/api-gateway-capabilities-mule4-62bf9.png deleted file mode 100644 index d4699e0b1..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/api-gateway-capabilities-mule4-62bf9.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/api-gateway-enabling-0cbca.png b/gateway/1.5/modules/ROOT/assets/images/api-gateway-enabling-0cbca.png deleted file mode 100644 index 0bf2bf364..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/api-gateway-enabling-0cbca.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/api-groups-add-sla-tier.png b/gateway/1.5/modules/ROOT/assets/images/api-groups-add-sla-tier.png deleted file mode 100644 index 8c1879ab6..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/api-groups-add-sla-tier.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/api-id.png b/gateway/1.5/modules/ROOT/assets/images/api-id.png deleted file mode 100644 index fa768c198..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/api-id.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/api-name-version-autodiscovery.png b/gateway/1.5/modules/ROOT/assets/images/api-name-version-autodiscovery.png deleted file mode 100644 index c786525d6..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/api-name-version-autodiscovery.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/apigateway.png b/gateway/1.5/modules/ROOT/assets/images/apigateway.png deleted file mode 100644 index 9f7addaa9..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/apigateway.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/apim-message-logging-policy-states-1.png b/gateway/1.5/modules/ROOT/assets/images/apim-message-logging-policy-states-1.png deleted file mode 100644 index fe36fec2c..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/apim-message-logging-policy-states-1.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/apim-message-logging-policy-states-2.png b/gateway/1.5/modules/ROOT/assets/images/apim-message-logging-policy-states-2.png deleted file mode 100644 index 5b14939a4..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/apim-message-logging-policy-states-2.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/apim-message-logging-policy-states-3.png b/gateway/1.5/modules/ROOT/assets/images/apim-message-logging-policy-states-3.png deleted file mode 100644 index 649a65493..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/apim-message-logging-policy-states-3.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/apim-message-logging-policy-ui.png b/gateway/1.5/modules/ROOT/assets/images/apim-message-logging-policy-ui.png deleted file mode 100644 index 11edca6e2..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/apim-message-logging-policy-ui.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/apply-header-injection-policy.png b/gateway/1.5/modules/ROOT/assets/images/apply-header-injection-policy.png deleted file mode 100644 index 41fe2a768..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/apply-header-injection-policy.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/apply-header-removal-policy.png b/gateway/1.5/modules/ROOT/assets/images/apply-header-removal-policy.png deleted file mode 100644 index 745c4de06..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/apply-header-removal-policy.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/approve-applications.png b/gateway/1.5/modules/ROOT/assets/images/approve-applications.png deleted file mode 100644 index 9426e4bb8..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/approve-applications.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/auto-discovery-api-config.png b/gateway/1.5/modules/ROOT/assets/images/auto-discovery-api-config.png deleted file mode 100644 index 56b8c6318..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/auto-discovery-api-config.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/auto-discovery-studio-7.png b/gateway/1.5/modules/ROOT/assets/images/auto-discovery-studio-7.png deleted file mode 100644 index 4bf50b655..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/auto-discovery-studio-7.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/autodis-cerate-global2.png b/gateway/1.5/modules/ROOT/assets/images/autodis-cerate-global2.png deleted file mode 100644 index c2eb2e09f..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/autodis-cerate-global2.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/autodis-choose-global2.png b/gateway/1.5/modules/ROOT/assets/images/autodis-choose-global2.png deleted file mode 100644 index f87b21c35..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/autodis-choose-global2.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/basic-flow.png b/gateway/1.5/modules/ROOT/assets/images/basic-flow.png deleted file mode 100644 index 0e2f0b65b..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/basic-flow.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/before-after-exception.png b/gateway/1.5/modules/ROOT/assets/images/before-after-exception.png deleted file mode 100644 index 33a7c0d82..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/before-after-exception.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/clientiddefault.png b/gateway/1.5/modules/ROOT/assets/images/clientiddefault.png deleted file mode 100644 index d96f41930..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/clientiddefault.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/configure-autodiscovert-4-studio.png b/gateway/1.5/modules/ROOT/assets/images/configure-autodiscovert-4-studio.png deleted file mode 100644 index 1a0162616..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/configure-autodiscovert-4-studio.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/configure-regex-resources-list.png b/gateway/1.5/modules/ROOT/assets/images/configure-regex-resources-list.png deleted file mode 100644 index 669642141..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/configure-regex-resources-list.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/configure-uri-regex-example.png b/gateway/1.5/modules/ROOT/assets/images/configure-uri-regex-example.png deleted file mode 100644 index 0be02e521..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/configure-uri-regex-example.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/cors-policy-sop-example.png b/gateway/1.5/modules/ROOT/assets/images/cors-policy-sop-example.png deleted file mode 100644 index c9aed63d7..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/cors-policy-sop-example.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/cors-policy-xhr-diagram.png b/gateway/1.5/modules/ROOT/assets/images/cors-policy-xhr-diagram.png deleted file mode 100644 index 9adc897c3..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/cors-policy-xhr-diagram.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/custom-response-configuration.png b/gateway/1.5/modules/ROOT/assets/images/custom-response-configuration.png deleted file mode 100644 index b7c6fe35d..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/custom-response-configuration.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/custom-response-policy-platform.png b/gateway/1.5/modules/ROOT/assets/images/custom-response-policy-platform.png deleted file mode 100644 index 5d7458485..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/custom-response-policy-platform.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/custom-response-policy-ui.png b/gateway/1.5/modules/ROOT/assets/images/custom-response-policy-ui.png deleted file mode 100644 index 061010189..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/custom-response-policy-ui.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/depends-on-key-demo.png b/gateway/1.5/modules/ROOT/assets/images/depends-on-key-demo.png deleted file mode 100644 index eaf838b39..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/depends-on-key-demo.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/environment-api-manager.png b/gateway/1.5/modules/ROOT/assets/images/environment-api-manager.png deleted file mode 100644 index bfc36dbc7..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/environment-api-manager.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/external-oauth-2_0-token-validation-policy-ba3c0.png b/gateway/1.5/modules/ROOT/assets/images/external-oauth-2_0-token-validation-policy-ba3c0.png deleted file mode 100644 index c4fb4064d..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/external-oauth-2_0-token-validation-policy-ba3c0.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/flex-alerts-edit.png b/gateway/1.5/modules/ROOT/assets/images/flex-alerts-edit.png deleted file mode 100644 index 732f5833d..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/flex-alerts-edit.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/flex-inbound-outbound-requests.png b/gateway/1.5/modules/ROOT/assets/images/flex-inbound-outbound-requests.png deleted file mode 100644 index e68fda2d8..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/flex-inbound-outbound-requests.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/forward-proxy-diagram.png b/gateway/1.5/modules/ROOT/assets/images/forward-proxy-diagram.png deleted file mode 100644 index d297f81e1..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/forward-proxy-diagram.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/gateway-architecture-diagram.png b/gateway/1.5/modules/ROOT/assets/images/gateway-architecture-diagram.png deleted file mode 100644 index e72676b90..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/gateway-architecture-diagram.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/gateway-concepts-control-plane-diagram.png b/gateway/1.5/modules/ROOT/assets/images/gateway-concepts-control-plane-diagram.png deleted file mode 100644 index 8bd2500ea..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/gateway-concepts-control-plane-diagram.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/gateway-configuration-models.png b/gateway/1.5/modules/ROOT/assets/images/gateway-configuration-models.png deleted file mode 100644 index a4ecb2dd7..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/gateway-configuration-models.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-add-gateway.png b/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-add-gateway.png deleted file mode 100644 index 665a27bf7..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-add-gateway.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-add-new-api.png b/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-add-new-api.png deleted file mode 100644 index a99128e6c..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-add-new-api.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-add-policy.png b/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-add-policy.png deleted file mode 100644 index 6cd97268b..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-add-policy.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-config-basic-auth.png b/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-config-basic-auth.png deleted file mode 100644 index 5caf246fb..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-config-basic-auth.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-k8-add-gateway-rtm.png b/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-k8-add-gateway-rtm.png deleted file mode 100644 index a5c9679d1..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-k8-add-gateway-rtm.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-k8-add-new-api.png b/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-k8-add-new-api.png deleted file mode 100644 index c8d3b764a..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-k8-add-new-api.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-k8-api-config-api.png b/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-k8-api-config-api.png deleted file mode 100644 index f17a8d498..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-k8-api-config-api.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-k8-api-config-endpoint.png b/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-k8-api-config-endpoint.png deleted file mode 100644 index 460410595..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-k8-api-config-endpoint.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-k8-basic-auth.png b/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-k8-basic-auth.png deleted file mode 100644 index adbd8cf94..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-k8-basic-auth.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-k8-config-basic-auth-edit-dialogue.png b/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-k8-config-basic-auth-edit-dialogue.png deleted file mode 100644 index a5215a411..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-k8-config-basic-auth-edit-dialogue.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-k8-config-basic-auth-edit.png b/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-k8-config-basic-auth-edit.png deleted file mode 100644 index 1b0c06a17..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-k8-config-basic-auth-edit.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-k8-gateway-menu-options.png b/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-k8-gateway-menu-options.png deleted file mode 100644 index 192ac478f..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-k8-gateway-menu-options.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-k8-my-gateway-rtm.png b/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-k8-my-gateway-rtm.png deleted file mode 100644 index 35f356df5..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-k8-my-gateway-rtm.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-k8-return-to-gateway-list.png b/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-k8-return-to-gateway-list.png deleted file mode 100644 index 339f3ad2c..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-k8-return-to-gateway-list.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-k8-select-gateway-for-api.png b/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-k8-select-gateway-for-api.png deleted file mode 100644 index 78e5bf271..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-k8-select-gateway-for-api.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-k8-view-apis.png b/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-k8-view-apis.png deleted file mode 100644 index 881f52f2a..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-k8-view-apis.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-select-endpoint.png b/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-select-endpoint.png deleted file mode 100644 index 75e619f24..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-select-endpoint.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-select-gateway-for-api.png b/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-select-gateway-for-api.png deleted file mode 100644 index ab48ba22a..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/gateway-quickstart-select-gateway-for-api.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/gateway-usage-report.png b/gateway/1.5/modules/ROOT/assets/images/gateway-usage-report.png deleted file mode 100644 index 03da59583..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/gateway-usage-report.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/header-inject-remove-diagram.png b/gateway/1.5/modules/ROOT/assets/images/header-inject-remove-diagram.png deleted file mode 100644 index baa5c72ef..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/header-inject-remove-diagram.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/http-policy-cache-hit.png b/gateway/1.5/modules/ROOT/assets/images/http-policy-cache-hit.png deleted file mode 100644 index 5939ed79c..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/http-policy-cache-hit.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/http-policy-cache-miss.png b/gateway/1.5/modules/ROOT/assets/images/http-policy-cache-miss.png deleted file mode 100644 index a3ff6c0d0..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/http-policy-cache-miss.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/in-header-out-header-add-icon.png b/gateway/1.5/modules/ROOT/assets/images/in-header-out-header-add-icon.png deleted file mode 100644 index 33eed217a..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/in-header-out-header-add-icon.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/install-amazon-linux-logo.png b/gateway/1.5/modules/ROOT/assets/images/install-amazon-linux-logo.png deleted file mode 100644 index 4d085ea79..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/install-amazon-linux-logo.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/install-centos-logo.png b/gateway/1.5/modules/ROOT/assets/images/install-centos-logo.png deleted file mode 100644 index ed0169081..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/install-centos-logo.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/install-container-logo.png b/gateway/1.5/modules/ROOT/assets/images/install-container-logo.png deleted file mode 100644 index c1b658776..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/install-container-logo.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/install-debian-logo.png b/gateway/1.5/modules/ROOT/assets/images/install-debian-logo.png deleted file mode 100644 index 741afab4d..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/install-debian-logo.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/install-docker-logo.png b/gateway/1.5/modules/ROOT/assets/images/install-docker-logo.png deleted file mode 100644 index 8efabc30c..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/install-docker-logo.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/install-kubernetes-logo.png b/gateway/1.5/modules/ROOT/assets/images/install-kubernetes-logo.png deleted file mode 100644 index 13cb03cbb..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/install-kubernetes-logo.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/install-linux-logo.png b/gateway/1.5/modules/ROOT/assets/images/install-linux-logo.png deleted file mode 100644 index bda094c33..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/install-linux-logo.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/install-openshift-logo.png b/gateway/1.5/modules/ROOT/assets/images/install-openshift-logo.png deleted file mode 100644 index f5d844bb2..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/install-openshift-logo.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/install-podman-logo.png b/gateway/1.5/modules/ROOT/assets/images/install-podman-logo.png deleted file mode 100644 index 1a07bf273..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/install-podman-logo.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/install-rhel-logo.png b/gateway/1.5/modules/ROOT/assets/images/install-rhel-logo.png deleted file mode 100644 index eed06e9c3..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/install-rhel-logo.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/install-ubuntu-logo.png b/gateway/1.5/modules/ROOT/assets/images/install-ubuntu-logo.png deleted file mode 100644 index cb675289d..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/install-ubuntu-logo.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/ip-filter-ip-expression.png b/gateway/1.5/modules/ROOT/assets/images/ip-filter-ip-expression.png deleted file mode 100644 index 4a52c3b3d..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/ip-filter-ip-expression.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/json-threat-policy.png b/gateway/1.5/modules/ROOT/assets/images/json-threat-policy.png deleted file mode 100644 index e60cf4ebf..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/json-threat-policy.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/ldap-verification-invalid.png b/gateway/1.5/modules/ROOT/assets/images/ldap-verification-invalid.png deleted file mode 100644 index e0366c924..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/ldap-verification-invalid.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/ldap-verification.png b/gateway/1.5/modules/ROOT/assets/images/ldap-verification.png deleted file mode 100644 index ef6a8e429..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/ldap-verification.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/limits.png b/gateway/1.5/modules/ROOT/assets/images/limits.png deleted file mode 100644 index cf7ef3cc3..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/limits.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/methods-resources.png b/gateway/1.5/modules/ROOT/assets/images/methods-resources.png deleted file mode 100644 index f2a94e1ba..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/methods-resources.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/more-options-menu.png b/gateway/1.5/modules/ROOT/assets/images/more-options-menu.png deleted file mode 100644 index 7d1ce1f75..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/more-options-menu.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/multiple-upstreams.png b/gateway/1.5/modules/ROOT/assets/images/multiple-upstreams.png deleted file mode 100644 index 4915d7b86..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/multiple-upstreams.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/no-proxy-diagram.png b/gateway/1.5/modules/ROOT/assets/images/no-proxy-diagram.png deleted file mode 100644 index 1b5d2b0d0..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/no-proxy-diagram.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/omega.png b/gateway/1.5/modules/ROOT/assets/images/omega.png deleted file mode 100644 index b2cf7414e..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/omega.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/open-id-policy-workflow.png b/gateway/1.5/modules/ROOT/assets/images/open-id-policy-workflow.png deleted file mode 100644 index c3d657379..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/open-id-policy-workflow.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/openam-oauth-token-enforcement-policy-0fbb9.png b/gateway/1.5/modules/ROOT/assets/images/openam-oauth-token-enforcement-policy-0fbb9.png deleted file mode 100644 index ba397d1a0..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/openam-oauth-token-enforcement-policy-0fbb9.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/org-credentials-config-mule3-9d90b.png b/gateway/1.5/modules/ROOT/assets/images/org-credentials-config-mule3-9d90b.png deleted file mode 100644 index 191b93f24..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/org-credentials-config-mule3-9d90b.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/org-credentials-config-mule3-af73e.png b/gateway/1.5/modules/ROOT/assets/images/org-credentials-config-mule3-af73e.png deleted file mode 100644 index e26b1413f..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/org-credentials-config-mule3-af73e.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/orgid-api-manager.png b/gateway/1.5/modules/ROOT/assets/images/orgid-api-manager.png deleted file mode 100644 index 845bd0575..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/orgid-api-manager.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/policy-filters.png b/gateway/1.5/modules/ROOT/assets/images/policy-filters.png deleted file mode 100644 index d89e39041..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/policy-filters.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/policy-mule4-tokenization-67b25.png b/gateway/1.5/modules/ROOT/assets/images/policy-mule4-tokenization-67b25.png deleted file mode 100644 index 81894e214..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/policy-mule4-tokenization-67b25.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/policy-mule4-tokenization-9347d.png b/gateway/1.5/modules/ROOT/assets/images/policy-mule4-tokenization-9347d.png deleted file mode 100644 index 0daf6381b..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/policy-mule4-tokenization-9347d.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/quota-policy-formula.png b/gateway/1.5/modules/ROOT/assets/images/quota-policy-formula.png deleted file mode 100644 index e3583d3b1..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/quota-policy-formula.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/raml-snippet.png b/gateway/1.5/modules/ROOT/assets/images/raml-snippet.png deleted file mode 100644 index fb9c0488d..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/raml-snippet.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/rate-limit-identifier.png b/gateway/1.5/modules/ROOT/assets/images/rate-limit-identifier.png deleted file mode 100644 index c50685e5b..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/rate-limit-identifier.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/rate-limiting-clusterizable.png b/gateway/1.5/modules/ROOT/assets/images/rate-limiting-clusterizable.png deleted file mode 100644 index af0139376..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/rate-limiting-clusterizable.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/rate-limiting-configure-clusters.png b/gateway/1.5/modules/ROOT/assets/images/rate-limiting-configure-clusters.png deleted file mode 100644 index da835d587..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/rate-limiting-configure-clusters.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/rate-limiting-configure-identifiers-dataweave.png b/gateway/1.5/modules/ROOT/assets/images/rate-limiting-configure-identifiers-dataweave.png deleted file mode 100644 index 204cd2fa9..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/rate-limiting-configure-identifiers-dataweave.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/rate-limiting-configure-identifiers-example.png b/gateway/1.5/modules/ROOT/assets/images/rate-limiting-configure-identifiers-example.png deleted file mode 100644 index 9d5d919b0..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/rate-limiting-configure-identifiers-example.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/rate-limiting-generic-example.png b/gateway/1.5/modules/ROOT/assets/images/rate-limiting-generic-example.png deleted file mode 100644 index 914ebb49a..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/rate-limiting-generic-example.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/rate-limiting-sla-general.png b/gateway/1.5/modules/ROOT/assets/images/rate-limiting-sla-general.png deleted file mode 100644 index de4abf52a..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/rate-limiting-sla-general.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/redis-same-cluster.graffle b/gateway/1.5/modules/ROOT/assets/images/redis-same-cluster.graffle deleted file mode 100644 index c1e270190..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/redis-same-cluster.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/redis-same-cluster.png b/gateway/1.5/modules/ROOT/assets/images/redis-same-cluster.png deleted file mode 100644 index 372592762..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/redis-same-cluster.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/redis-same-vpc.graffle b/gateway/1.5/modules/ROOT/assets/images/redis-same-vpc.graffle deleted file mode 100644 index d579c4e76..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/redis-same-vpc.graffle and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/redis-same-vpc.png b/gateway/1.5/modules/ROOT/assets/images/redis-same-vpc.png deleted file mode 100644 index d23611bf1..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/redis-same-vpc.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/remove-inbound-header.png b/gateway/1.5/modules/ROOT/assets/images/remove-inbound-header.png deleted file mode 100644 index de64ede3f..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/remove-inbound-header.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/rlp-conditions.png b/gateway/1.5/modules/ROOT/assets/images/rlp-conditions.png deleted file mode 100644 index 166bf2ed1..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/rlp-conditions.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/scopes-mule4.png b/gateway/1.5/modules/ROOT/assets/images/scopes-mule4.png deleted file mode 100644 index f38604bbd..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/scopes-mule4.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/search-scope.png b/gateway/1.5/modules/ROOT/assets/images/search-scope.png deleted file mode 100644 index 095a939a6..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/search-scope.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/search-scope2.png b/gateway/1.5/modules/ROOT/assets/images/search-scope2.png deleted file mode 100644 index e392b885f..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/search-scope2.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/select-policy.png b/gateway/1.5/modules/ROOT/assets/images/select-policy.png deleted file mode 100644 index 2ba4f94e5..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/select-policy.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/shared-storage.png b/gateway/1.5/modules/ROOT/assets/images/shared-storage.png deleted file mode 100644 index 15dc5e34a..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/shared-storage.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/spike-control.png b/gateway/1.5/modules/ROOT/assets/images/spike-control.png deleted file mode 100644 index beef9f5d3..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/spike-control.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/three-dots-menu.png b/gateway/1.5/modules/ROOT/assets/images/three-dots-menu.png deleted file mode 100644 index 1ba86954f..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/three-dots-menu.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/throttling-accepted-request.png b/gateway/1.5/modules/ROOT/assets/images/throttling-accepted-request.png deleted file mode 100644 index 93a8f3a92..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/throttling-accepted-request.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/throttling-rejected-request.png b/gateway/1.5/modules/ROOT/assets/images/throttling-rejected-request.png deleted file mode 100644 index 8e1f46ae5..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/throttling-rejected-request.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/upgrade-custom-policy-mule3-08395.png b/gateway/1.5/modules/ROOT/assets/images/upgrade-custom-policy-mule3-08395.png deleted file mode 100644 index 2cf2df4e6..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/upgrade-custom-policy-mule3-08395.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/users-api-cropped.png b/gateway/1.5/modules/ROOT/assets/images/users-api-cropped.png deleted file mode 100644 index 1446cd7a0..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/users-api-cropped.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/view-add-alert.png b/gateway/1.5/modules/ROOT/assets/images/view-add-alert.png deleted file mode 100644 index 5a653ed93..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/view-add-alert.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/assets/images/xml-threat-policy.png b/gateway/1.5/modules/ROOT/assets/images/xml-threat-policy.png deleted file mode 100644 index 22ebc0b3c..000000000 Binary files a/gateway/1.5/modules/ROOT/assets/images/xml-threat-policy.png and /dev/null differ diff --git a/gateway/1.5/modules/ROOT/nav.adoc b/gateway/1.5/modules/ROOT/nav.adoc deleted file mode 100644 index 32de8ce72..000000000 --- a/gateway/1.5/modules/ROOT/nav.adoc +++ /dev/null @@ -1,118 +0,0 @@ -* xref:index.adoc[] -* xref:flex-gateway-release-notes.adoc[Release Notes] -* xref:flex-architecture-overview.adoc[] -** xref:flex-architecture-basic-deployments.adoc[] -** xref:flex-architecture-uc-overview.adoc[] -*** xref:flex-architecture-uc1.adoc[] -*** xref:flex-architecture-uc2.adoc[] -*** xref:flex-architecture-uc3.adoc[] -*** xref:flex-architecture-uc4.adoc[] -** xref:flex-architecture-shared-storage.adoc[] -* xref:flex-review-prerequisites.adoc[Reviewing Prerequisites] -* xref:flex-sizing-guide.adoc[] -* xref:flex-gateway-getting-started.adoc[] -* xref:flex-gateway-k8-getting-started.adoc[] -* xref:flex-gateway-set-up.adoc[] -** xref:flex-install.adoc[Download Flex Gateway] -** xref:flex-conn-reg-run.adoc[Register and Run in Connected Mode] -*** xref:flex-conn-reg-run-up.adoc[With a Username and Password] -*** xref:flex-conn-reg-run-app.adoc[With a Connected App] -*** xref:flex-conn-reg-run-token.adoc[With a Token] -** xref:flex-local-reg-run.adoc[Register and Run in Local Mode] -*** xref:flex-local-reg-run-up.adoc[With a Username and Password] -*** xref:flex-local-reg-run-app.adoc[With a Connected App] -*** xref:flex-local-reg-run-token.adoc[With a Token] -* xref:flex-gateway-configure.adoc[] -** xref:flex-conn-configure.adoc[] -*** xref:flex-conn-rep-run.adoc[Configure Replicas] -*** xref:flex-conn-tls-config.adoc[Configure TLS Context] -*** xref:flex-conn-shared-storage-config.adoc[Configure Shared Storage] -*** xref:flex-conn-forward-proxy.adoc[Configure a Forward Proxy] -*** xref:flex-conn-manage-public-api.adoc[Configure with the API Manager API Tool] -*** xref:flex-conn-liveness-check.adoc[Configure a Liveness Check] -*** xref:flex-conn-proxy-protocol.adoc[Configure PROXY Protocol] -*** xref:flex-conn-jenkins-api.adoc[Automate Flex Gateway with a Jenkins Pipeline using the API Manager API] -*** xref:flex-conn-jenkins-cli.adoc[Automate Flex Gateway with a Jenkins Pipeline using Anypoint CLI] -** xref:flex-local-configure.adoc[] -*** xref:flex-local-rep-run.adoc[Configure Replicas] -*** xref:flex-local-tls-config.adoc[Configure TLS Context] -*** xref:flex-local-shared-storage-config.adoc[Configure Shared Storage] -*** xref:flex-local-forward-proxy.adoc[Configure a Forward Proxy] -*** xref:flex-local-liveness-check.adoc[Configure a Liveness Check] -*** xref:flex-local-proxy-protocol.adoc[Configure PROXY Protocol] -*** xref:flex-local-configuration-reference-guide.adoc[Declarative Configuration Reference] -* xref:flex-gateway-publish-apis.adoc[] -** xref:flex-gateway-publish-apis-conn.adoc[] -** xref:flex-gateway-publish-apis-local.adoc[] -*** xref:flex-local-publish-simple-api.adoc[Publish a Simple API] -*** xref:flex-local-publish-api-multiple-services.adoc[Publish an API with Multiple Upstream Services] -* xref:flex-gateway-secure-apis.adoc[] -** xref:policies-included-directory.adoc[] -*** xref:policies-included-basic-auth-ldap.adoc[Basic Authentication: LDAP] -*** xref:policies-included-basic-auth-simple.adoc[Basic Authentication: Simple] -*** xref:policies-included-client-id-enforcement.adoc[Client ID Enforcement] -*** xref:policies-included-cors.adoc[Cross-Origin Resource Sharing (CORS)] -*** xref:policies-included-header-injection.adoc[Header Injection] -*** xref:policies-included-header-removal.adoc[Header Removal] -*** xref:policies-included-health-check.adoc[Health Check] -*** xref:policies-included-http-caching.adoc[HTTP Caching] -*** xref:policies-included-ip-allowlist.adoc[IP Allowlist] -*** xref:policies-included-ip-blocklist.adoc[IP Blocklist] -*** xref:policies-included-json-threat-protection.adoc[JSON Threat Protection] -*** xref:policies-included-jwt-validation.adoc[JWT Validation] -*** xref:policies-included-message-logging.adoc[Message Logging] -*** xref:policies-included-oauth-token-introspection.adoc[OAuth 2.0 Token Introspection] -*** xref:policies-included-openid-token-enforcement.adoc[OpenID Connect OAuth 2.0 Token Enforcement] -*** xref:policies-included-rate-limiting.adoc[Rate Limiting] -*** xref:policies-included-rate-limiting-sla.adoc[Rate Limiting: SLA-Based] -*** xref:policies-included-schema-validation.adoc[Schema Validation] -*** xref:policies-included-spike-control.adoc[Spike Control] -*** xref:policies-included-traffic-management.adoc[Traffic Management for Multiple Upstream Services] -*** xref:policies-included-tls.adoc[Transport Layer Security (TLS) - Inbound] -*** xref:policies-included-tls-outbound.adoc[Transport Layer Security (TLS) - Outbound] -** xref:policies-custom-overview.adoc[] -*** xref:policies-custom-flex-implement-rust.adoc[] -*** xref:policies-custom-flex-getting-started.adoc[] -** xref:policies-automated-overview.adoc[] -*** xref:policies-automated-applying.adoc[Apply an Automated Policy] -** xref:policies-resource-level-overview.adoc[] -** xref:flex-gateway-secure-conn.adoc[] -*** xref:policies-included-apply.adoc[Apply a Policy in Connected Mode] -** xref:flex-gateway-secure-local.adoc[] -*** xref:flex-local-secure-api-with-basic-auth-policy.adoc[With Basic Authentication and Rate Limiting] -*** xref:flex-local-secure-api-with-auto-policy.adoc[With an Automated Resource-Level Policy] -*** xref:flex-local-deploy-custom-policy.adoc[With a Custom Policy] -** xref:policies-reorder.adoc[Policy Reordering] -** xref:policies-flex-dataweave-support.adoc[DataWeave Support] -* xref:flex-gateway-monitor.adoc[Monitoring Flex Gateway] -** xref:flex-conn-monitor.adoc[Monitoring in Connected Mode] -*** xref:flex-conn-message-log.adoc[Configure Message Logging] -*** xref:flex-use-api-alerts.adoc[Configure API Alerts] -*** xref:flex-conn-third-party-logs-config.adoc[Configure Logs for Third-Party Services] -*** xref:flex-view-api-metrics.adoc[View Key Metrics for Flex Gateway APIs] -*** xref:flex-view-replica-status.adoc[View the Replica Status in Runtime Manager] -*** xref:flex-view-api-status.adoc[View the API Status in Runtime Manager] -*** xref:flex-view-logs-in-monitoring.adoc[View Logs in Anypoint Monitoring] -** xref:flex-local-monitor.adoc[Monitoring in Local Mode] -*** xref:flex-local-third-party-logs-config.adoc[Configure External Logs for Flex Gateway in Local Mode] -*** xref:flex-local-view-logs.adoc[View Standard Output Logs] -* xref:flex-gateway-manage.adoc[] -** xref:flex-gateway-upgrade.adoc[Upgrade Flex Gateway] -** xref:flex-gateway-delete.adoc[Delete an Instance of Flex Gateway] -** xref:flex-gateway-uninstall.adoc[Uninstall Flex Gateway] -** xref:flex-gateway-k8-management.adoc[] -*** xref:flex-gateway-k8-change-helm-settings.adoc[Update a Helm Chart] -*** xref:flex-gateway-k8-high-availability.adoc[Autoscale and Add Replicas to a Namespace] -*** xref:flex-gateway-k8-node-affinity-config.adoc[Configure Node Affinity] -*** xref:flex-gateway-k8-external-dns.adoc[Provide a Domain Name] -*** xref:flex-gateway-k8-ingress-class.adoc[Configure an IngressClass Resource] -** xref:flex-gateway-renew-certificate.adoc[Renew Flex Gateway Registration] -* xref:flex-troubleshoot.adoc[Troubleshooting] -** xref:flex-troubleshoot-debug-logs.adoc[Troubleshoot with Debug Logs] -** xref:flex-troubleshoot-reg.adoc[Troubleshoot Registration Issues] -** xref:flex-troubleshoot-logging.adoc[Troubleshoot Logging Issues] -** xref:flex-troubleshoot-linux-services.adoc[Troubleshoot Linux Services] -** xref:flex-troubleshoot-admin-api.adoc[Troubleshoot with the CLI] -** xref:flex-troubleshoot-requests.adoc[Troubleshoot Request Connection] -** xref:flex-troubleshoot-docker.adoc[] -** xref:flex-troubleshoot-helm.adoc[] diff --git a/gateway/1.5/modules/ROOT/pages/_attributes.adoc b/gateway/1.5/modules/ROOT/pages/_attributes.adoc deleted file mode 100644 index 3b366f9e8..000000000 --- a/gateway/1.5/modules/ROOT/pages/_attributes.adoc +++ /dev/null @@ -1,2 +0,0 @@ -:moduledir: .. -include::{moduledir}/_attributes.adoc[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/_partials/configuration-task-list.adoc b/gateway/1.5/modules/ROOT/pages/_partials/configuration-task-list.adoc deleted file mode 100644 index c69c12e51..000000000 --- a/gateway/1.5/modules/ROOT/pages/_partials/configuration-task-list.adoc +++ /dev/null @@ -1,60 +0,0 @@ -//tag::configuration-task-list-replicas[] -* xref:flex-{page-mode}-rep-run.adoc[Configure Replicas] - Anypoint Flex Gateway enables you to create replicas, which are instances of Flex Gateway. By default, Flex Gateway runs as a single replica. Running multiple replicas enables scaling, load balancing, and high availability. -//end::configuration-task-list-replicas[] - -//tag::configuration-task-list-tls[] -* xref:flex-{page-mode}-tls-config.adoc[Configure TLS Context] - Flex Gateway enables you to configure a TLS context to support regular TLS and mTLS in both inbound and outbound directions. -//end::configuration-task-list-tls[] - -//tag::configuration-task-list-shared-storage[] -* xref:flex-{page-mode}-shared-storage-config.adoc[Configure Shared Storage] - Flex Gateway enables you to configure shared storage for distributed caching and rate limiting policies. -//end::configuration-task-list-shared-storage[] - -//tag::configuration-task-list-forward-proxy[] -* xref:flex-{page-mode}-forward-proxy.adoc[Configure a Forward Proxy] - Flex Gateway enables you to configure a forward proxy to route external HTTP connections through a proxy connection. -//end::configuration-task-list-forward-proxy[] - -//tag::configuration-task-list-apim-api[] -* xref:flex-{page-mode}-manage-public-api.adoc[Configure with the API Manager API Tool] - Flex Gateway enables you to configure and manage Flex Gateway via the API Manager API tool, a command-line tool used to communicate with API Manager. -//end::configuration-task-list-apim-api[] - -//tag::configuration-task-list-jenkins[] -* xref:flex-{page-mode}-jenkins-api.adoc[Automate Flex Gateway with a Jenkins Pipeline using the API Manager API] - Flex Gateway enables you to build a Jenkins Pipeline by using the API Manager API to automate workflows. -//end::configuration-task-list-jenkins[] - -//tag::configuration-task-list-jenkins-cli[] -* xref:flex-{page-mode}-jenkins-cli.adoc[Automate Flex Gateway with a Jenkins Pipeline using Anypoint CLI] - Flex Gateway enables you to build a Jenkins Pipeline by using Anypoint CLI to automate workflows. -//end::configuration-task-list-jenkins-cli[] - -//tag::configuration-task-list-liveness-check[] -* xref:flex-{page-mode}-liveness-check.adoc[Configure a Liveness Check] - Flex Gateway enables you to run a liveness check command to test gateway health. Additionally, Flex Gateways deployed on Kubernetes include a liveness probe to automatically restart pods after a specified number of failed checks. -//end::configuration-task-list-liveness-check[] - -//tag::configuration-task-list-proxy-protocol[] -* xref:flex-{page-mode}-proxy-protocol.adoc[Configure PROXY Protocol] - Flex Gateway supports PROXY protocol to perserve client IP address when servicing multi-layer connections. -//end::configuration-task-list-proxy-protocol[] - -// Managing K8 deployments -//k8-specific management configs: -//-managing node affinity -//tag::management-k8s-nodes[] -xref:flex-gateway-k8-node-affinity-config.adoc[] - Host Flex Gateway on a specialized node that meets specific requirements. -//end::management-k8s-nodes[] - -//- managing pod reqs for flex on k8 -//tag::management-k8s-helm-settings[] -xref:flex-gateway-k8-change-helm-settings.adoc[] - Change requirements for a Pod that contains Flex Gateway. -//end::management-k8s-helm-settings[] - -//- managing externalDNS config for k8 -//tag::management-k8s-externaldns[] -xref:flex-gateway-k8-external-dns.adoc[] - Use ExternalDNS to expose an application or service on your Kubernetes cluster through a domain name. -//end::management-k8s-externaldns[] - -//tag::management-k8s-ingress-class[] -xref:flex-gateway-k8-ingress-class.adoc[] - Configure Flex Gateway as an `IngressClass` to manage `Ingress` resources. -//end::management-k8s-ingress-class[] - -//tag::management-k8s-add-replicas[] -xref:flex-gateway-k8-high-availability.adoc[] - Set a fixed replica count or autoscale to provide additional replicas. -//end::management-k8s-add-replicas[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/_partials/flex-tls-cipher.adoc b/gateway/1.5/modules/ROOT/pages/_partials/flex-tls-cipher.adoc deleted file mode 100644 index 1a0e6ae93..000000000 --- a/gateway/1.5/modules/ROOT/pages/_partials/flex-tls-cipher.adoc +++ /dev/null @@ -1,127 +0,0 @@ -//tag::connectedSelect[] -[[select-ciphers]] -== Select Ciphers - -When you configure a TLS context, Secrets Manager applies default ciphers based on the TLS versions you select. In addition to the defaults, you can select other ciphers to use with the selected TLS version. Each TLS context can have multiple ciphers. - -To select ciphers: - -. Click *Ciphers* to see available ciphers. -. Select ciphers. -+ -Cipher selection is not available if only supporting TLS version 1.3. -. Click *Save* - -//end::connectedSelect[] - -//tag::cipherSupport[] - -== TLS Cipher Support on Flex Gateway - -Flex can support a range of TLS Versions from TLS 1.1 to TLS 1.3, and you can also customize some of the ciphers to support. - -You cannot customize the list of TLS 1.3 Ciphers. If you support TLS 1.3, you must support the TLS 1.3 default ciphers. - -If you support TLS 1.2, the TLS 1.2 default Ciphers are selected. However, unlike TLS 1.3, you can customize different TLS 1.2 ciphers. - -There are no default ciphers for TLS 1.1. If you choose to support TLS 1.1, you must select the ciphers you want to support. - -IMPORTANT: For outbound TLS Context, ensure that your API upstream supports the selected ciphers and versions. - -//end::cipherSupport[] - -//tag::cipherSupportLocal[] -[[local-support]] -== TLS Cipher Support on Flex Gateway - -Flex can support a range of TLS Versions from TLS 1.1 to TLS 1.3, and you can also customize some of the ciphers to support. - -You cannot customize the list of TLS 1.3 Ciphers. If you support TLS 1.3, the TLS 1.3 default ciphers are all supported regardless of the ciphers listed in the configuration file. If you don't support TLS 1.3, these ciphers are not included. - -For TLS 1.2, listing any ciphers overides the TLS 1.2 default ciphers. If you want to list ciphers besides the default TLS 1.2 Ciphers, you must list every cipher to support including the default ciphers you want to support. Excluding default ciphers from your list of supported ciphers means you do not support those ciphers. If you wish to only support the default ciphers, you can leave the cipher list blank. Listing ciphers does not affect the default TLS 1.3 cipher. - -There are no default ciphers for TLS 1.1. To support TLS 1.1, you must list the ciphers to support. If you support TLS 1.1 and TLS 1.2, listing TLS 1.1 ciphers overides the TLS 1.2 defaults. To support both these versions, list all ciphers you want to support. - -//end::cipherSupportLocal[] - -//tag::outboundImportantLocal[] - -IMPORTANT: For outbound TLS Context, ensure that your upstream service supports the selected ciphers and versions. - -//end::outboundImportantLocal[] - -//tag::ciphers[] - -=== Flex Gateway Supported Ciphers - -Flex Gateway supports the following TLS Ciphers in Connected Mode and Local Mode: - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== -| Cipher | TLS Version | Default | Advice -| TLS AES 128 GCM SHA256 | 1.3 | Yes | Secure -| TLS AES 256 GCM SHA384 | 1.3 | Yes | Secure -| TLS CHACHA20 POLY1305 SHA256 |1.3 | Yes | Secure -| TLS ECDHE ECDSA WITH AES 128 GCM SHA256 | 1.2 | Yes | Recommended -| TLS ECDHE ECDSA WITH AES 256 GCM SHA384 | 1.2 | Yes | Recommended -| TLS ECDHE ECDSA WITH CHACHA20 POLY1305 SHA256 | 1.2 | Yes | Recommended -| TLS ECDHE PSK WITH CHACHA20 POLY1305 SHA256 | 1.2 | No | Recommended -| TLS ECDHE RSA WITH AES 128 GCM SHA256 | 1.2 | Yes | Secure -| TLS ECDHE RSA WITH AES 256 GCM SHA384 | 1.2 | Yes | Secure -| TLS ECDHE RSA WITH CHACHA20 POLY1305 SHA256 | 1.2 | Yes | Secure -| TLS RSA WITH AES 128 GCM SHA256 | 1.2 | No | Weak -| TLS RSA WITH AES 256 GCM SHA384 | 1.2 | No | Weak -| TLS RSA WITH NULL SHA | 1.1, 1.2 | No | Insecure -| TLS RSA WITH AES 128 CBC SHA | 1.1, 1.2 | No | Weak -| TLS RSA WITH AES 256 CBC SHA | 1.1, 1.2 | No | Weak -| TLS PSK WITH AES 128 CBC SHA | 1.1, 1.2 | No | Weak -| TLS PSK WITH AES 256 CBC SHA | 1.1, 1.2 | No | Weak -| TLS ECDHE ECDSA WITH AES 128 CBC SHA | 1.1, 1.2 | No | Weak -| TLS ECDHE ECDSA WITH AES 256 CBC SHA | 1.1, 1.2 | No | Weak -| TLS ECDHE RSA WITH AES 128 CBC SHA | 1.1, 1.2 | No | Weak -| TLS ECDHE RSA WITH AES 256 CBC SHA | 1.1, 1.2 | No | Weak -| TLS ECDHE PSK WITH AES 128 CBC SHA | 1.1, 1.2 | No | Weak -| TLS ECDHE PSK WITH AES 256 CBC SHA | 1.1, 1.2 | No | Weak -| TLS RSA WITH 3DES EDE CBC SHA | 1.1 | No | Weak -|=== - - -//end::ciphers[] - -//tag::local-ciphers[] - -=== Flex Gateway Supported Ciphers - -Flex Gateway supports the following TLS Ciphers in Connected Mode and Local Mode: - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== -| Cipher | TLS Version | Default | Advice -| TLS_AES_128_GCM_SHA256 | 1.3 | Yes | Secure -| TLS_AES_256_GCM_SHA384 | 1.3 | Yes | Secure -| TLS_CHACHA20_POLY1305_SHA256 |1.3 | Yes | Secure -| TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 | 1.2 | Yes | Recommended -| TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 | 1.2 | Yes | Recommended -| TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 | 1.2 | Yes | Recommended -| TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 | 1.2 | No | Recommended -| TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 | 1.2 | Yes | Secure -| TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 | 1.2 | Yes | Secure -| TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 | 1.2 | Yes | Secure -| TLS_RSA_WITH_AES_128_GCM_SHA256 | 1.2 | No | Weak -| TLS_RSA_WITH_AES_256_GCM_SHA384 | 1.2 | No | Weak -| TLS_RSA_WITH_NULL_SHA | 1.1, 1.2 | No | Insecure -| TLS_RSA_WITH_AES_128_CBC_SHA | 1.1, 1.2 | No | Weak -| TLS_RSA_WITH_AES_256_CBC_SHA | 1.1, 1.2 | No | Weak -| TLS_PSK_WITH_AES_128_CBC_SHA | 1.1, 1.2 | No | Weak -| TLS_PSK_WITH_AES_256_CBC_SHA | 1.1, 1.2 | No | Weak -| TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA | 1.1, 1.2 | No | Weak -| TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA | 1.1, 1.2 | No | Weak -| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA | 1.1, 1.2 | No | Weak -| TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA | 1.1, 1.2 | No | Weak -| TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA | 1.1, 1.2 | No | Weak -| TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA | 1.1, 1.2 | No | Weak -| TLS_RSA_WITH_3DES_EDE_CBC_SHA | 1.1 | No | Weak -|=== - - -//end::local-ciphers[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/_partials/forward-proxy-config.adoc b/gateway/1.5/modules/ROOT/pages/_partials/forward-proxy-config.adoc deleted file mode 100644 index 368802ede..000000000 --- a/gateway/1.5/modules/ROOT/pages/_partials/forward-proxy-config.adoc +++ /dev/null @@ -1,192 +0,0 @@ -//tag::intro[] -A forward proxy, such as Squid, enables you to route external HTTP Flex Gateway connections through a proxy connection. - -For both Connected Mode and Local Mode, you configure a forward proxy using YAML configuration files. - -The following diagram demonstrates how an internal network communicates with an external network using a forward proxy. - -image:forward-proxy-diagram.png[This is an image of all connections to your Flex Gateway first traveling through a forward proxy, align=center] - -As in the diagram, when using a forward proxy, HTTP communication out of your internal network must travel through the forward proxy. - -In this example, all HTTP API upstream communication must also pass through the forward proxy. For more information about how to enable some connections to communicate directly without the forward proxy, see <>. - -//end::intro[] - -//tag::icon-table[] -[cols="1a,1a,1a"] -|=== -|image:install-linux-logo.png[20%,20%,xref="#linux"] -|image:install-docker-logo.png[25%,25%,xref="#docker"] -|image:install-kubernetes-logo.png[20%,20%,xref="#kubernetes"] - -|<> -|<> -|<> -|=== - -//end::icon-table[] - -//tag::connections[] -== Forward Proxy Connections -Only HTTP connections route through the forward proxy. - -The following connections route through the forward proxy: - -* Connections to Anypoint Platform -* Outbound policy connections -* Connections to upstream services -* HTTP (Fluent Bit) log connections - -Using the `noProxy` parameter, you can configure HTTP and HTTPS connections to connect directly without using the forward proxy. - -Configuring a forward proxy does not alter these connections: - -* Connections to shared storage -* Lightweight Directory Access Protocol (LDAP) connections -* Non-HTTP log connections - -//end::connections[] - -//tag::noproxy[] -== noProxy Parameter - -Adding the `noProxy` parameter enables HTTP services you trust to communicate without using the forward proxy. - -For example, when you enable `noProxy`, you can list HTTP log connections and connections to upstream services to have them connect directly to Flex Gateway. - -When using the `noProxy` parameter in the YAML configuration file to communicate with HTTP logs, you must list the exact domain name. You cannot list the domain suffix, for example, `.svc.cluster.local`. You need to list full domain name, `.svc.cluster.local`, for all HTTP log connections. - -The following diagram demonstrates the differences in communication using noProxy: - -image:no-proxy-diagram.png[This is an image demonstrating the differences in internal connections when you do or do not enable noProxy, align=center] - -In the diagram, when you do not enable `noProxy`, Flex Gateway communicates with the internal API endpoint using the forward proxy. When you enable `noProxy` and list the API Upstream domain, Flex Gateway communicates directly with the internal API endpoint. - -//end::noproxy[] - -//tag::forward-proxy-parameters[] -== Configuring Forward Proxy Parameters - -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Configuration -metadata: - name: forward-proxy -spec: - forwardProxy: - https: - address: http://proxy:8888 - basicAuth: - username: - password: - noProxy: - - fluentd - - .svc.cluster.local - ----- - -|=== -|Parameter | Required or Optional | Description - -| `https.address` -| required -| Proxy adddress - -| `basicAuth` -| Optional -| Supplies the authentication username and password - -| `basicAuth.username` -| Required when `basicAuth` configured -| Authentication username - -| `basicAuth.Password` -| Required when `basicAuth` configured -| Authentication password - -| `noProxy` -| Optional -| Array containing domain names to communicate to without using the forward proxy -|=== - -//end::forward-proxy-parameters[] - -//tag::linux[] - -[[linux]] -== Configure a Forward Proxy for Flex Gateway as a Linux Service - -. Create a YAML configuration file in the Flex Gateway configuration directory: -+ -[source,ssh] ----- -sudo touch /usr/local/share/mulesoft/flex-gateway/conf.d/forward-config.yaml ----- - -. Update the file with your desired forward proxy configuration details. -. If your Flex Gateway does not have direct internet access, see <>. -//end::linux[] - -//tag::docker[] - -[[docker]] -== Configure a Forward Proxy for Flex Gateway in a Docker Container - -NOTE: If you have already added a volume for a folder with your -Flex Gateway configuration files, skip to the create and save a YAML file step. - -. Press Ctrl+C to stop your Flex Gateway and any replicas. -. Create a folder named `app` in the directory with your Flex Gateway configuration files. -. Restart your Flex Gateway with an additional volume for the new `app` directory: -//end::docker[] - -//tag::docker2[] -. Create and save a YAML file with your desired forward proxy configuration details. -. If your Flex Gateway does not have direct internet access, see <>. -//end::docker2[] - -//tag::k8s[] - -[[kubernetes]] -== Configure a Forward Proxy for Flex Gateway in a Kubernetes Cluster - -To configure a forward proxy for Flex Gateway, create a new YAML configuration resource with your forward proxy details. - -If your Flex Gateway does not have direct internet access, see <>. -//end::k8s[] - -//tag::proxy-registration[] - -[[proxy-registration]] -== Forward Proxy Flex Gateway Registration - -If your Flex Gateway is in an internal network where all internet connections pass through the forward proxy, you must add the `--https-proxy` flag when xref:flex-{page-mode}-reg-run.adoc[registering a Flex Gateway]. - -Add the `--https-proxy` flag with your proxy `address` parameter: ----- ---https-proxy=http://proxy:8888 ----- - -Provide your `username` and `password` parameters if you enable `basicAuth`: ----- ---https-proxy=http://:@proxy:8888 ----- - -The following sample registration command shows flag placement: -[source,ssh] ----- -flexctl register \ ---username= \ ---password= \ ---environment= \ ---organization= \ ---output-directory=/usr/local/share/mulesoft/flex-gateway/conf.d \ ---https-proxy=http://:@proxy:8888 \ -my-gateway ----- - -NOTE: Use the relevant registration command for your Flex Gateway deployment. - -//end::proxy-registration[] diff --git a/gateway/1.5/modules/ROOT/pages/_partials/include-nav-steps-api-instance.adoc b/gateway/1.5/modules/ROOT/pages/_partials/include-nav-steps-api-instance.adoc deleted file mode 100644 index ef5f5816b..000000000 --- a/gateway/1.5/modules/ROOT/pages/_partials/include-nav-steps-api-instance.adoc +++ /dev/null @@ -1,7 +0,0 @@ -. Log in to Anypoint Platform. -. In the navigation bar or the Anypoint Platform page, click *API Manager*. + -The *API Administration* page appears, showing a list of APIs that are available in your organization. -+ -. Click the API instance. + -The *API Summary* page appears, showing general information and the status of the API instance. -+ diff --git a/gateway/1.5/modules/ROOT/pages/_partials/kubernetes-service-note.adoc b/gateway/1.5/modules/ROOT/pages/_partials/kubernetes-service-note.adoc deleted file mode 100644 index 610220447..000000000 --- a/gateway/1.5/modules/ROOT/pages/_partials/kubernetes-service-note.adoc +++ /dev/null @@ -1,10 +0,0 @@ -If you use https://kubernetes.io/docs/concepts/services-networking/service/[Kubernetes Service^] as an upstream service or you apply a policy that makes requests to a Kubernetes Service, set the following parameters in the `service` resource: - -* `spec.ports[].protocol` to `TCP` -* `spec.ports[].name` - -Your `spec.ports[].name` service must adhere to the `[-]` structure. `[-]` is optional, and the valid options for `` are: - -* HTTP -* H2 -* HTTPS \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/_partials/logging-config-file.adoc b/gateway/1.5/modules/ROOT/pages/_partials/logging-config-file.adoc deleted file mode 100644 index 9e4b80889..000000000 --- a/gateway/1.5/modules/ROOT/pages/_partials/logging-config-file.adoc +++ /dev/null @@ -1,73 +0,0 @@ - -The `logging` object configures the delivery of runtime and access logs enabled via the message logging policy. Logs are delivered to any supported Fluent Bit {fluentbit-ver-var} output. - -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Configuration -metadata: - name: - namespace: -spec: - logging: - outputs: - - name: - type: - parameters: - : - runtimeLogs: - logLevel: - outputs: - accessLogs: - outputs: ----- - -[cols="2,1,1,3"] -|=== -|Parameter |Required or Optional |Default Value |Description - -|`logging.outputs[#].name` -|Required -|N/A -|The name of this output to later refer to in runtime and access logs configurations. - -|`logging.outputs[#].type` -|Required -|N/A -|An output type supported by Fluent Bit. For Fluent Bit output types, see https://docs.fluentbit.io/manual/v/{fluentbit-url-ver-var}/pipeline/outputs[Fluent Bit Outputs documentation ^]. - -|`logging.outputs[#].parameters` -|Required -|N/A -|A map of parameters for the specific Fluent Bit output type. For Fluent Bit output type parameters, see https://docs.fluentbit.io/manual/v/{fluentbit-url-ver-var}/pipeline/outputs[Fluent Bit Outputs documentation ^]. - -|`logging.accessLogs.outputs` -|Optional -|Empty -|A list of output names to redirect access logs to. - -|`logging.runtimeLogs.logLevel` -|Optional -|`info` -|A parameter specifying log detail. The supported `logLevel` types listed in decreasing verbosity are `debug`, `info`, `warn`, `error`, and `fatal`. - -|`logging.runtimeLogs.outputs` -|Optional -|Empty -|A list of output names to redirect runtime logs to. - -|=== - -Leaving a value blank applies the default value to your configuration. - -In addition to parameters above, Flex Gateway offers variables for logging output. When configured, the variables render as one of their respective outputs in the logs: - -[cols="1,2,3"] -|=== -| Variable | Description | Outputs - -| `date` | Date and time of the logged event | A specific time, for example, `17/11/2022-09:48:27AM` -| `logger` | Flex Gateway service where the logged event occurred | `flex-gateway-agent`, `flex-gateway-envoy`, and `flex-gateway-fluent` -| `level` | `Loglevel` of the logged event | `debug`, `info`, `warn`, `error`, or `fatal` -| `kind` | Log type | `runtimeLog` or `accessLog` -|=== diff --git a/gateway/1.5/modules/ROOT/pages/_partials/logging-severity-level.adoc b/gateway/1.5/modules/ROOT/pages/_partials/logging-severity-level.adoc deleted file mode 100644 index 3e0d52187..000000000 --- a/gateway/1.5/modules/ROOT/pages/_partials/logging-severity-level.adoc +++ /dev/null @@ -1,26 +0,0 @@ -[[severity-levels]] -== Message Logging Severity Levels - -When you configure a Message Logging policy for your API instance, you can assign a severity level. Each severity level includes a specific set of information in the log report. - -Log reports include the severity level you select and the following levels on the hierarchy. - -For example, if you select DEBUG, the log reports include the DEBUG severity level as well as the INFO, WARN, and ERROR severity levels. However, if you select ERROR, the log reports include only error messages. The following table describes the type of information included in the logs for each severity level: - -[%header,cols='1a,5a'] -|=== -|Log Severity Level -|Description - -|DEBUG -|Tracing information used by application developers. - -|INFO -|Informational messages that highlight the progress of the application. - -|WARN -|Potentially harmful situations that indicate potential problems. - -|ERROR -|Events that prevent normal program execution but might allow the application to continue running. -|=== \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/_partials/prerequisites.adoc b/gateway/1.5/modules/ROOT/pages/_partials/prerequisites.adoc deleted file mode 100644 index da8d0541d..000000000 --- a/gateway/1.5/modules/ROOT/pages/_partials/prerequisites.adoc +++ /dev/null @@ -1,49 +0,0 @@ -//tag::intro[] -Flex Gateway runs on the following Long Term Support (LTS) versions of Linux: -//end::intro[] - -//tag::amazon-linux[] -Amazon Linux 2 -//end::amazon-linux[] - -//tag::centos[] -CentOS 8 -//end::centos[] - -//tag::curl[] -The `curl` command-line tool. -//end::curl[] - -//tag::debian[] -Debian (Buster, Bullseye) -//end::debian[] - -//tag::docker[] -A Docker installation. -//end::docker[] - -//Requires local/page variable that specifies the version, such as :version-helm: 3.0.0 -//tag::helm[] -A minimum Helm version of 3.0.0 is required. -//end::helm[] - -//tag::kubectl[] -The Kubernetes `kubectl` command-line tool. -//end::kubectl[] - -//tag::red-hat[] -Red Hat Enterprise Linux (8, 9) -//end::red-hat[] - -//tag::ubuntu[] -Ubuntu (Bionic, Focal, Jammy) -//end::ubuntu[] - -//pls leave blank line in rabc-permission-k8 -// tag::rbac-permission-k8[] - -When deploying Flex Gateway to a Kubernetes cluster that enables role-based access control (RBAC), you must have cluster-level permissions to permit installation of custom resource definitions (CRDs) used by Flex Gateway. -// end::rbac-permission-k8[] -// tag::rbac-role-openshift[] -In OpenShift, the `cluster-admin` role provides this level of access. -// end::rbac-role-openshift[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/_partials/product-spotlight-video.html b/gateway/1.5/modules/ROOT/pages/_partials/product-spotlight-video.html deleted file mode 100644 index 279cd8cb1..000000000 --- a/gateway/1.5/modules/ROOT/pages/_partials/product-spotlight-video.html +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/_partials/reference-install-next-steps.adoc b/gateway/1.5/modules/ROOT/pages/_partials/reference-install-next-steps.adoc deleted file mode 100644 index 24b978ecf..000000000 --- a/gateway/1.5/modules/ROOT/pages/_partials/reference-install-next-steps.adoc +++ /dev/null @@ -1,27 +0,0 @@ - -//for Linux, download and install -//tag::flex-download-install[] -After downloading and installing, register Flex Gateway in -xref:flex-conn-reg-run.adoc[Connected] or xref:flex-local-reg-run.adoc[Local Mode]. -//end::flex-download-install[] - -//for Docker and k8, download only -//tag::flex-k8-download-install[] -After downloading the image, register Flex Gateway in -xref:flex-conn-reg-run.adoc[Connected] or xref:flex-local-reg-run.adoc[Local Mode]. -//end::flex-k8-download-install[] - -//for Docker and Linux on connected vs. local -//tag::flex-connected-vs-local[] -For more detail, see xref:index.adoc#connected-mode-vs-local-mode[Connected Mode vs. Local Mode]. -//end::flex-connected-vs-local[] - -// tag::post-download-flex-image[] -After downloading the Flex Gateway image, register a gateway in -xref:flex-conn-reg-run.adoc[Connected Mode] or xref:flex-local-reg-run.adoc[Local Mode]. -// end::post-download-flex-image[] - -// tag::connected-local-k8[] -See xref:flex-gateway-k8-overview.adoc[] -for more information about the difference between Connected Mode and Local Mode for Flex Gateway in Kubernetes clusters. -// end::connected-local-k8[] diff --git a/gateway/1.5/modules/ROOT/pages/_partials/reference-k8-general.adoc b/gateway/1.5/modules/ROOT/pages/_partials/reference-k8-general.adoc deleted file mode 100644 index 409d001a4..000000000 --- a/gateway/1.5/modules/ROOT/pages/_partials/reference-k8-general.adoc +++ /dev/null @@ -1,7 +0,0 @@ - -//tag::flex-k8-helm-chart-info[] -Find the default Helm chart settings for Flex Gateway (flex-gateway) through one of the following methods: - -* Open the *flex-gateway* page in https://artifacthub.io/packages/helm/flex-gateway/flex-gateway[ArtifactHUB^] -* Run `helm show values <helm-repository-name>/<helm-chart-name>` from a terminal window, for example, `helm show values flex-gateway/flex-gateway`. -//end::flex-k8-helm-chart-info[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/_partials/task-config-liveness-probe.adoc b/gateway/1.5/modules/ROOT/pages/_partials/task-config-liveness-probe.adoc deleted file mode 100644 index 40c24f7c3..000000000 --- a/gateway/1.5/modules/ROOT/pages/_partials/task-config-liveness-probe.adoc +++ /dev/null @@ -1,74 +0,0 @@ -//tag::intro1[] - -Flex Gateway includes the following CLI command to test gateway health: - -[source,ssh] ----- -flexctl probe --check=liveness ----- - -If the Flex Gateway instance is running normally, the command returns an exit code of `0`. Otherwise, the gateway is unhealthy and the command returns a `1`. - -You can either run the liveness check command manually or configure the command to run automatically. By default, Flex Gateways deployed on Kubernetes have an automatic liveness probe configured. The liveness probe periodically runs the liveness check command and automatically restarts the Flex Gateway pod after a specified number of failed liveness checks. - -Docker and Linux deployments do not have preconfigured liveness probes. - -//end::intro1[] - -//tag::k8s-liveness-probe[] -== Before You Begin - -. xref:flex-install.adoc[Download Flex Gateway]. -. xref:flex-{page-mode}-reg-run.adoc[Register and Run Flex Gateway]. - -== Configure a Kubernetes Liveness Probe -By default, Flex Gateways running on Kubernetes include a liveness probe configured in the Helm chart. The liveness probe automatically runs `flexctl probe --check=liveness` at an interval of 10 seconds and restarts unhealthy pods after 5 failed tests. - -The liveness probe is configured by default with the following values: - -[source,helm] ----- -livenessProbe: - exec: - command: - - flexctl - - probe - - --check=liveness - initialDelaySeconds: 10 - periodSeconds: 10 - failureThreshold: 5 - timeoutSeconds: 1 ----- - -[cols="1,2"] -|=== -| Parameter | Description - -| `exec.command` | The liveness check command -| `initialDelaySeconds` | The time in seconds to wait after startup before executing the first liveness test -| `periodSeconds` | The period in seconds between each liveness check -| `failureThreshold` | The number of failed liveness tests before the Kubernetes pod is restarted -| `timeoutSeconds` | The time in seconds before the test times out -|=== - -To modify the default liveness probe parameters, you must update your Helm chart. You can modify these parameters during or after the initial installation of the Helm chart. For more information about how to modify a Helm chart, see xref:flex-gateway-k8-change-helm-settings.adoc[] - - -//end::k8s-liveness-probe[] - -//tag::docker-linux-deployments[] -== Docker and Linux Liveness Probes - -For Docker or Linux deployments, there is no default liveness probe configured to check health or restart unhealthy Flex Gateways. However, you can still run the liveness check command manually or configure it for automated use with third-party services. Besides the Kubernetes liveness probe, MuleSoft does not provide support for third-party liveness probes or health checks. - -One method of running the liveness check command with Docker is to configure `HEALTHCHECK` in your `docker run` command. For more information, see https://docs.docker.com/engine/reference/run/#healthcheck[Docker run HEALTHCHECK^]. - -//end::docker-linux-deployments[] - -//tag::see-also[] -== See Also - -* https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/[Configure Liveness, Readiness and Startup Probes^]. -* xref:policies-included-health-check.adoc[] - -//end::see-also[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/_partials/task-config-logs-third-party.adoc b/gateway/1.5/modules/ROOT/pages/_partials/task-config-logs-third-party.adoc deleted file mode 100644 index 340b0498e..000000000 --- a/gateway/1.5/modules/ROOT/pages/_partials/task-config-logs-third-party.adoc +++ /dev/null @@ -1,376 +0,0 @@ -//tag::intro1[] -Anypoint Flex Gateway enables you to deliver runtime and access logs to any supported Fluent Bit {fluentbit-ver-var} output type. You configure log output via a custom YAML file. Additionally, to view access logs, you must also apply a Message Logging policy. - -The following configuration file examples demonstrate how to direct Flex Gateway logs to output types: `File`, `HTTP`, and `Splunk`. However, you can use any Fluent Bit {fluentbit-ver-var} output type, such as `Azure Log Analytics`, `Amazon S3`, `Kafka`, and more. For a complete list of Fluent Bit output types, see https://docs.fluentbit.io/manual/v/{fluentbit-url-ver-var}/pipeline/outputs[Fluent Bit Output documentation^]. - -//end::intro1[] - -//tag::intro2-conn[] -As well as being able to configure additional Fluent Bit log output types, Flex Gateway sends runtime logs to runtime manager and access logs to API Manager. Use the logs for quick log checks when an additional log output is not needed. To view runtime logs, see xref:flex-view-logs-in-monitoring.adoc[], and to configure and view access logs, see xref:flex-conn-message-log.adoc[]. For access logs to be visible in *Logs*, you must additionally apply a Message Logging policy. - -//end::intro2-conn[] - - -//tag::intro2-local[] -As well as being able to configure additional Fluent Bit log output types, Flex Gateway maintains standard output logs. Use the standard output logs for quick checks when additional log output is not needed. To view the standard output logs, see xref:gateway::flex-local-view-logs.adoc[View Logs]. Both runtime and access logs appear in standard output logs. However, access logs are only present if you apply a Message Logging policy. - -//end::intro2-local[] - -//tag::icon-table[] - -[cols="1a,1a,1a"] -|=== -|image:install-linux-logo.png[20%,20%,xref="#linux"] -|image:install-docker-logo.png[25%,25%,xref="#docker"] -|image:install-kubernetes-logo.png[20%,20%,xref="#kubernetes"] - -|<> -|<> -|<> -|=== - -//end::icon-table[] -//tag::byb[] - -== Before You Begin - -Before configuring Flex Gateway log output, complete the following tasks: - -* xref:flex-install.adoc[Download Flex Gateway] -* xref:flex-{page-mode}-reg-run.adoc[Register and Run Flex Gateway] - -Additionally, depending on your output, ensure that the service where you direct logs to is operational and that you have the necessary information: - -* Splunk: -** A running https://www.splunk.com/[Splunk^] service. You can test Splunk with a free Splunk Cloud trial. -** Added an HTTP Event Collector (HEC) data input to the Cloud or Enterprise Splunk service. See the https://docs.splunk.com/Documentation/Splunk/7.0.3/Data/UsetheHTTPEventCollector[Splunk documentation^] about how to add a data input, and how to create an HEC token. -* Dynatrace: -** A running https://www.dynatrace.com/[Dynatrace^] service. You can test Dynatrace with a free Dynatrace trial. -** Environment ID. To find your Dynatrace environment ID, see https://www.dynatrace.com/support/help/get-started/monitoring-environment/environment-id[Environment ID^] -** Access token. To generate a Dynatrace access token, see https://www.dynatrace.com/support/help/manage/access-control/access-tokens[Access Tokens^]. Ensure that the token has the `Ingest logs` token scope. -//end::byb[] - -//tag::runtime-access-logs[] - -== Runtime Logs and Access Logs -Runtime and access logs both appear in the same log output. However, you can choose whether to include both logs in your log output. To use access logs, you must also apply a Message Logging policy. - -=== Runtime Logs -Runtime logs include the following information: - -* The startup and shutdown of Flex Gateway, Fluent Bit, and Envoy -* Deployed APIs and policies -* Possible misconfigurations of Flex Gateway or other errors - -=== Access Logs -Access logs describe incoming interaction with Envoy over a period of time and incoming requests and responses for specific APIs. - -To enable access logs, you must apply a Message Logging policy to the API instances you want to monitor. To apply a Message Logging policy, see <>. - -//end::runtime-access-logs[] - -//tag::file-example[] - -== Logging Configuration File - -include::partial$logging-config-file.adoc[] - -To view configuration files with applied values, see the following configuration file examples: - -* <> -* <> -* <> -* <> - - -//end::file-example[] -//tag::linux[] - -[[linux]] -== Configure Log Output for Flex Gateway as a Linux Service - -. Create a YAML configuration file in the Flex Gateway configuration directory: -+ -[source,ssh] ----- -sudo touch /usr/local/share/mulesoft/flex-gateway/conf.d/logs-config.yaml ----- - -. Update the file with your desired output configuration details as shown in the following examples: -+ -* <> -* <> -* <> -* <> -+ -//end::linux[] -//tag::docker[] - -[[docker]] -== Configure Log Output for Flex Gateway in a Docker Container - -NOTE: If you have already added a volume for a folder with your -Flex Gateway configuration files, skip to the create and save a YAML file step. - -. Press Ctrl+C to stop your Flex Gateway and any replicas. -. Create a folder named `app` in the directory with your Flex Gateway configuration files. -. Restart your Flex Gateway with an additional volume for the new `app` directory: -//end::docker[] - -//tag::docker2[] -. Create and save a YAML file with your desired output configuration details as shown in the following examples: -+ -* <> -* <> -* <> -* <> -+ -//end::docker2[] -//tag::k8s[] - -[[kubernetes]] -== Configure Log Output for Flex Gateway in a Kubernetes Cluster - -To configure logging for Flex Gateway: - -. Create a new resource using a YAML configuration file with your desired output configuration details as shown in the following examples: -+ -* <> -* <> -* <> -* <> -+ -//end::k8s[] - -//tag::view-logs-conn[] -If no events appear in the logging output, check the Flex Gateway runtime logs for any configuration errors. -+ -To view runtime logs, see xref:flex-view-logs-in-monitoring.adoc[]. -+ -For additional troubleshooting help, see xref:flex-troubleshoot-logging.adoc[]. -//end::view-logs-conn[] - -//tag::view-logs-local[] -If no events appear in the logging output, check the Flex Gateway standard output logs for any configuration errors. -+ -To view standard output logs, see xref:flex-local-view-logs.adoc[View Logs]. -+ -For additional troubleshooting help, see xref:flex-troubleshoot-logging.adoc[]. -//end::view-logs-local[] - -//tag::configure-message-logging-step[] -. If you are configuring access logs, see <> to apply a Message Logging policy. - -//end::configure-message-logging-step[] - -//tag::file-configuration-example[] - -[[file-configuration-example]] -== File Configuration Example - -Configure Flex Gateway to send formatted runtime and access logs to a file called `log.txt` (Fluent Bit `File` output), in the `/var/log` directory. As an example, the following definition specifies a `spec.logging.outputs.type` value of `file`: - - -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Configuration -metadata: - name: logging-config -spec: - logging: - outputs: - - name: default - type: file - parameters: - file: /var/log/log.txt # Docker: replace `/var/log` with the absolute path to the mounted configuration directory - format: template - template: | - [{date}][{logger}][{level}][{kind}] {message} - runtimeLogs: - logLevel: info - outputs: - - default - accessLogs: - outputs: - - default ----- - -NOTE: For Docker, in `spec.logging.output.parameters.file`, replace `/var/log` with the absolute path to the mounted configuration directory. - -//end::file-configuration-example[] - -//tag::http-configuration-example[] - -[[http-configuration-example]] -== HTTP Configuration Example - -You can configure Flex Gateway to send formatted runtime and access logs to a `HTTP` output. As an example, the following definition specifies a `spec.logging.outputs.type` value of `HTTP`: - -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Configuration -metadata: - name: logging-config -spec: - logging: - outputs: - - name: default - type: HTTP - parameters: - host: collectors.au.sumologic.com - port: "443" - URI: /receiver/v1/http/[PrivateKey] - format: json_lines - json_date_key: timestamp - json_date_format: iso8601 - runtimeLogs: - logLevel: info - outputs: - - default - accessLogs: - outputs: - - default ----- - -//end::http-configuration-example[] - -//tag::dynatrace-configuration-example[] - -[[dynatrace-configuration-example]] -== Dynatrace Configuration Example - -You can configure Flex Gateway to send formatted runtime and access logs to a Dynatrace environment `HTTP` output. As an example, the following file contains the necessary configurations: - -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Configuration -metadata: - name: dynatrace-config -spec: - logging: - outputs: - - name: dynatrace - type: http - parameters: - host: .live.dynatrace.com - Port: "443" - allow_duplicated_headers: "false" - header: - - Content-Type application/json; charset=utf-8 - - Authorization Api-Token - URI: /api/v2/logs/ingest - Format: json - json_date_key: timestamp - json_date_format: iso8601 - tls: "on" - tls.verify: "off" - runtimeLogs: - logLevel: info - outputs: - - dynatrace - accessLogs: - outputs: - - dynatrace - ----- - -For more information about configuration options, see https://docs.fluentbit.io/manual/v/{fluentbit-url-ver-var}/pipeline/outputs/http[HTTP Output^]. - -//end::dynatrace-configuration-example[] - -//tag::splunk-configuration-example[] - -[[splunk-configuration-example]] -== Splunk Configuration Example - -Splunk begins ingesting logs soon after you apply this resource. - -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Configuration -metadata: - name: splunk-config -spec: - logging: - outputs: - - name: splunk - type: splunk - parameters: - host: .splunkcloud.com - port: "8088" - splunk_token: - tls: "on" - tls.verify: "off" - runtimeLogs: - logLevel: info - outputs: [splunk] - accessLogs: - outputs: [splunk] ----- - -//end::splunk-configuration-example[] - -//tag::log-output-examples[] - -== Logging Event Examples -The following log output examples demonstrate possible outputs that may occur for the following events: - -* <> -* <> -* <> - -[[graceful-shutdowns]] -=== Graceful Shutdowns - ----- -[flex-gateway-agent][info] SignalHandler: Signal terminated received -[flex-gateway-agent][info] FilesystemWatcher(/usr/local/share/mulesoft/flex-gateway/conf.d): Stopping with context done -[flex-gateway-agent][info] XdsService: Stopping with context done -[flex-gateway-agent][error] flex-gateway-envoy: Stopped with error context canceled -[flex-gateway-agent][info] FilesystemWatcher(/etc/mulesoft/flex-gateway/conf.d): Stopping with context done -[flex-gateway-agent][error] flex-gateway-fluent: Stopped with error context canceled -[flex-gateway-agent][error] flex-gateway-fluent: Stopped with error context canceled -[flex-gateway-agent][info] Server dropped connection -[flex-gateway-agent][info] Agent communication closed ----- - - -[[service-disconnections]] -=== Service Disconnections - ----- -[flex-gateway-agent][error] WebSocket receiver got error: read tcp 172.17.0.2:60780->100.64.1.37:443: i/o timeout -[flex-gateway-agent][info] Server dropped connection -[flex-gateway-agent][warn] Dropped connection due to error read tcp 172.17.0.2:60780->100.64.1.37:443: i/o timeout -[flex-gateway-agent][info] Reconnecting after connection was dropped -[flex-gateway-agent][error] Error connecting to Websocket Server: dial tcp: lookup arm-mcm2-service.kstg.msap.io on 192.168.65.7:53: dial udp 192.168.65.7:53: connect: network is unreachable ----- - -[[envoy-crash]] -=== Envoy Crash - ----- -[flex-gateway-envoy][critical] Caught Segmentation fault, suspect faulting address 0xffff87e8fb89485b -[flex-gateway-envoy][critical] Backtrace (use tools/stack_decode.py to get line numbers): -[flex-gateway-envoy][critical] Envoy version: 36cbae1aeedd8c3b4eb88cd28268d21fe0905ce5/1.23.0/Clean/RELEASE/BoringSSL -[flex-gateway-envoy][critical] #0: __restore_rt [0x7ff79db2f140] -[flex-gateway-envoy][critical] #1: [0x557dcfad249b] -[flex-gateway-envoy][critical] #2: [0x557dcdf35237] -[flex-gateway-envoy][critical] #3: [0x557dce16d49f] -[flex-gateway-envoy][critical] #4: [0x557dce1a8ff5] -[flex-gateway-envoy][critical] #5: [0x557dce1a8e47] -[flex-gateway-envoy][critical] #6: ... -[flex-gateway-agent][error] flex-gateway-envoy: Stopped with error flex-gateway-envoy: command error: signal: segmentation fault -[flex-gateway-agent][error] flex-gateway-fluent: Stopped with error context canceled -[flex-gateway-agent][error] flex-gateway-fluent: Stopped with error context canceled -[flex-gateway-agent][info] FilesystemWatcher(/etc/mulesoft/flex-gateway/conf.d): Stopping with context done -[flex-gateway-agent][info] FilesystemWatcher(/usr/local/share/mulesoft/flex-gateway/conf.d): Stopping with context done -[flex-gateway-agent][info] XdsService: Stopping with context done -[flex-gateway-agent][info] Server dropped connection -[flex-gateway-agent][info] Agent communication closed ----- -//end::log-output-examples[] diff --git a/gateway/1.5/modules/ROOT/pages/_partials/task-config-proxy-protocol.adoc b/gateway/1.5/modules/ROOT/pages/_partials/task-config-proxy-protocol.adoc deleted file mode 100644 index 1d9ddf50d..000000000 --- a/gateway/1.5/modules/ROOT/pages/_partials/task-config-proxy-protocol.adoc +++ /dev/null @@ -1,101 +0,0 @@ -//tag::intro1[] -For use cases when Flex Gateway is deployed behind a load balancer or other proxy service, configure PROXY protocol to preserve client IP addresses across multiple layers of NAT or TCP proxies. - -In PROXY protocol, the load balancer or other proxy service sends the PROXY protocol header containing the client address and additional information to Flex Gateway. To learn more about PROXY protocol, see the https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt[HAProxy specification^]. - -Enabling PROXY protocol only enables Flex Gateway to receive the PROXY protocol header. Your load balancer or other proxy service must support PROXY protocol to transmit the header. - -//end::intro1[] - -//tag::icon-table[] - -[cols="1a,1a,1a"] -|=== -|image:install-linux-logo.png[20%,20%,xref="#linux"] -|image:install-docker-logo.png[25%,25%,xref="#docker"] -|image:install-kubernetes-logo.png[20%,20%,xref="#kubernetes"] - -|<> -|<> -|<> -|=== - -//end::icon-table[] - -//tag::byb[] - -== Before You Begin - -Before enabling PROXY protocol for Flex Gateway, complete the following tasks: - -. xref:flex-install.adoc[Download Flex Gateway] -. xref:flex-{page-mode}-reg-run.adoc[Register and Run Flex Gateway] - -//end::byb[] - -//tag::linux[] - -[[linux]] -== Enable PROXY Protocol for Flex Gateway as a Linux Service - -. Create a YAML configuration file in the Flex Gateway configuration directory: -+ -[source,ssh] ----- -sudo touch /usr/local/share/mulesoft/flex-gateway/conf.d/proxy-protocol-config.yaml ----- - -. Update the file with the PROXY protocol configuration file: -+ -//end::linux[] - -//tag::docker-intro[] - -[[docker]] -== Enable PROXY Protocol for Flex Gateway in a Docker Container - -NOTE: If you have already added a volume for a folder with your -Flex Gateway configuration files, skip to the last step. - -. Press Ctrl+C to stop your Flex Gateway and any replicas. -. Create a folder named `app` in the directory with your Flex Gateway configuration files. -. Restart your Flex Gateway with an additional volume for the new `app` directory: -//end::docker-intro[] - -//tag::docker-config-file-step[] -. Create and save a YAML configuration file in your `app` folder with your PROXY protocol configuration details. -+ -//end::docker-config-file-step[] - - - -//tag::k8s[] - -[[kubernetes]] -== Enable PROXY Protocol for Flex Gateway in a Kubernetes Cluster - -To configure PROXY protocol for Flex Gateway, create a new resource using -a YAML configuration file with your PROXY protocol details. - -//end::k8s[] -//tag::sample-config[] -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Configuration -metadata: - name: config -spec: - proxyProtocol: - enabled: true ----- -//end::sample-config[] - -//tag::see-also[] - -== See Also - -* https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt[HAProxy specification^] - - -//end::see-also[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/_partials/task-flex-add-tls-context.adoc b/gateway/1.5/modules/ROOT/pages/_partials/task-flex-add-tls-context.adoc deleted file mode 100644 index 21a2cdbae..000000000 --- a/gateway/1.5/modules/ROOT/pages/_partials/task-flex-add-tls-context.adoc +++ /dev/null @@ -1,133 +0,0 @@ -//tag::intro1[] -Using encryption, Transport Layer Security (TLS) policies protect communication between clients, API instances, and upstream services. After you xref:anypoint-security::asm-secret-group-creation-task.adoc[create a secret group], you can add a TLS context or a mutual authentication TLS (mTLS) context and apply the TLS context to API instances in API Manager to encrypt their inbound and outbound traffic. - -//end::intro1[] -//tag::intro2[] -When you add a TLS context, you can also select the ciphers to use with the TLS context and configure different inbound and outbound validation settings. - -You can use the TLS context you store in secrets manager when you configure an HTTPS API in Flex Gateway Connected Mode. - -//end::intro2[] - - -//tag::byb[] - -== Before You Begin - -Before adding a TLS context to Flex Gateway, complete the following tasks: - -* xref:anypoint-security::asm-secret-group-creation-task.adoc[Create a Secret Group] -+ -When adding a secret group, refer to the <>. Depending on your desired configuration, either: -+ -** xref:asm-secret-group-creation-task.adoc#adding-a-keystore[Add a Keystore] -** xref:asm-secret-group-creation-task.adoc#adding-a-truststore[Add a Truststore] -+ -NOTE: Privacy Enhanced Mail (PEM) type is required for your Keystore or Truststore. - -//end::byb[] - -//tag::configurationOptions[] - -[[tls-configuration-options]] -== TLS Configuration Options -You can configure your TLS context to support regular TLS and mTLS in both the inbound and outbound direction. Depending on the desired configuration, you must add different certificate files to your secret group and select different TLS context configuration options. - -Refer to the following cross reference table for the required TLS context configuration settings you need in the <> step: - -[%header%autowidth.spread,cols="a,a,a,a,a"] -|=== -| Parameter | Inbound TLS | Inbound mTLS | Outbound TLS | Outbound mTLS -| *Keystore* | Required | Required | Not Used | Required -| *Truststore* | Not Used | Required | Required, unless skip server cert validation is selected | Required to validate upstream certificate -| *Validate Client certificate* | Not Selected | Selected | Not Used | Not Used -| *Skip server certificate validation* | Not Used | Not Used | Either | Not Selected -|=== - -A parameter that is "Not Used" for a configuration implies its status does not affect configuration. - -To simplify your configurations, you can create different TLS contexts for the different traffic directions of your API instance. However, you can also use the same TLS context to support different traffic directions, but you cannot support TLS and mTLS for the same direction using the same context. If you use the same TLS context for different directions, ensure you include the required parameters for both directions. - -//end::configurationOptions[] - -//tag::addContext[] - -[[add-a-tls-context]] -== Add a TLS Context for Flex Gateway - -Adding a TLS context to your secret group requires supplying a name, target, version, and a keystore or truststore. Optionally, you can add context expiration date and ALPN Protocols and configure the inbound and outbound settings. - -[WARNING] -==== -If you edit a secret group, including a TLS context, that is currently applied to an API instance, you must redeploy the API instance to apply the changes. You must individually redeploy all instances affected by the change. To redeploy API instances, see <>. -==== - -To add a TLS context: - -. Go to *Anypoint Platform > Secrets Manager*. -. Ensure your secret group is downloadable. This enables you to apply your TLS context to API instances. -+ -To ensure your secret group is downloadable: - -.. Click the pencil icon next to the name of your secret group. -.. If *Secret Group Downloadable* is selected, click *Cancel* -.. If *Secret Group Downloadable* is not selected, select it, then click *Save*. -. In the *Secret Groups* list view, click the *Edit* button of the secret group to add a TLS context. -. Select *TLS Context* in the menu on the left, and click *Add TLS Context*. -. In the Create TLS context screen, add the required information: -+ -* *Name* + -Enter a name for your TLS context. -* *Target* + -Select *Flex Gateway* to use the TLS context as the SSL validation for Flex Gateway APIs. -* *Min TLS Version* and *Max TLS Version* + -By default, TLS 1.3 and TLS 1.3 are selected as the minimum and maximum supported versions. You can select to support a different minimum and maximum or select to support a single version by selecting the same version for both the minimum and maximum. -* *Keystore* + -If necessary for your configuration, from the drop-down list, select the keystore to store in the TLS context. Only PEM type keystores are visible. The keystore contains the certificate Flex Gateway presents to the remote party for both inbound and outbound TLS. -+ -[NOTE] -==== -To comply with security standards, all certificates must be 2048 bits or longer. -==== -* *Truststore* + -If necessary for your configuration, from the drop-down list, select a truststore to store certificates trusted by the client. Only PEM type truststores are visible. The truststore contains the CA path that Flex uses to validate the remote party certificate for both inbound and outbound TLS. -+ -[NOTE] -==== -Upstream certificates must include the Subject Alternative Name (SAN) extension. The Common Name (CN) field is deprecated. - -Flex Gateway supports the SAN extension of type `dNSName`. -==== -* *Expiration Date* + -Optionally, enter an expiration date for the TLS context. -* *ALPN Protocols* + -By default, *H2 - HTTP/1.1* are the selected ALPN protocols. Change this value to support different protocols. -* *Inbound Settings* + -If you want to support mTLS for inbound traffic, select *Validate Client certificate*. -* *Outbound Settings* + -If you do not want support mTLS for outbound traffic, select *Skip server certificate validation*. - -. If you want to customize cipher support for your TLS context, <>. -+ -Cipher selection is not available if only supporting TLS version 1.3. -. Click *Save*. - -//end::addContext[] - - - -//tag::redeploy[] - -[[redeploy-api-instance]] -== Edit Secret Groups and Redeploy API Instances -To edit a secret group, see xref:anypoint-security::asm-secret-group-creation-task.adoc#edit-a-secret-group[Edit a Secret Group]. - -If you edit a secret group currently applied to an API instance, to apply the changes to the API instance, you must individually redeploy all instances the changes affect. - -To redeploy an API instance: - -. Go to *Anypoint Platform > API Manager*. -. Click the name of the API instance to redeploy. -. Click *Runtime & Endpoint Configuration > Save & Apply*. - -//end::redeploy[] diff --git a/gateway/1.5/modules/ROOT/pages/_partials/task-k8-node-affinity.adoc b/gateway/1.5/modules/ROOT/pages/_partials/task-k8-node-affinity.adoc deleted file mode 100644 index 19552ae30..000000000 --- a/gateway/1.5/modules/ROOT/pages/_partials/task-k8-node-affinity.adoc +++ /dev/null @@ -1,273 +0,0 @@ -//START TAG: flex-node-affinity-intro -//tag::flex-node-affinity-intro[] -//= Select a Node for Flex Gateway Deployments on Kubernetes - -Flex Gateway is often critical to the performance and security of a cluster, so it is important to host it on a specialized node that meets specific requirements, instead of using the nodes that host other deployments. - -To enable the Kubernetes scheduler to select a suitable host node for a Pod that contains Flex Gateway, you can set custom node affinity rules in a YAML configuration file that incorporates the Pod's requirements into a Helm chart for your Flex Gateway deployment. For more information about node affinity, see the https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity[Kubernetes documentation^]. - -The high-level tasks for configuring node affinity follow: - -. Finding or creating the node labels to use when defining node affinity rules and conditions (see <>). -. Specifying requirements and preferences in a YAML configuration file for a node that hosts a Pod with a containerized Flex Gateway application (see <>). -. Upgrading your Helm chart with the YAML configuration (see <>). - -//end::flex-node-affinity-intro[] -//END TAG - -//// -//informational only: -//== Before You Begin -// -//Meet the Kubernetes and Helm version requirements described -//in xref:flex-review-prerequisites.adoc[]. -//// - -//START TAG: flex-node-affinity-list-labels -//tag::flex-node-affinity-list-labels[] -[[list_add_labels]] -== List and Create Node Labels - -Each node affinity rule requires the key of a node label and one or more of the label’s values. You can use existing node labels or create new ones. A node label is defined as a key-value pair. - -* To list a cluster's nodes and node labels, run: -+ -[source,kubernetes,subs=attributes+] ----- -kubectl get nodes --show-labels ----- - -* To create a label for a node in your cluster, run: -+ -[source,kubernetes,subs=attributes+] ----- -kubectl label nodes = ----- - -For related Kubernetes documentation, see https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes/#add-a-label-to-a-node[Add a Label to a Node^]. -//end::flex-node-affinity-list-labels[] -//END TAG - - - -//New section -//START TAG -//tag::set-node-affinity[] -[[set_node_affinity]] -== Configure Rules for Matching a Node to a Pod for a Flex Gateway Container - -The Kubernetes scheduler can use node affinity rules to match nodes to Pods. The matching process enables the scheduler to select the node into which a Pod is deployed. - -Configure node affinity rules as required, preferred, or both: - -* `requiredDuringSchedulingIgnoredDuringExecution`: The node must match all node affinity rules configured for a Pod when the Kubernetes scheduler applies this type of matching. Otherwise, the deployment fails. -* `preferredDuringSchedulingIgnoredDuringExecution`: Based on weighted preferences set for a Pod, the Kubernetes scheduler selects the best matching node. The scheduler must select a node, so if no node matches any of the preferences, the scheduler selects a node that does not match. -//end::set-node-affinity[] -//END TAG - -//// -//just informational: -//For guidance, see the following configuration options: -// -//* <> -//* <> -//* <> -//// - - -//New section -//START TAG -//tag::flex-node-affinity-required-matching-intro[] -[[required_node_matching]] -=== Configure a Required Node Matching Rule for a Pod Containing Flex Gateway - -In required node matching, the node must meet all node affinity rules configured for a Pod. Otherwise, the deployment fails. -//end::flex-node-affinity-required-matching-intro[] -//END TAG - -//START TAG -//tag::flex-node-affinity-common-conditions[] -Configure a node affinity rule in the YAML configuration file for a Pod that contains Flex Gateway. Each condition to a rule requires a node label as a `key`, an operator, and one or more node label values to accept for a node with that key. For operators, you can use `In`, `NotIn`, `Exists`, `DoesNotExist`, `Gt`, and `Lt`. -//end::flex-node-affinity-common-conditions[] -//END TAG - -//START TAG -//tag::flex-node-affinity-required-matching-yaml[] -[source,yaml,subs=attributes+] ----- -affinity: - nodeAffinity: - requiredDuringSchedulingIgnoredDuringExecution: - nodeSelectorTerms: - - matchExpressions: - - key: - operator: - values: - - - # - Add any other node label values. - # - Add any other required conditions. ----- - -You can add as many values and conditions as the node requires. -//end::flex-node-affinity-required-matching-yaml[] -//END TAG -//// -// informational: -// After configuring the config file, proceed to <>. -//// - -//New section -//START TAG -//tag::flex-node-affinity-preferred-matching-intro[] -[[preferred_node_matching]] -=== Configure a Preferred Node Matching Rule for a Pod Containing Flex Gateway - -In preferred node matching, the Kubernetes scheduler selects a node based on weighted preferences. The scheduler must select a node, so if no node matches any preferences, the scheduler selects a node that does not match. - -//end::flex-node-affinity-preferred-matching-intro[] -//END TAG - -//// -// just informational: -// shared content from tag flex-node-affinity-common-conditions -//// - -//START TAG -//tag::flex-node-affinity-preferred-conditions[] -In addition, provide a `weight` value between `1` and `100` for each `preference` so that the Kubernetes scheduler can determine which rules are more important and select the best matching node. Matching is based on the sum of the weighted preferences that a node meets. The scheduler selects a node with the greatest total weight over other nodes of lesser weight. -//end::flex-node-affinity-preferred-conditions[] -//END TAG - -//START TAG -//tag::flex-node-affinity-preferred-matching-yaml[] -[source,yaml,subs=attributes+] ----- -affinity: - nodeAffinity: - preferredDuringSchedulingIgnoredDuringExecution: - - weight: - preference: - matchExpressions: - - key: - operator: - values: - - - # - Add any other values. - - weight: - preference: - matchExpressions: - - key: - operator: - values: - - - # - Add any other node label values. - # - Add any other preferred conditions. - # - Any any more preferred rules. ----- - -You can add any number of preferred values, conditions, and rules. -//end::flex-node-affinity-preferred-matching-yaml[] -//END TAG -//// -// informational: -// After configuring the YAML file, proceed to <>. -//// - - - -//New section -//START TAG -//tag::flex-node-affinity-mixed-matching-intro[] -[[mixed_node_matching]] -=== Configure Required and Preferred Node Matching Rules for a Pod Containing Flex Gateway - -You can configure both types of node affinity (required and preferred) in the same YAML file. -//end::flex-node-affinity-mixed-matching-intro[] -//END TAG -//// -// just informational: -// The example combines the settings from <> and <>. -// tag for shared content from tag flex-node-affinity-common-conditions -// tag for shared content from tag flex-node-affinity-preferred-conditions -//// - -//START TAG -//tag::flex-node-affinity-mixed-matching-yaml[] -[source,yaml,subs=attributes+] ----- -affinity: - nodeAffinity: - requiredDuringSchedulingIgnoredDuringExecution: - nodeSelectorTerms: - - matchExpressions: - - key: - operator: - values: - - - # - Add any other node label values. - # - Add any other conditions. - preferredDuringSchedulingIgnoredDuringExecution: - - weight: - preference: - matchExpressions: - - key: - operator: - values: - - - # - Add any other node label values. - - weight: - preference: - matchExpressions: - - key: - operator: - values: - - - # - Add any other node label values. - # - Add any other preferred conditions. - # - Any any other preferred rules. ----- -//end::flex-node-affinity-mixed-matching-yaml[] -//END TAG -//// -// informational: -// After configuring the YAML file, proceed to <>. -//// - - - -//START TAG -//tag::upgrade-helm-chart[] -[[upgrade_helm_chart]] -== Upgrade the Helm Chart - -After adding the node affinity settings to your YAML configuration file, incorporate the file into the Helm chart for a Flex Gateway deployment so that the Kubernetes scheduler can use the setting. - -Use a `helm` command to incorporate the node affinity settings from your YAML configuration file into a Helm chart. The command to use depends on whether Flex Gateway is installed: - -* If you are installing Flex Gateway for the first time, use this command to set all values in the chart: -+ -[source,kubernetes,subs=attributes+] ----- -helm -n gateway upgrade -i --create-namespace \ ---wait ingress flex-gateway/flex-gateway \ --f \ ---set-file registration.content= ----- -+ -Notice that the command passes the YAML file with the node affinity rules. - -* If Flex Gateway is installed already, use this command to reuse the chart's existing configuration and set the node affinity configuration: -+ -[source,kubernetes,subs=attributes+] ----- -helm -n gateway upgrade -i --create-namespace \ ---wait ingress flex-gateway/flex-gateway \ ---reuse-values -f ----- -+ -Notice that the command passes the YAML file with the node affinity rules. - -For information about the Helm command, see -https://helm.sh/docs/helm/helm_upgrade[Helm Upgrade^]. -//end::upgrade-helm-chart[] -//END TAG \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/_partials/task-reg-run-flex-gateway.adoc b/gateway/1.5/modules/ROOT/pages/_partials/task-reg-run-flex-gateway.adoc deleted file mode 100644 index e109fb027..000000000 --- a/gateway/1.5/modules/ROOT/pages/_partials/task-reg-run-flex-gateway.adoc +++ /dev/null @@ -1,625 +0,0 @@ -// partial for registering in connected/local modes with a username and password, connected app, or a token, in a Docker container or as a Linux service - -// tag::prerequisites-heading[] - -== Before You Begin - -Before registering Flex Gateway, you must complete the following tasks: -// end::prerequisites-heading[] -// tag::app-prerequisites[] - -* xref:access-management::connected-apps-developers.adoc#create-a-connected-app[Configure a Connected App] -** Include the following scopes: -*** Read Servers -*** Manage Servers -*** View Organization -** Save the *Id* and *Secret* of the Connected app you configure. - -// end::app-prerequisites[] -// tag::prerequisites[] - -* xref:flex-install.adoc[Install a Flex Gateway] -* Request _Manage Servers_ and _Read Servers_ permissions in Runtime Manager from your Anypoint Platform admin -* Collect the following information from your Anypoint Platform instance: -** The *Organization ID* for the organization where you want to run Flex Gateway -+ -See xref:access-management::organization.adoc#find-your-organization-id[Find your Organization ID] for more information on how to find your Organization ID. - -// end::prerequisites[] -// tag::environment-prerequisites[] - -** The *Environment ID* for the environment where you want to run Flex Gateway -+ -See xref:api-manager::latest-overview-concept.adoc#what-api-manager-looks-like[What API Manager Looks Like] -for more information on how to find your Environment ID. - -// end::environment-prerequisites[] -// tag::token-prerequisites[] - -** The registration *token* for the environment in Anypoint Platform where you want to run Flex Gateway -+ -Navigate to Runtime Manager, select *Flex Gateway* in the left navigation, and click *Add Gateway* -to generate set of instructions that includes a command block with the registration token. - -// end::token-prerequisites[] -// tag::user-prerequisites[] - -** The *Username* and *Password* of a user with _Read Servers_ and _Manage Servers_ permissions for Runtime Manager - -// end::user-prerequisites[] -// tag::app-container-heading[] -== Register and Run with a Connected App in a Container -// end::app-container-heading[] -// tag::user-container-heading[] -== Register and Run with a Username and Password in a Container -// end::user-container-heading[] -// tag::token-container-heading[] -== Register and Run with a Token in a Container -// end::token-container-heading[] -// tag::app-docker-heading[] -=== Register and Run with a Connected App in a Docker Container -// end::app-docker-heading[] -// tag::user-docker-heading[] -=== Register and Run with a Username and Password in a Docker Container -// end::user-docker-heading[] -// tag::token-docker-heading[] -=== Register and Run with a Token in a Docker Container -// end::token-docker-heading[] -// tag::app-podman-heading[] -=== Register and Run with a Connected App in a Podman Container -// end::app-podman-heading[] -// tag::user-podman-heading[] -=== Register and Run with a Username and Password in a Podman Container -// end::user-podman-heading[] -// tag::token-podman-heading[] -=== Register and Run with a Token in a Podman Container -// end::token-podman-heading[] -// tag::app-linux-heading[] -== Register and Run with a Connected App as a Linux Service -// end::app-linux-heading[] -// tag::user-linux-heading[] -== Register and Run with a Username and Password as a Linux Service -// end::user-linux-heading[] -// tag::token-linux-heading[] -== Register and Run with a Token as a Linux Service -// end::token-linux-heading[] -// tag::app-k8s-heading[] -== Register and Run with a Connected App in a Kubernetes Cluster -// end::app-k8s-heading[] -// tag::user-k8s-heading[] -== Register and Run with a Username and Password in a Kubernetes Cluster -// end::user-k8s-heading[] -// tag::token-k8s-heading[] -== Register and Run with a Token in a Kubernetes Cluster -// end::token-k8s-heading[] -// tag::app-openshift-heading[] -== Register and Run with a Connected App in an OpenShift Cluster -// end::app-openshift-heading[] -// tag::user-openshift-heading[] -== Register and Run with a Username and Password in an OpenShift Cluster -// end::user-openshift-heading[] -// tag::token-openshift-heading[] -== Register and Run with a Token in an OpenShift Cluster -// end::token-openshift-heading[] - -// tag::note-openshift-k8[] - -From the command line, OpenShift procedures match Kubernetes procedures. -// end::note-openshift-k8[] - -// logos and links to sections that _use anchors_ in install and reg/run pages -// tag::table-logos-links[] -[cols="1a,1a,1a,1a"] -|=== -|image:install-linux-logo.png[20%,20%,xref="#linux"] -|image:install-container-logo.png[25%,25%,xref="#container"] -|image:install-kubernetes-logo.png[20%,20%,xref="#kubernetes"] -|image:install-openshift-logo.png[20%,20%,xref="#openshift"] - -|<> -|<> -|<> -|<> -|=== -// end::table-logos-links[] - -// tag::table-containers-logos-heading[] -You can register and run Flex Gateway for use in one of the following containers: -// end::table-containers-logos-heading[] - -// tag::table-containers-logos-links[] -[cols="1a,1a"] -|=== -|image:install-docker-logo.png[15%,15%,xref="#docker"] -|image:install-podman-logo.png[12%,12%,xref="#podman"] - -|<> -|<> -|=== -// end::table-containers-logos-links[] - -// tag::reg-command-intro[] -To register a Flex Gateway with Anypoint Platform, you must enter the registration command and then the start command. Each command includes information specific to your Anypoint Platform instance and *must be updated before* executing. See <> for more information on how to find the information you will need. -// end::reg-command-intro[] -// -// tag::k8s-connected-intro[] - -In Connected Mode, Flex Gateway typically serves as an ingress or Edge API gateway that receives traffic from outside of the cluster. Flex Gateway can also act as a standalone gateway for internal (east-west) services. - -Most management takes place within Anypoint Platform: - -* Deploy APIs to your cluster. -* Apply policies and other configurations. -* Create resources (_with the exception_ of Configuration and Service resources). - -In Connected Mode, resource creation through `kubectl apply` is possible but restricted to the following resource types: -Configuration, Service, Extension, and PolicyBinding of types `tls`, `tls-inbound`, and `tls-outbound`. For more info about resources, see xref:flex-local-configuration-reference-guide.adoc[]. - -// end::k8s-connected-intro[] -// -// tag::k8s-local-intro[] - -In Local Mode, Flex Gateway typically acts as an ingress controller that manages external access to your cluster. Flex Gateway can also act as a standalone gateway for internal (east-west) traffic. - -When using this mode, you must know what resources to create and apply, and use `kubectl apply` to deploy Kubernetes targets and resources such as APIs, policies, or Flex Gateway-related resources to your gateway. - -Flex Gateway acts as an ingress controller when you apply an `Ingress` resource to configure gateway routing rules. You provide this configuration through a YAML file. The file supports other properties, such as `apiVersion`, `kind`, `metadata`, `spec` to configure a load balancer or proxy server, and `rules` for directing HTTP and HTTPS traffic. For more information about how Flex Gateway manages `Ingress` resources, see xref:flex-gateway-k8-ingress-class.adoc[]. - -// end::k8s-local-intro[] - -// tag::k8s-reg-command-intro[] -To register Flex Gateway with Anypoint Platform, run the Docker registration command with required options. After registering, use a Helm command to install the Helm chart for the registered gateway, and deploy the gateway to a cluster. The deployment process requires an existing cluster. See <> for more prerequisites to these procedures. -// end::k8s-reg-command-intro[] - -// tag::sub-coll-info[] - -=== Collect Your Registration Data - -Before registering your Flex Gateway instance, collect information for the following registration command options: - -// end::sub-coll-info[] -// tag::sub-coll-info-container[] - -==== Collect Your Registration Data - -Before registering your Flex Gateway instance, collect information for the following registration command options: - -// end::sub-coll-info-container[] -// tag::user-replace-content[] - -* `--username` = the username for an Anypoint Platform user with _Read Servers_ and _Manage Servers_ permissions for Runtime Manager -* `--password` = the password for an Anypoint Platform user with _Read Servers_ and _Manage Servers_ permissions for Runtime Manager -// end::user-replace-content[] -// tag::token-replace-content[] -* `--token` = the registration token for your environment in Anypoint Platform -// end::token-replace-content[] -// tag::app-replace-content[] - -* `--client-id` = the Id for the Connected App you configured in Access Management -* `--client-secret` = the Secret for the Connected App you configured in Access Management - -// end::app-replace-content[] -// tag::environment-replace-content[] - -* `--environment` = the Environment Id for the environment in Anypoint Platform where you want the Flex Gateway to run - -// end::environment-replace-content[] -// tag::replace-content[] - -* `--organization` = your Organization ID in Anypoint Platform - -* `--split` (optional) = the flag that determines whether registration information should split into multiple files. The default value is `false`. -+ -If `split` is set to `true`, registration information is split into two files: `registration.yaml` and `certificate.yaml`. If `false`, all registration information is contained in one file: `registration.yaml`. -* `--output-directory` (optional) = the directory in which registration information is output - -* `my-gateway` = the name you want to assign the gateway cluster - -// end::replace-content[] -// tag::reg-command-heading[] - -=== Register Flex Gateway - -Register your Flex Gateway instance using the data that you gathered for the command options. - -// end::reg-command-heading[] -// tag::reg-command-heading-container[] - -==== Register Flex Gateway - -Register your Flex Gateway instance using the data that you gathered for the command options. - -// end::reg-command-heading-container[] -// tag::reg-command-heading-intro[] - -You can register using one of the following container runtimes: - -// * <> -// * <> - -// end::reg-command-heading-intro[] -// tag::reg-command-openshift-heading-intro[] - -You can register using one of the following container runtimes: - -// * <> -// * <> - -// end::reg-command-openshift-heading-intro[] -// tag::docker-reg-command-heading-intro[] -// ==== Docker -Run the following command to register using Docker: - -// end::docker-reg-command-heading-intro[] -// tag::podman-reg-command-heading-intro[] -// ==== Podman -Run the following command to register using Podman: - -// end::podman-reg-command-heading-intro[] -// tag::docker-create-directory-note[] - -IMPORTANT: Create a new directory called `flex-registration` (or similar) and then run the registration command in this new directory. The command creates registration files in this location. - -// end::docker-create-directory-note[] -// tag::reg-command-1[] - -[source,ssh,subs=attributes+] ----- -# end::reg-command-1[] -# tag::docker-reg-command[] -docker run --entrypoint flexctl \ --v "$(pwd)":/registration -u $UID mulesoft/flex-gateway \ -register \ -# end::docker-reg-command[] -# tag::podman-reg-command[] -podman run --entrypoint flexctl --userns=keep-id \ --v "$(pwd)":/registration:Z -u $UID docker.io/mulesoft/flex-gateway \ -register \ -# end::podman-reg-command[] -# tag::linux-reg-command[] -flexctl register \ -# end::linux-reg-command[] -# tag::user-reg-command[] ---username= \ ---password= \ -# end::user-reg-command[] -# tag::app-reg-command[] ---client-id= \ ---client-secret= \ -# end::app-reg-command[] -# tag::environment-reg-command[] ---environment= \ -# end::environment-reg-command[] -# tag::token-reg-command[] ---token= \ -# end::token-reg-command[] -# tag::connected-reg-command[] ---connected=true \ -# end::connected-reg-command[] -# tag::organization-reg-command[] ---organization= \ -# end::organization-reg-command[] -# tag::output-reg-command-linux[] ---output-directory=/usr/local/share/mulesoft/flex-gateway/conf.d \ -# end::output-reg-command-linux[] -# tag::output-reg-command-docker[] ---output-directory=/registration \ -# end::output-reg-command-docker[] -# tag::reg-command-2[] -my-gateway ----- - -Use `sudo` if you encounter file permission issues when running this command. - -NOTE: If you are in Europe you will need to add the `--anypoint-url=https://eu1.anypoint.mulesoft.com` flag -to your command. - -// end::reg-command-2[] -// tag::after-reg[] -In the output directory, you should see the following new registration file(s): - -* `registration.yaml` -* `certificate.yaml` (generated only if the `split` registration parameter is set to `true`, otherwise certificate information will be contained in `registration.yaml`) - -IMPORTANT: These generated files are credentials for you to connect your Flex Gateway. If you lose them you -can no longer connect your Flex Gateway. -// end::after-reg[] -// tag::after-reg-2[] - -// end::after-reg-2[] -// tag::linux-after-reg[] - -// end::linux-after-reg[] -// tag::k8s-after-reg[] - -// end::k8s-after-reg[] -// tag::disconnected-after-reg[] -In Runtime Manager, click *← Flex Gateway* in the left navigation to find your gateway in the UI. Notice that your gateway's status is *Disconnected*. Refresh the page, if necessary. -// end::disconnected-after-reg[] -// tag::start-command[] - -=== Start Command - -Run the following start command in the same directory where you ran the registration command: - -[source,ssh,subs=attributes+] ----- -docker run --rm \ --v "$(pwd)":/usr/local/share/mulesoft/flex-gateway/conf.d \ --p 8080:8080 \ -mulesoft/flex-gateway ----- -NOTE: Specify an optional name you want to assign to your Flex Replica by including the following: `-e FLEX_NAME= \`. -// end::start-command[] -// tag::start-command-container[] - -==== Start Command - -Run the following start command in the same directory where you ran the registration command: - -[source,ssh,subs=attributes+] ----- -docker run --rm \ --v "$(pwd)":/usr/local/share/mulesoft/flex-gateway/conf.d \ --p 8080:8080 \ -mulesoft/flex-gateway ----- -NOTE: Specify an optional name you want to assign to your Flex Replica by including the following: `-e FLEX_NAME= \`. -// end::start-command-container[] -// tag::podman-start-command[] - -==== Start Command - -Run the following start command in the same directory where you ran the registration command: - -[source,ssh,subs=attributes+] ----- -podman run --rm \ --v "$(pwd)":/usr/local/share/mulesoft/flex-gateway/conf.d \ --p 8080:8080 \ -docker.io/mulesoft/flex-gateway ----- -NOTE: Specify an optional name you want to assign to your Flex Replica by including the following: `-e FLEX_NAME= \`. -// end::podman-start-command[] -// tag::start-command-local-intro[] - -==== Start Command - -Run the following start command in the same directory where you ran the registration command: - -// end::start-command-local-intro[] -// tag::start-command-local[] - -[source,ssh,subs=attributes+] ----- -docker run --rm \ --v "$(pwd)":/usr/local/share/mulesoft/flex-gateway/conf.d \ --p 8080:8080 \ -mulesoft/flex-gateway ----- -NOTE: Specify an optional name you want to assign to your Flex Replica by including the following: `-e FLEX_NAME= \`. - -// end::start-command-local[] -// tag::podman-start-command-local[] - -[source,ssh,subs=attributes+] ----- -podman run --rm \ --v "$(pwd)":/usr/local/share/mulesoft/flex-gateway/conf.d \ --p 8080:8080 \ -docker.io/mulesoft/flex-gateway ----- -NOTE: Specify an optional name you want to assign to your Flex Replica by including the following: `-e FLEX_NAME= \`. - -// end::podman-start-command-local[] -// tag::start-command-local-valid[] -The output logs should include this line: - -[source,ssh] ----- -[flex-gateway-envoy][info] all dependencies initialized. starting workers ----- -// end::start-command-local-valid[] -// tag::create-config-folder-file[] - -// end::create-config-folder-file[] -// tag::config-content[] - -// end::config-content[] -// tag::linux-start-commands[] - -=== Start Commands - -Start Flex Gateway with the following command: - -[source,ssh] ----- -sudo systemctl start flex-gateway ----- - -Verify that the Flex Gateway service is running successfully: - -[source,ssh] ----- -systemctl list-units flex-gateway* ----- - -If `flex-gateway.service` has a status of `active`, Flex Gateway is successfully running. - -[source,text] ----- - UNIT LOAD ACTIVE SUB DESCRIPTION - flex-gateway.service loaded active running Application ----- - -// end::linux-start-commands[] -// tag::k8s-install-flex-helm-chart-title[] - -=== Install Helm Chart into the Namespace - -// end::k8s-install-flex-helm-chart-title[] -// tag::k8s-install-flex-helm-chart-intro-connected[] - -Register Flex Gateway, and then use Helm to deploy Flex Gateway to a node in your cluster and connect to Anypoint Platform. After deploying, use Runtime Manager to verify that the gateway is present and connected to Anypoint Platform. - -// end::k8s-install-flex-helm-chart-intro-connected[] -// tag::k8s-install-flex-helm-chart-intro-local[] - -Register Flex Gateway, and then use Helm to deploy Flex Gateway to a node in your cluster. -// end::k8s-install-flex-helm-chart-intro-local[] -// -// tag::k8s-flex-helm-chart[] -A Helm chart installs Flex Gateway, monitoring tools, and applications. -// end::k8s-flex-helm-chart[] -// -// tag::k8s-flex-helm-chart-add[] - -. Add a Helm repository named `flex-gateway` for your chart: -+ -[source,helm] ----- -helm repo add flex-gateway https://flex-packages.anypoint.mulesoft.com/helm ----- -+ -The command either adds the repository or skips this process if a Helm repository with that name already exists on your machine: -+ -* If the repository is new, the command returns the following message: -+ ----- -"flex-gateway" has been added to your repositories ----- -+ -* If the repository already exists, the command returns the following message: -+ ----- -"flex-gateway" already exists with the same configuration, skipping ----- - -. Run `helm repo up`. -+ -The command returns the following message: -+ ----- -Hang tight while we grab the latest from your chart repositories... -...Successfully got an update from the "flex-gateway" chart repository -Update Complete. ⎈Happy Helming!⎈ ----- -+ -If you have more than one Helm repository on your machine, the message in your terminal window lists all of the repositories. -// end::k8s-flex-helm-chart-add[] -// tag::k8s-flex-helm-chart-deploy[] -// PLEASE retain blank line before first step below - -. Run the Helm command for deploying your gateway in {reg-mode} Mode: -+ -[source,helm] ----- -helm -n gateway upgrade -i --create-namespace \ ---wait ingress flex-gateway/flex-gateway \ ---set gateway.mode=connected \ ---set-file registration.content=registration.yaml ----- -+ -This command creates the `gateway` namespace and a release named `ingress` if they do not exist. You can use names of your choice for your namespace and release. The command syntax for the Helm repository and chart names is `/`. -+ -The command uses `--set gateway.mode=connected` because the default for the Helm chart is Local Mode. -+ -When you install Flex Gateway, a Service type `LoadBalancer` is created by default. You must have the appropriate permissions to create a load balancer in your cloud. If the load balancer is not provisioned or has issues with the provisioning process, you must choose another type by changing the `service.type` property during the installation. -+ -When successful, the command prints a message indicating an upgrade to your `ingress` release: -+ ----- -Release "ingress" does not exist. Installing it now. -NAME: ingress -LAST DEPLOYED: Mon Mar 20 21:36:19 2023 -NAMESPACE: gateway -STATUS: deployed -REVISION: 1 -TEST SUITE: None ----- -+ -The `REVISION` value increments the `ingress` release by `1` each time you run this command with the same namespace, repository, and chart names. For example, if you run the command a second time, you find a new revision number (`REVISION: 2`). The `LAST DEPLOYED` date reflects the date of that revision. -// do not add an empty new line here at end, please -// end::k8s-flex-helm-chart-deploy[] -// tag::k8s-flex-helm-chart-deploy-local[] -// PLEASE retain blank line before first step below - -. Run the Helm command for deploying your gateway in {reg-mode} Mode: -+ -[source,helm] ----- -helm -n gateway upgrade -i --create-namespace \ ---wait ingress flex-gateway/flex-gateway \ ---set-file registration.content=registration.yaml ----- -+ -This command creates the `gateway` namespace and a release named `ingress` if they do not exist. You can use names of your choice for your namespace and release. The command syntax for the Helm repository and chart names is `/`. -+ -When you install Flex Gateway, a Service type `LoadBalancer` is created by default. You must have the appropriate permissions to create a load balancer in your cloud. If the load balancer is not provisioned or has issues with the provisioning process, you must choose another type by changing the `service.type` property during the installation. -+ -When successful, the command prints a message indicating an upgrade to your `ingress` release: -+ ----- -Release "ingress" does not exist. Installing it now. -NAME: ingress -LAST DEPLOYED: Mon Mar 20 21:36:19 2023 -NAMESPACE: gateway -STATUS: deployed -REVISION: 1 -TEST SUITE: None ----- -+ -The `REVISION` value increments the `ingress` release by `1` each time you run this command with the same namespace, repository, and chart names. For example, if you run the command a second time, you find a new revision number (`REVISION: 2`). The `LAST DEPLOYED` date reflects the date of that revision. -// do not add an empty new line here at end, please -// end::k8s-flex-helm-chart-deploy-local[] -// tag::gateway-connected[] - -In Runtime Manager, click *← Flex Gateway* in the left navigation to find your new gateway in the UI. Notice that your gateway's current status is *Connected*. Refresh the page, if necessary. - -NOTE: After 30 days, a stopped or deleted gateway is removed from the Runtime Manager UI. Otherwise, the UI continues to list the gateway even if it is no longer running or connected. -// end::gateway-connected[] -// tag::helm-chart-options[] - -=== Helm Chart Settings - -To modify the default Helm settings with new values, such as `resource` values for CPU and memory settings, see xref:flex-gateway-k8-change-helm-settings.adoc[]. For additional Helm chart configurations, see xref:flex-gateway-k8-management.adoc[]. - -Before modifying a Helm chart for a Flex Gateway deployment, review the default Helm chart settings: - -* Open the *flex-gateway* page in https://artifacthub.io/packages/helm/flex-gateway/flex-gateway[ArtifactHUB^] -* Run `helm show values /` from a terminal window. -+ -.Example: -[source,kubernetes] ----- -helm show values flex-gateway/flex-gateway ----- -+ -The example returns _default_ values of a repository and chart with the same name. - -To view the Helm chart `README`, run `helm show readme /` from a terminal window. - -.Example: -[source,kubernetes] ----- -helm show readme flex-gateway/flex-gateway ----- - -// end::helm-chart-options[] - -// tag::links-to-openshift-reg-steps[] -Complete the following steps: - -. <> -. <> -. <> -// end::links-to-openshift-reg-steps[] -// -// tag::links-to-k8s-reg-steps[] - -Complete the following steps: - -. <> -. <> -. <> -// end::links-to-k8s-reg-steps[] diff --git a/gateway/1.5/modules/ROOT/pages/_partials/task-rep-run-flex-gateway.adoc b/gateway/1.5/modules/ROOT/pages/_partials/task-rep-run-flex-gateway.adoc deleted file mode 100644 index 632fd5554..000000000 --- a/gateway/1.5/modules/ROOT/pages/_partials/task-rep-run-flex-gateway.adoc +++ /dev/null @@ -1,42 +0,0 @@ -//tag::add-flex-intro[] -== Flex Replicas - -A Flex Replica is an instance of Flex Gateway. Setting up your gateway layer with multiple Flex Gateway replicas enables the APIs deployed on Flex Gateway to serve more traffic. - -When using Flex Gateway to manage APIs in production, configure more than one Flex Replica to avoid a single point of failure. Running multiple Flex Replicas also increases performance if your API service receives a significant amount of traffic. -//end::add-flex-intro[] - -//tag::add-flex-rep-byb[] -== Before You Begin - -Before getting started, ensure you have completed the following tasks: - -* xref:flex-install.adoc[Install a Flex Gateway] -//end::add-flex-rep-byb[] -//tag::add-flex-rep-byb-conn[] -* xref:flex-conn-reg-run.adoc[Register and Run in Connected Mode] -//end::add-flex-rep-byb-conn[] -//tag::add-flex-rep-byb-local[] -* xref:flex-local-reg-run.adoc[Register and Run in Local Mode] -//end::add-flex-rep-byb-local[] -//tag::add-flex-rep1[] - -== Add a Flex Replica as a Linux Service - -Adding a Flex Replica as a Linux Service includes the following tasks: - -* Copy and paste the registration file created during registration to your Linux machine or VM. -* Run the Flex Gateway start command. - -=== Copy the Registration File - -Copy the `registration.yaml` file to the following location on your Linux machine or VM: - -* `/usr/local/share/mulesoft/flex-gateway/conf.d` - -//end::add-flex-rep1[] -//tag::add-flex-rep2[] - -Now if you check in Runtime Manager after clicking *Flex Gateway* in the left navigation, your Flex Gateway will have an additional replica listed. You may need to refresh the page. - -//end::add-flex-rep2[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/_partials/task-shared-storage-config.adoc b/gateway/1.5/modules/ROOT/pages/_partials/task-shared-storage-config.adoc deleted file mode 100644 index 7d84c94a2..000000000 --- a/gateway/1.5/modules/ROOT/pages/_partials/task-shared-storage-config.adoc +++ /dev/null @@ -1,180 +0,0 @@ -//tag::intro1[] -Anypoint Flex Gateway enables you to configure shared storage for distributed caching and rate limiting policies. - -Production workflows should use https://redis.io/[Redis^], though defining it is optional. If Redis is not defined, shared storage services at port 4000 are still available but use an in-memory implementation. - -//end::intro1[] -//tag::intro2[] -You configure shared storage via a custom YAML file. - -The following steps demonstrate Redis-based storage support for Flex Gateway running in a Docker container, as a Linux Service, -or as a Kubernetes cluster. -//end::intro2[] -//tag::icon-table[] - -[cols="1a,1a,1a"] -|=== -|image:install-linux-logo.png[20%,20%,xref="#linux"] -|image:install-docker-logo.png[25%,25%,xref="#docker"] -|image:install-kubernetes-logo.png[20%,20%,xref="#kubernetes"] - -|<> -|<> -|<> -|=== - -//end::icon-table[] -//tag::byb[] - -== Before You Begin - -Before configuring shared storage for Flex Gateway, complete the following tasks: - -. xref:flex-install.adoc[Download Flex Gateway] -. xref:flex-{page-mode}-reg-run.adoc[Register and Run Flex Gateway] - -//end::byb[] -//tag::linux[] - -[[linux]] -== Configure Shared Storage for Flex Gateway as a Linux Service - -. Create a folder in the `/etc/mulesoft/flex-gateway/conf.d` directory and name it `custom`: -+ -[source,ssh] ----- -sudo mkdir /etc/mulesoft/flex-gateway/conf.d/custom ----- - -. Create a YAML configuration file in the `custom` folder: -+ -[source,ssh] ----- -sudo touch /etc/mulesoft/flex-gateway/conf.d/custom/shared-storage-config.yaml ----- - -. Update the file with your Redis storage configuration details. For example: -+ -[source,ssh] ----- -sudo vi /etc/mulesoft/flex-gateway/conf.d/custom/shared-storage-config.yaml ----- -+ -//end::linux[] -//tag::docker-intro[] - -[[docker]] -== Configure Shared Storage for Flex Gateway in a Docker Container - -NOTE: If you have already added a volume for a folder with your -Flex Gateway configuration files, skip to the last step. - -. Stop your Flex Gateway and any replicas. -. Create a folder named `app` in the directory with your Flex Gateway configuration files. -. Restart your Flex Gateway with an additional volume for the new `app` directory: -//end::docker-intro[] - -//tag::docker-config-file-step[] -. Create and save a YAML configuration file in your `app` folder with your shared storage details. -+ -//end::docker-config-file-step[] -//tag::k8s[] - -[[kubernetes]] -== Configure Shared Storage for Flex Gateway in a Kubernetes Cluster - -To configure shared storage for Flex Gateway, create a new resource using -a YAML configuration file with your storage details. - -//end::k8s[] -//tag::sample-config-all-intro[] -Sample configuration for adding Redis-based shared storage: -//end::sample-config-all-intro[] -//tag::sample-config-all[] -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Configuration -metadata: - name: shared-storage-redis -spec: - sharedStorage: - redis: - address: redis.e-commerce.svc:6379 - username: ecomm-user - password: ecomm-pwd-123 - DB: 7 ----- -//end::sample-config-all[] - -//tag::tls-intro[] -== Configure TLS for Redis-Based Shared Storage - -You can use Redis with TLS to ensure data security between Flex Gateway and the Redis instance. Configuring TLS enables you to protect sensitive data, prevent unauthorized access, and maintain the reliability of your services. Additionally, configuring TLS helps organizations meet compliance requirements and build trust with users. - -Configure TLS for Redis-based shared storage using the steps described in the previous sections. - -Sample configuration for adding Redis-based shared storage with TLS: -//end::tls-intro[] - -//tag::tls-sample-config[] -[source, yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Configuration -metadata: - name: shared-storage-redis -spec: - sharedStorage: - redis: - address: internal.redis.com:6379 - tls: - skipValidation: false - minVersion: "1.1" - maxVersion: "1.3" - alpn: - - h2 - - http/1.1 - ciphers: - - TLS_AES_128_GCM_SHA256 - - TLS_AES_256_GCM_SHA384 - - TLS_CHACHA20_POLY1305_SHA256 - - TLS_RSA_WITH_3DES_EDE_CBC_SHA - - TLS_RSA_WITH_AES_128_CBC_SHA - - TLS_RSA_WITH_AES_256_CBC_SHA - - TLS_RSA_WITH_AES_128_CBC_SHA256 - - TLS_RSA_WITH_AES_128_GCM_SHA256 - - TLS_RSA_WITH_AES_256_GCM_SHA384 - - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA - - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA - - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 - - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 - - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 - - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 - - TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 - trustedCA: | - -----BEGIN CERTIFICATE----- - ... - -----END CERTIFICATE----- - - certificate: - keyPassphrase: "****" - key: | - -----BEGIN RSA PRIVATE KEY----- - ... - -----END RSA PRIVATE KEY----- - - crt: | - -----BEGIN CERTIFICATE----- - ... - -----END CERTIFICATE----- - ----- -//end::tls-sample-config[] - -//tag::tls-more-information[] -For information about configuration parameters, see the xref:flex-local-configuration-reference-guide.adoc#shared-storage[Declarative Configuration Reference (Shared Storage)]. -//end::tls-more-information[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/_partials/task-tls-config.adoc b/gateway/1.5/modules/ROOT/pages/_partials/task-tls-config.adoc deleted file mode 100644 index 37c6c4d1b..000000000 --- a/gateway/1.5/modules/ROOT/pages/_partials/task-tls-config.adoc +++ /dev/null @@ -1,412 +0,0 @@ -//tag::intro1[] -Using encryption, Transport Layer Security (TLS) policies protect communication between clients, API instances, and upstream services. To use TLS when creating an API instance using Flex Gateway in Local Mode as your runtime, you must configure the TLS context in a `PolicyBinding` YAML configuration file. - -When you add a TLS context, you can also select the ciphers to use with the TLS context and configure different inbound and outbound validation settings. - -//end::intro1[] - -//tag::intro2[] -Flex Gateway supports the following: - -* Regular TLS between a client and the API instance (HTTPS), referred to as inbound TLS -* Regular TLS between an API instance and an upstream service, referred to as outbound TLS -* Mutual authentication TLS (mTLS) in both the inbound and outbound direction - -//end::intro2[] - -//tag::intro3[] -The following tutorials demonstrate how to apply a configured `PolicyBinding` resource. For how to configure the resource, see the policy configuration pages: - -* xref:policies-included-tls.adoc[Transport Layer Security Policy - Inbound] -* xref:policies-included-tls-outbound.adoc[Transport Layer Security Policy - Outbound] - -//end::intro3[] - -//tag::resources[] -For inbound TLS, you bind the policy resource to the API instance. For outbound TLS, you bind the policy resource to the upstream service. - -//end::resources[] - -//tag::port-sharing-inbound[] -Flex Gateway implements port-level inbound TLS, meaning if you apply an inbound TLS to an API instance that shares a port with other instances, the same inbound TLS context is applied to all instances sharing the port. Flex Gateway supports multiple TLS certificates on a single gateway, but you must apply the certificates to unique ports. If you apply inbound TLS to one API instance, you do not need to apply the same inbound TLS context to instances that share that port. Consequently, you cannot apply different inbound TLS contexts to API instances that share the same port. - -Port sharing is not a concern for outbound TLS. You can apply an outbound TLS context for each individual upstream service. - -//end::port-sharing-inbound[] - -//tag::outboundAllInstances[] -Unlike inbound TLS, it is not suggested to apply the same outbound TLS context to all API instances in your Flex Gateway because your API upstream services might come from different providers. Therefore, no configuration example for outbound TLS on all instances is provided. - -Port sharing is not a concern for outbound TLS. You can apply an outbound TLS context for each individual upstream service. - -//end::outboundAllInstances[] - -//tag::intro4[] -You can configure the TLS context for a Flex Gateway running in a Docker container, as a Linux Service, -or in a Kubernetes cluster. - -//end::intro4[] - -//tag::icon-table[] - -[cols="1a,1a,1a"] -|=== -|image:install-linux-logo.png[20%,20%,xref="flex-{page-mode}-tls-config.adoc#linux"] -|image:install-docker-logo.png[25%,25%,xref="flex-{page-mode}-tls-config.adoc#docker"] -|image:install-kubernetes-logo.png[20%,20%,xref="flex-{page-mode}-tls-config.adoc#kubernetes"] - -|xref:flex-{page-mode}-tls-config.adoc#linux[Configure TLS Context for Flex Gateway as a Linux Service] -|xref:flex-{page-mode}-tls-config.adoc#docker[Configure TLS Context for Flex Gateway in a Docker Container] -|xref:flex-{page-mode}-tls-config.adoc#kubernetes[Configure TLS Context for Flex Gateway in a Kubernetes Cluster] -|=== - -//end::icon-table[] -//tag::byb[] - -== Before You Begin - -Before configuring the TLS context for a Flex Gateway, you must complete the following tasks: - -* xref:flex-install.adoc[Download Flex Gateway] -* xref:flex-{page-mode}-reg-run.adoc[Register and Run Flex Gateway] - -//end::byb[] -//tag::linux[] - -[[linux]] -== Configure TLS Context for Flex Gateway as a Linux Service - -. Create a YAML configuration file in the Flex Gateway configuration directory: -+ -[source,ssh] ----- -sudo touch /usr/local/share/mulesoft/flex-gateway/conf.d/tls-config.yaml ----- - -. Update the file with your TLS context configuration details. For example: -+ -[source,ssh] ----- -sudo vi /usr/local/share/mulesoft/flex-gateway/conf.d/tls-config.yaml ----- -+ -The following configuration file only applies inbound TLS to one API instance. For all configuration file options, such as mTLS and outbound TLS, see: -+ -* xref:policies-included-tls.adoc[Transport Layer Security Policy - Inbound] -* xref:policies-included-tls-outbound.adoc[Transport Layer Security Policy - Outbound] -+ -//end::linux[] -//tag::docker-intro[] - -[[docker]] -== Configure TLS Context for Flex Gateway in a Docker Container - -NOTE: If you have already added volume for a folder with your -Flex Gateway configuration files, skip to the last step. - -. Press Ctrl+C to stop your Flex Gateway and any replicas. -. Create a folder named `app` in the directory with your Flex Gateway configuration files. -. Restart your Flex Gateway with an additional volume for the new `app` directory: -//end::docker-intro[] - -//tag::docker-config-file-step[] -. Create and save a YAML configuration file in your `app` folder with your TLS context details. -+ -The following configuration file only applies inbound TLS to one API instance. For all configuration file options, such as mTLS and outbound TLS, see: -+ -* xref:policies-included-tls.adoc[Transport Layer Security Policy - Inbound] -* xref:policies-included-tls-outbound.adoc[Transport Layer Security Policy - Outbound] -//end::docker-config-file-step[] - -//tag::k8s-intro[] - -[[kubernetes]] -== Configure TLS Context for Flex Gateway in a Kubernetes Cluster - -To configure the TLS context for Flex Gateway, create a new resource using -a YAML configuration file with your TLS context details. - -The following configuration file only applies inbound TLS to one API instance. For all configuration file options, such as mTLS and outbound TLS, see: - -* xref:policies-included-tls.adoc[Transport Layer Security Policy - Inbound] -* xref:policies-included-tls-outbound.adoc[Transport Layer Security Policy - Outbound] - -//end::k8s-intro[] - -//tag::sample-config-all-intro[] -*Sample configuration for adding inbound TLS context for all API instances running on this Flex Gateway:* -//end::sample-config-all-intro[] -//tag::sample-config-all[] -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: ingress-https-tls -spec: - targetRef: - kind: Selector - selector: - kind: ApiInstance - policyRef: - name: tls - config: - certificate: - key: | - # -----BEGIN PRIVATE KEY----- - # insert certificate key - # -----END PRIVATE KEY----- - crt: | - # -----BEGIN CERTIFICATE----- - # insert certificate - # -----END CERTIFICATE----- - alpn: - - http/1.1 - - h2 - minversion: "1.1" - maxversion: "1.3" - ciphers: - - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 - - TLS_CHACHA20_POLY1305_SHA256 - - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 - - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA - - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - - TLS_RSA_WITH_AES_128_GCM_SHA256 - - TLS_RSA_WITH_AES_128_CBC_SHA - - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 - - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 - - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA - - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - - TLS_RSA_WITH_AES_256_GCM_SHA384 - - TLS_RSA_WITH_AES_256_CBC_SHA ----- -//end::sample-config-all[] -//tag::sample-config-instance-intro[] -*Sample configuration for adding inbound TLS context for a specific API instance:* -//end::sample-config-instance-intro[] -//tag::sample-config-instance[] -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: ingress-https-tls -spec: - targetRef: - kind: ApiInstance - name: ingress-https - policyRef: - name: tls - config: - certificate: - key: | - # -----BEGIN PRIVATE KEY----- - # insert certificate key - # -----END PRIVATE KEY----- - crt: | - # -----BEGIN CERTIFICATE----- - # insert certificate - # -----END CERTIFICATE----- - alpn: - - http/1.1 - - h2 - minversion: "1.1" - maxversion: "1.3" - ciphers: - - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 - - TLS_CHACHA20_POLY1305_SHA256 - - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 - - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA - - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - - TLS_RSA_WITH_AES_128_GCM_SHA256 - - TLS_RSA_WITH_AES_128_CBC_SHA - - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 - - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 - - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA - - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - - TLS_RSA_WITH_AES_256_GCM_SHA384 - - TLS_RSA_WITH_AES_256_CBC_SHA ----- -//end::sample-config-instance[] - -//tag::sample-config-mtls-intro[] -*Sample configuration for adding an inbound mTLS context for a specific API instance:* -//end::sample-config-mtls-intro[] -//tag::sample-config-mtls[] -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: mtls -spec: - targetRef: - name: ingress-https - policyRef: - name: tls - config: - requireClientCertificate: true - trustedCA: | - # -----BEGIN CERTIFICATE----- - # insert certificate - # -----END CERTIFICATE----- - certificate: - key: | - # -----BEGIN RSA PRIVATE KEY----- - # insert private key - # -----END RSA PRIVATE KEY----- - crt: | - # -----BEGIN CERTIFICATE----- - # insert certificate - # -----END CERTIFICATE----- ----- - -This example uses the default values for `alpn`, `minversion`, `maxversion`, and `ciphers`. -//end::sample-config-mtls[] - - -//tag::sample-config-outbound-instance-intro[] -*Sample configuration for adding outbound TLS context for a specific upstream service:* -//end::sample-config-outbound-instance-intro[] -//tag::sample-config-outbound-instance[] -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: tls-outbound -spec: - targetRef: - name: ingress-test-outbound-upstream - policyRef: - name: tls-outbound - config: - skipValidation: true - certificate: - key: | - # -----BEGIN PRIVATE KEY----- - # insert certificate key - # -----END PRIVATE KEY----- - crt: | - # -----BEGIN CERTIFICATE----- - # insert certificate - # -----END CERTIFICATE----- ----- - -This example uses the default values for `alpn`, `minversion`, `maxversion`, and `ciphers`. -//end::sample-config-outbound-instance[] - -//tag::sample-config-mtls-outbound-intro[] -*Sample configuration for adding outbound mTLS context for a specific upstream service:* -//end::sample-config-mtls-outbound-intro[] -//tag::sample-config-mtls-outbound[] -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: mtls-outbound -spec: - targetRef: - name: ingress-test-outbound-upstream - policyRef: - name: tls-outbound - config: - skipValidation: false - trustedCA: | - # -----BEGIN CERTIFICATE----- - # insert certificate - # -----END CERTIFICATE----- - certificate: - key: | - # -----BEGIN PRIVATE KEY----- - # insert certificate key - # -----END PRIVATE KEY----- - crt: | - # -----BEGIN CERTIFICATE----- - # insert certificate - # -----END CERTIFICATE----- - alpn: - - http/1.1 - - h2 - minversion: "1.1" - maxversion: "1.3" - ciphers: - - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 - - TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 - - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 - - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 - - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 ----- -//end::sample-config-mtls-outbound[] - -//tag::verify-config[] -. Verify that the policy was correctly applied. -+ -The following example `curl` command tests an HTTPS endpoint with a certificate that matches the certificate specified in the policy binding configuration resource. -+ -[source,ssh] ----- -curl https://:/get --cacert -v ----- -+ -The command should return information on the TLS handshake, as well as an HTTP status of `200` for the endpoint: -+ ----- -* TLSv1.3 (OUT), TLS handshake, Client hello (1): -* TLSv1.3 (IN), TLS handshake, Server hello (2): -* TLSv1.2 (IN), TLS handshake, Certificate (11): -* TLSv1.2 (IN), TLS handshake, Server key exchange (12): -* TLSv1.2 (IN), TLS handshake, Server finished (14): -* TLSv1.2 (OUT), TLS handshake, Client key exchange (16): -* TLSv1.2 (OUT), TLS change cipher, Client hello (1): -* TLSv1.2 (OUT), TLS handshake, Finished (20): -* SSL connection using TLSv1.2 / ECDHE-RSA-CHACHA20-POLY1305 -* ALPN, server did not agree to a protocol -... -> HTTP/1.1 200 OK ----- -+ -For inbound mTLS, the following example `curl` command requests an API proxy whose basepath is `/`. -+ -[source,ssh] ----- -curl https://:/get \ ---cert \ ---key \ ---cacert \ ---resolve ::127.0.0.1 -v ----- -+ -[NOTE] -==== -The configuration `key` and `crt` values must be correctly indented, otherwise `curl` returns the following error when attempting to test the endpoint: ----- -curl: (35) error:1408F10B:SSL routines:ssl3_get_record:wrong version number ----- -==== -//end::verify-config[] - -//tag::config-ref[] -See xref:policies-included-tls.adoc[] for more information about inbound TLS context configuration options. See xref:policies-included-tls-outbound.adoc[] for more information about outbound TLS context configuration options. - -[NOTE] -==== -Flex Gateway supports multiple TLS certificates on a single gateway, but the certificates need to be applied on unique ports. -==== - -[NOTE] -==== -Policy ordering cannot be applied to the Transport Layer Security policies. -==== -//end::config-ref[] - -//tag::openssl-standards[] -[NOTE] -==== -To comply with security standards, all certificates must be 2048 bits or longer. -==== -//end::openssl-standards[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/_partials/troubleshoot.adoc b/gateway/1.5/modules/ROOT/pages/_partials/troubleshoot.adoc deleted file mode 100644 index 22349ed3e..000000000 --- a/gateway/1.5/modules/ROOT/pages/_partials/troubleshoot.adoc +++ /dev/null @@ -1,173 +0,0 @@ -//Tags are used and shared in these file: -// * flex-gateway-k8-getting-started.adoc -// * flex-troubleshoot-docker.adoc -// * flex-troubleshoot-helm.adoc -// -// -//DOCKER -//tag::troubleshoot-docker-intro[] - -Troubleshoot errors returned by a `docker` command: - -* <> -* <> - -//end::troubleshoot-docker-intro[] -// -// -//tag::troubleshoot-docker-daemon-bad-response[] - -If Docker is not started, a `docker` command returns an error message similar to the following ones: - -* {empty} -+ ----- -Error response from daemon: Bad response from Docker engine ----- - -* {empty} -+ ----- -ERROR: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. - Is the docker daemon running? ----- - -If you get this error, start Docker. - -//end::troubleshoot-docker-daemon-bad-response[] -// -// -//tag::troubleshoot-docker-bad-request[] - -The following error can occur when you use `docker run` to register your gateway: - ----- -[flexctl][error] reg facade call returned error response: -HTTP/1.1 400 Bad Request ----- - -The reason for this error is available within the error message. Common causes include: - -[[name-already-exists]] -* `an active target with the same name already exists in this organization and environment` -+ -To avoid this issue, provide a _unique name_ for your gateway when running the registration command. Note that you _cannot reuse the same name_ even if a previous registration with that name was successful. When this error occurs, the command generates an _empty_ `registration.yaml`, which prevents re-registration _and_ produces an error when you try to use the file when deploying the gateway to your cluster. -+ -[[no-token]] -* `no valid registration token was found` -+ -To avoid this issue, generate a new token for the command by refreshing the *Add a Flex Gateway* page for Kubernetes and rerun the registration command. - -//end::troubleshoot-docker-bad-request[] -// -// -// -//HELM (for k8 & openshift) -//tag::troubleshoot-helm-intro[] - -Troubleshoot errors returned by a `helm` command for Kubernetes and OpenShift clusters: - -* <> -* <> -* <> -* <> - -//end::troubleshoot-helm-intro[] -// -//tag::troubleshoot-helm-yaml-empty[] - -[[yaml-empty]] -If the `registration.yaml` file is invalid when you pass it to the Helm command during deployment of Flex Gateway, the following error results: - ----- -Error: UPGRADE FAILED: execution error at (flex-gateway/templates/deployment.yaml:4:10): -registerSecretName, registration.content or registration.secretName is required! ----- - -When this error occurs, make sure that the `registration.yaml` file is not empty. If the file is empty, reregister your gateway with a new, unique name to generate a new `registration.yaml` and rerun the procedures that follow the registration step. See xref:flex-gateway-k8-getting-started.adoc#register-flex[Register Flex Gateway] for an example of the registration command. - -//end::troubleshoot-helm-yaml-empty[] -// -// -//tag::troubleshoot-helm-cluster-unreachable[] - -[[cluster-unreachable]] -If your Kubernetes cluster is not running when you attempt to deploy Flex Gateway using `helm`, the following error might occur: - ----- -Error: Kubernetes cluster unreachable: -the server could not find the requested resource ----- - -Start the service that runs your cluster. - -Check that your Kubernetes cluster host is running your cluster, for example: - -[source,kubectl] ----- -kubectl cluster-info ----- - -* If the cluster is running, the command returns a result similar to this one: -+ ----- -Kubernetes control plane is running at https://34.30.50.119 -GLBCDefaultBackend is running at https://34.30.50.119/api/v1/namespaces/kube-system/services/default-http-backend:http/proxy -KubeDNS is running at https://34.30.50.119/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy -Metrics-server is running at https://34.30.50.119/api/v1/namespaces/kube-system/services/https:metrics-server:/proxy ----- - -* If the cluster is not up, the command can return a result similar to this one: -+ ----- -To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'. -error: the server doesn't have a resource type "services" ----- - -//end::troubleshoot-helm-cluster-unreachable[] -// -// -//tag::troubleshoot-helm-upgrade-failed[] - -[[upgrade-failed]] -Some issues can cause the Helm upgrade command to hang for up to 5 minutes (due to the `--wait` flag in the command) before producing the following timeout error: - ----- -Error: UPGRADE FAILED: timed out waiting for the condition ----- - -This error typically means that your cluster configuration is incorrect or that your cluster configuration tool does not support this process. One potential cause is the failure to generate a `Service` resource of the `LoadBalancer` type. You can troubleshoot further by running the following commands: - -* {empty} -+ -[source,kubectl] ----- -kubectl -n gateway describe deployment ----- - -* {empty} -+ -[source,kubectl] ----- -kubectl -n gateway describe service ----- - -//end::troubleshoot-helm-upgrade-failed[] -// -// -//tag::troubleshoot-helm-openshift-rbac[] - -//cluster-level access when rbac enabled, as for OpenShift -[[rbac-openshift]] -include::partial$prerequisites.adoc[tags=rbac-permission-k8;rbac-role-openshift] - -Without the required access, you receive an error similar to the following one: - ----- -Error: failed to install CRD crds/apiinstance.yaml: -customresourcedefinitions.apiextensions.k8s.io is forbidden: -User "user1" cannot create resource "customresourcedefinitions" -in API group "apiextensions.k8s.io" at the cluster scope ----- - -//end::troubleshoot-helm-openshift-rbac[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-architecture-basic-deployments.adoc b/gateway/1.5/modules/ROOT/pages/flex-architecture-basic-deployments.adoc deleted file mode 100644 index 9bd2460e4..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-architecture-basic-deployments.adoc +++ /dev/null @@ -1,85 +0,0 @@ -= Flex Gateway Deployment Models -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Flex Gateway supports multiple deployment models, which apply to both Connected Mode and Local Mode: - -* <> -* <> -* <> -* <> - -You can extend the deployment models in this overview to all technological stacks that have the appropriate network controls applied. For more information about routing configuration modes, see <>. - -All the following diagrams show Flex Gateway running in Connected Mode. For Flex Gateway running in Local Mode, the only difference is that Anypoint Platform would not be present in the deployment model. This does not affect how information flows between Flex Gateway and the upstream and downstream services. - -== Standalone Deployment - -In a standalone deployment, Flex Gateway acts as a standalone service that protects one or more integration API flows by managing internal traffic. - -As the following diagram shows, all traffic is inside an organization-owned network. The traffic passes through Flex Gateway before reaching the consumer APIs. - -image:ad-standalone-deployment.png["In a standalone deployment, Flex Gateway and the consumer applications are in the same network."] - -== Ingress Deployment - -Similar to standalone deployment, in an ingress deployment, Flex Gateway acts as a standalone service that protects one or more integration API flows. However, in an ingress deployment, Flex Gateway manages external traffic entering the internal network. Ingress deployment is the most common deployment model. - -Flex Gateway can act as both an ingress and an egress gateway. - -As the following diagram shows, all external traffic passes through Flex Gateway before reaching the consumer APIs. Flex Gateway is typically deployed behind a load balancer, and the consumer application does not belong to the same network as Flex Gateway or the APIs. - -image:ad-ingress-deployment.png["In an ingress deployment, Flex Gateway and the consumer applications are in different networks."] - - -NOTE: Ingress deployment is not the same as a Kubernetes Ingress controller or Ingress `Resource`. For more information about routing configuration, see <>. - -== Egress Deployment - -An egress deployment is the opposite deployment model of an ingress deployment. Flex Gateway still acts as a standalone service that protects one or more integration API flows. However, in an egress deployment, Flex Gateway manages internal traffic exiting the internal network, for example, API requests to non-organization-owned APIs. - -Flex Gateway can act as both an ingress and an egress gateway. - -As the following diagram shows, all internal traffic from the consumer application passes through Flex Gateway before reaching the external APIs. - -image:ad-egress-deployment.png[] - -== Sidecar Deployment -In a sidecar deployment, each Flex Gateway deployment only protects the APIs exposed by its protected service. A new Flex Gateway replica is added with each new protected service. - -As the following diagram shows, traffic in a sidecar deployment passes through Flex Gateway to the respective consumer API. The consumer application can belong to the same network as Flex Gateway or an external network. - -image:ad-sidecar-deployment.png["In a sidecar deployment, Flex Gateway and the consumer application are in the same Kubernetes pod."] - -== Routing Configuration Methods - -There are different routing configuration methods dependent on what mode Flex Gateway is running in or what technological stack Flex Gateway is deployed on. - -How connections between Flex Gateway and services are configured is independent of the deployment model. - -=== Control Plane - -In control plane routing configuration, Flex Gateway and service connections are configured in a remote control plane. For Flex Gateway, the control plane is Anypoint Platfrom. Control plane configuration is only available in Flex Gateway Connected Mode. - -=== Custom Resource Definitions (CRDs) - -In custom resource definitions (CRDs) routing configuration, Flex Gateway and service connections are configured in custom resource yaml files. - -For Flex Gateway, the CRDs are `APIinstance`, `Service`, `PolicyBinding`, and `Configuration` and are defined in the xref:flex-local-configuration-reference-guide.adoc[]. - -In Flex Gateway CRDs define connections in Local Mode but are also necessary for some connections in Connected Mode. - -=== Kubernetes Ingress Resource - -Flex Gateways running in Local Mode and deployed on Kubernetes can use Kubernetes `Ingress` resources to define connection routing. When routing is defined via `Ingress` resources, Flex Gateway acts as an Ingress Controller. `Ingress` resources are only avaliable in Kubernetes Local Mode. - -You can use `Ingress` resources and CRDs simultaneously. - -For more information about how to configure Flex Gateway as an Ingress Controller, see xref:flex-gateway-k8-ingress-class.adoc[]. - -== See Also - -* xref:flex-architecture-uc-overview.adoc[] -* xref:flex-architecture-shared-storage.adoc[] diff --git a/gateway/1.5/modules/ROOT/pages/flex-architecture-overview.adoc b/gateway/1.5/modules/ROOT/pages/flex-architecture-overview.adoc deleted file mode 100644 index aab33760e..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-architecture-overview.adoc +++ /dev/null @@ -1,15 +0,0 @@ -= Flex Gateway Reference Architecture -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -The following architecture diagrams explain Flex Gateway concepts and deployments: - -* xref:flex-architecture-basic-deployments.adoc[] -* xref:flex-architecture-uc-overview.adoc[] -** xref:flex-architecture-uc1.adoc[] -** xref:flex-architecture-uc2.adoc[] -** xref:flex-architecture-uc3.adoc[] -** xref:flex-architecture-uc4.adoc[] -* xref:flex-architecture-shared-storage.adoc[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-architecture-shared-storage.adoc b/gateway/1.5/modules/ROOT/pages/flex-architecture-shared-storage.adoc deleted file mode 100644 index 67c557f25..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-architecture-shared-storage.adoc +++ /dev/null @@ -1,32 +0,0 @@ -= Shared Storage Models -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -When configuring shared storage, MuleSoft recommends placing the Redis shared storage service as close to Flex Gateway as possible. - -If the Redis shared storage service is available locally in the same cluster or the same Virtual Private Cloud (VPC), a mutual authentication Transport Layer Security (mTLS) connection is not required to communicate with the shared storage. - -To configure the connection between Flex Gateway and the shared storage service, see: - -* xref:flex-conn-shared-storage-config.adoc[Configure Shared Storage in Connected Mode] -* xref:flex-local-shared-storage-config.adoc[Configure Shared Storage in Local Mode] - -The following diagrams use Kubernetes terminology, but you can extend the architecture to other technology stacks that have the appropriate network controls applied. - -You can place the Redis shared storage within the same Kubernetes cluster as Flex Gateway or instantiated within the same VPC as Flex Gateway: - - -== Shared Storage in the Same Cluster - -image:redis-same-cluster.png["The redis shared storage is in the same cluster as the Flex Gateway replicas."] - -== Shared Storage in the Same VPC - -image:redis-same-vpc.png["The redis shared storage is in the same VPC as the Flex Gateway replicas but is not in the same cluster."] - -== See Also - -* xref:flex-architecture-basic-deployments.adoc[] -* xref:flex-architecture-uc-overview.adoc[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-architecture-uc-overview.adoc b/gateway/1.5/modules/ROOT/pages/flex-architecture-uc-overview.adoc deleted file mode 100644 index c427c9aa7..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-architecture-uc-overview.adoc +++ /dev/null @@ -1,103 +0,0 @@ -= Integration Use Cases -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -The following integration use cases are determined by the ownership of the API provider and API consumer. Each use case shows physical patterns that demonstrate the necessary services in the system. - -For the following use case diagrams, Flex Gateway is running in Connected Mode. However, you can also run Flex Gateway in Local Mode or use a combination of Connected Mode and Local Mode for separate runtimes in the same or in different environments. - -The use case diagrams use Kubernetes terminology, but you can extend the architecture to other technology stacks that have the appropriate network controls applied. - -Flex Gateway supports four use cases: - -* xref:flex-architecture-uc1.adoc[] -* xref:flex-architecture-uc2.adoc[] -* xref:flex-architecture-uc3.adoc[] -* xref:flex-architecture-uc4.adoc[] - -image:ad-intergration-use-cases.png["The four use cases are linked to products that they can support."] - -Each use case supports different integration patterns that vary depending on the location of APIs relative to the network in which Flex Gateway is located. You can use different use case patterns, depending on the different API owners and networks in your system. - -In each use case, there are three different classifications of networks. The classifications describe the relation of each network to your organization and the network that Flex Gateway is in: - -* Organization internal -+ -Networks owned by your organization and in the same network as Flex Gateway -* Organization external -+ -Trusted networks external to your organization but in a different network than Flex Gateway, for example, your organization’s Splunk instance -* Non-Organization external -+ -External networks untrusted by your company and in a different network as Flex Gateway. An API provider’s or API consumers network status affects the necessary security protocols (mTLS) you take when communicating between networks - -If an API provider or API consumer is organization-owned, it belongs to either the organization's internal network or its external networks. - -The following tables: - -* Relate the previously mentioned use cases to use case patterns -* Show the networks involved in the pattern -* Indicate whether Flex Gateway acts as an ingress, egress, or both - - - -== Use Case 1: Organization-Owned API Exposed to an Organization-Owned API Consumer - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== -| Pattern | Provider Network | Consumer Network | Role of Flex Gateway -| xref:flex-architecture-uc1.adoc#pattern-1a[Pattern 1A: Organization internal API exposed to an organization internal consumer that uses the same VPC or network as the API] | Organization internal | Organization internal | Ingress -| xref:flex-architecture-uc1.adoc#pattern-1b[Pattern 1B: Organization internal API exposed to an organization internal consumer that uses a different VPC or network from the API] | Organization internal | Organization internal | Ingress -| xref:flex-architecture-uc1.adoc#pattern-2[Pattern 2: Organization internal API exposed to an organization external consumer] | Organization internal | Organization external | Ingress -| xref:flex-architecture-uc1.adoc#pattern-3[Pattern 3: Organization external API exposed to an organization internal consumer] | Organization external | Organization internal | Egress -| xref:flex-architecture-uc1.adoc#pattern-4[Pattern 4: Organization external API exposed to an organization external consumer] | Organization external | Organization external | Ingress and egress -|=== - - -== Use Case 2: Organization-Owned API Exposed to a Non-Organization-Owned API Consumer - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== -| Pattern | Provider Network | Consumer Network | Role of Flex Gateway -| xref:flex-architecture-uc2.adoc#pattern-5[Pattern 5: Organization internal API exposed to a non-organization external consumer] | Organization internal | Non-organization external | Ingress -| xref:flex-architecture-uc2.adoc#pattern-6[Pattern 6: Organization external API exposed to a non-organization external consumer] | Organization external | Non-organization external | Ingress and egress -|=== - -== Use Case 3: Non-Organization-Owned API Exposed to an Organization-Owned API Consumer - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== -| Pattern | Provider Network | Consumer Network | Role of Flex Gateway -| xref:flex-architecture-uc3.adoc#pattern-7[Pattern 7: Non-organization external API exposed to an organization internal consumer] | Non-organization external | Organization internal | Egress -| xref:flex-architecture-uc3.adoc#pattern-8[Pattern 8: Non-organization external API exposed to an organization external consumer] | Non-organization external | Organization external | Ingress and egress -|=== - -== Use Case 4: Non-Organization-Owned API Exposed to an External Non-Organization-Owned API Consumer -[%header%autowidth.spread,cols="a,a,a,a"] -|=== -| Pattern | Provider Network | Consumer Network | Role of Flex Gateway -| xref:flex-architecture-uc4.adoc#pattern-9[Pattern 9: Non-organization external API exposed to a non-organization external consumer] | Non-organization external | Non-organization external | Ingress and egress -|=== - -== mTLS considerations for integration flows -Flex Gateway supports Mutual Transport Layer Security (mTLS) for all Flex Gateway-initiated and Flex Gateway-terminated connections. Mulesoft recommends using mTLS on all communication flows. - -For inbound connections that cross a network security boundary, use a network application firewall as close to the boundary as possible. For inbound connections, configure the external mTLS connection to terminate at the firewall and configure a new mTLS context between the firewall and Flex Gateway. - -=== Certificate authorities -Different certificate authorities (CA) participate in the mTLS connection, depending on the type of integration. In the use case diagrams, color codes and labels represent the different mTLS contexts. Each mTLS context contains a truststore that contains CAs for validating far-side certificates and a keystore that contains a certificate issued by this same CA. The following table describes the three possible mTLS contexts: - -[%header%autowidth.spread,cols="a,a,a"] -|=== -| mTLS context symbol | Certificate authority | Description -| image:ad-internal-org-mtls.png[white hexagon with mtls written in the middle] | Organization internal mTLS | For internal network communication, the expectation is that only the customer organization uses these certificates within the internal network. -| image:ad-external-org-mtls.png[green hexagon with mtls written in the middle] | Organization external mTLS | For external communication with trusted parties over the public internet, the organization can issue certificates that external consumers or third parties can use to access the services provided by the organization. -| image:ad-external-non-org-mtls.png[grey hexagon with mtls written in the middle] | Non-organization external mTLS | For external communication with entities that aren't trusted, the third party organization controls the CA. The third party CA issues certificates for the organization to use when communicating with third-party services. -|=== - -== See Also - -* xref:flex-architecture-basic-deployments.adoc[] -* xref:flex-architecture-shared-storage.adoc[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-architecture-uc1.adoc b/gateway/1.5/modules/ROOT/pages/flex-architecture-uc1.adoc deleted file mode 100644 index e09a50b39..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-architecture-uc1.adoc +++ /dev/null @@ -1,91 +0,0 @@ -= Use Case 1: Organization-Owned API Exposed to an Organization-Owned API Consumer -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Use case one covers all patterns of a scenario in which a trusted organization's API is exposed to a trusted organization's API consumer. - -== Pattern 1: Organization Internal API Exposed to an Organization Internal Consumer - -Pattern examples: - -* A sales application accesses a customer service API in which both sales and customer service are internal areas of the customer organization -* A call center application calls the API exposed by the customer domain to retrieve customer information -* A mobile bank calls customer and account services to display the account overview screen to the end consumer - -[[pattern-1a]] -=== Pattern 1A: Organization Internal API Exposed to an Organization Internal Consumer that Uses the Same VPC or Network -In this use case pattern, both services are available on the same infrastructure, such as the same public cloud VPC, datacenter, or Kubernetes cluster. You can deploy Flex Gateway as either a sidecar or a standalone gateway. - -image:ad-uc-1-p-1a.png["For both standalone and sidecar mode, Flex Gateway and the APIs are in the same internal network."] - -The following diagram shows the physical implementation of a standalone Flex Gateway running in Connected Mode. A network policy (Netpol) permits ingress access only from Flex Gateway. You can configure the consumer application in the same or different namespace from Flex Gateway and the provider services. - -image:ad-uc-1-p-1a-physical.png[A more detailed view of UC1 contains load balancers and Netpol protection] - -When the API provider is located in a different Kubernetes cluster from Flex Gateway and the consumer application, you can do either of the following: - -* Deploy a Flex Gateway runtime on each of the clusters, as in Pattern 1B. -* Establish network restrictions in the secure channel between clusters and deploy Flex Gateway in only one of them, as shown in the following diagram. The second cluster only allows connections from a Flex Gateway that acts as an ingress controller. - -image:ad-uc-1-p-1b-separate-clusters.png["A detailed view of pattern 1A, which contains the necessary services to support Flex Gateway"] - -[[pattern-1b]] -=== Pattern 1B: Organization Internal API Exposed to an Organization Internal Consumer that Uses a Different VPC or Network -In this pattern, the API provider is isolated from the API consumer. However, there is a secure communication channel available between the two networks. - -You deploy Flex Gateway as an ingress behind a firewall because traffic is considered external to the location of the provider. Flex Gateway receives and processes the incoming traffic. - -You can use Flex Gateway to terminate the TLS or mTLS connection if required. - -image:ad-uc-1-p-1b.png["Information travels from a trusted network to the internal network that contains Flex Gateway."] - -The following diagram shows the physical implementation on Kubernetes. - -image:ad-uc-1-p-1b-physical.png["The previous networks are now Kubernetes clusters and there are load balancers that separate the APIs from Flex Gateway."] - -[[pattern-2]] -== Pattern 2: Organization Internal API exposed an Organization External Consumer -In pattern two, the organization-owned API is isolated from the organization-owned API consumer, for example, in a package delivery tracking API that is accessed from a user interface. The consumer can access the exposed API only via the internet. In this use case, you deploy Flex Gateway as an ingress. - -image:ad-uc-1-p-2.png["Consumer application requests pass through the internet and a firewall before reaching Flex Gateway."] - -This pattern is similar to Pattern 1B. However, in this pattern, traffic arrives from the public internet instead of from a private channel. Because traffic is coming from the public internet, you must add additional controls to strengthen communication security before reaching Flex Gateway. - -The following diagram shows the physical implementation of a scenario in which an organization's internal API is exposed to an organization's internal consumer on Kubernetes. The diagram assumes that the firewall terminates the incoming external mTLS connection. - -image:ad-uc-1-p-2-physical.png["The previous networks are now Kubernetes clusters, there are load balancers separating the APIs from Flex Gateway, and mTLS connections to external networks."] - -[[pattern-3]] -== Pattern 3: Organization External API Exposed to an Organization Internal Consumer -In pattern three, the API Consumer is in the same network as Flex Gateway. You can use Flex Gateway to monitor, control, and enrich the flows to external services. For example, Flex Gateway can provide rate limiting for the external access traffic, or metrics and analytics tracking for this external service connection. - -Pattern examples: - -* A payments service must obtain exchange rates from an external service provider. -* An internal API Consumer accesses the organization’s external ServiceNow instance (SaaS service). - -For pattern three, you deploy Flex Gateway as a standalone gateway that acts as an egress container. - -image:ad-uc-1-p-3.png["Flex Gateway is deployed as an egress to monitor incoming traffic from the external API."] - -The following diagram shows the physical implementation of a scenario in which an organization's external API is exposed to an organization's internal consumer on Kubernetes. The diagram assumes that the firewall terminates the incoming external mTLS connection. - -image:ad-uc-1-p-3-physical.png["The previous networks are now kubernetes clusters. There are load balancers that separate the APIs from Flex Gateway and mTLS connections to external networks."] - -[[pattern-4]] -== Pattern 4: Organization External API Exposed to an Organization External Consumer -In pattern four, Flex Gateway acts as an intermediary between two organizations' external entities, for example, when an organization’s WorkDay instance (SaaS service) accesses the organization’s ServiceNow instance (SaaS service). In this pattern, Flex Gateway runs as an ingress and egress that applies secured communication and policy enforcement. - -image:ad-uc-1-p-4.png["Flex Gateway acts as an intermediary between an external application and external API."] - -The following diagram shows the physical implementation of a scenario in which an external organization's API is exposed to an external organization's consumer on Kubernetes. The diagram assumes that the firewall terminates the incoming organization's external mTLS connection. - -image:ad-uc-1-p-4-physical.png["A detailed view of pattern four, which contains the necessary services to support Flex Gateway"] - -== See Also - -* xref:flex-architecture-uc2.adoc[] -* xref:flex-architecture-uc3.adoc[] -* xref:flex-architecture-uc4.adoc[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-architecture-uc2.adoc b/gateway/1.5/modules/ROOT/pages/flex-architecture-uc2.adoc deleted file mode 100644 index b00c6c87d..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-architecture-uc2.adoc +++ /dev/null @@ -1,33 +0,0 @@ -= Use Case 2: Organization-Owned API Exposed to a Non-Organization-Owned API Consumer -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Use case two covers all patterns of a scenario in which an organization-owned API is exposed to a non-organization-owned API consumer; for example, when a user makes a request to your public-facing API. - -[[pattern-5]] -== Pattern 5: Organization Internal API exposed to a Non-Organization External Consumer -In pattern five, the infrastructure of the organization-owned API is isolated from the API consumer. The consumer can access the exposed API only via the internet. In this use case, you deploy Flex Gateway as an ingress. - -image:ad-uc-1-p-2.png["Consumer application requests pass through the internet and a firewall before reaching Flex Gateway."] - -The following diagram shows the physical implementation of a scenario in which an organization-owned internal API is exposed to a non-organization-owned external consumer on Kubernetes. The diagram assumes that the firewall terminates the incoming external mTLS connection. - -image:ad-uc-2-p-5-physical.png["A detailed view of pattern five, which contains the necessary services to support Flex Gateway"] - -[[pattern-6]] -== Pattern 6: Organization External API exposed to a Non-Organization External Consumer -In pattern six, Flex Gateway acts as an intermediary between two external network entities. Flex Gateway runs as an ingress and egress that applies secure communication and policy enforcement. - -image:ad-uc-1-p-4.png["Flex Gateway acts as an intermediary between an external application and external API."] - -The following diagram shows the physical implementation of a scenario in which an organization external API is exposed to an non-organization external consumer on Kubernetes. The diagram assumes that the firewall terminates the external mTLS connections. - -image:ad-uc-2-p-6-physical.png["A detailed view of pattern six, which contains the necessary services to support Flex Gateway"] - -== See Also - -* xref:flex-architecture-uc1.adoc[] -* xref:flex-architecture-uc3.adoc[] -* xref:flex-architecture-uc4.adoc[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-architecture-uc3.adoc b/gateway/1.5/modules/ROOT/pages/flex-architecture-uc3.adoc deleted file mode 100644 index a1fdfe0c8..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-architecture-uc3.adoc +++ /dev/null @@ -1,38 +0,0 @@ -= Use Case 3: Non-Organization-Owned API Exposed to an Organization-Owned API Consumer -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Use case three covers all patterns of a scenario in which a non-organization-owned API is exposed to an organization-owned API consumer. - -Use case examples: - -* A payments service must obtain exchange rates from an external service provider. -* An internal API Consumer accesses the organization’s external ServiceNow instance (SaaS service). - -[[pattern-7]] -== Pattern 7: Non-Organization External API exposed to an Organization Internal Consumer -In pattern seven, you deploy Flex Gateway as an egress. You can use Flex Gateway to monitor, control, and enrich the flows to external services. Additionally, you can rate limit external access and track metrics and analytics. - -image:ad-uc-1-p-3.png["Flex Gateway acts as an egress to monitor incoming traffic from the external API."] - -The following diagram shows the physical implementation of a scenario in which a non-organization external API is exposed to an organization internal consumer on Kubernetes. The diagram assumes that the firewall terminates the incoming non-organization external mTLS connection. - -image:ad-uc-3-p-7-physical.png[A detailed view of pattern, which contains the necessary services to support Flex gateway] - -[[pattern-8]] -== Pattern 8: Non-Organization External API exposed to an Organization External Consumer -In pattern eight, Flex Gateway acts as an intermediary between two organization external entities. Flex Gateway runs as an ingress and egress that applies secure communication and policy enforcement. - -image:ad-uc-1-p-4.png["Flex Gateway acts as an intermediary between an external application and external API."] - -The following diagram shows the physical implementation of a scenario in which an external non-organization API is exposed to an organization external consumer on Kubernetes. The diagram assumes that the firewall terminates the incoming external mTLS connection. - -image:ad-uc-3-p-8-physical.png["A detailed view of pattern eight, which contains the necessary services to support Flex Gateway"] - -== See Also - -* xref:flex-architecture-uc1.adoc[] -* xref:flex-architecture-uc2.adoc[] -* xref:flex-architecture-uc4.adoc[] diff --git a/gateway/1.5/modules/ROOT/pages/flex-architecture-uc4.adoc b/gateway/1.5/modules/ROOT/pages/flex-architecture-uc4.adoc deleted file mode 100644 index 98a41a1f9..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-architecture-uc4.adoc +++ /dev/null @@ -1,24 +0,0 @@ -= Use Case 4: Non-Organization-Owned API Exposed to a Non-Organization-Owned API Consumer -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Use case four has one pattern that supports the scenario in which a non-organization API is exposed to a non-organization API consumer. - -[[pattern-9]] -== Pattern 9: Non-Organization External API exposed to a Non-Organization External Consumer - -In pattern nine, Flex Gateway acts as an intermediary between two external entities; for example, when an external customer consumes a travel information service offered by an external airline. - -image:ad-uc-1-p-4.png[Flex Gateway acts as an intermediary between an external application and external API] - -The following diagram shows the physical implementation of a scenario in which a non-organization external API is exposed to a non-organization external consumer on Kubernetes. The diagram assumes that the firewall terminates the incoming external mTLS connection. - -image:ad-uc-4-p-9-physical.png["A detailed view of pattern nine, which contains the necessary services to support Flex Gateway"] - -== See Also - -* xref:flex-architecture-uc1.adoc[] -* xref:flex-architecture-uc2.adoc[] -* xref:flex-architecture-uc3.adoc[] diff --git a/gateway/1.5/modules/ROOT/pages/flex-conn-configure.adoc b/gateway/1.5/modules/ROOT/pages/flex-conn-configure.adoc deleted file mode 100644 index 82fb1b6bc..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-conn-configure.adoc +++ /dev/null @@ -1,17 +0,0 @@ -= Configuring Flex Gateway in Connected Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -// :page-aliases: gateway::flex-conn-manage.adoc -:page-mode: conn - -include::partial$configuration-task-list.adoc[tags=configuration-task-list-replicas] -include::partial$configuration-task-list.adoc[tags=configuration-task-list-tls] -include::partial$configuration-task-list.adoc[tags=configuration-task-list-shared-storage] -include::partial$configuration-task-list.adoc[tags=configuration-task-list-forward-proxy] -include::partial$configuration-task-list.adoc[tags=configuration-task-list-apim-api] -include::partial$configuration-task-list.adoc[tags=configuration-task-list-liveness-check] -include::partial$configuration-task-list.adoc[tags=configuration-task-list-proxy-protocol] -include::partial$configuration-task-list.adoc[tags=configuration-task-list-jenkins-cli] -include::partial$configuration-task-list.adoc[tags=configuration-task-list-jenkins] diff --git a/gateway/1.5/modules/ROOT/pages/flex-conn-forward-proxy.adoc b/gateway/1.5/modules/ROOT/pages/flex-conn-forward-proxy.adoc deleted file mode 100644 index 818d7886b..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-conn-forward-proxy.adoc +++ /dev/null @@ -1,27 +0,0 @@ -= Configuring a Forward Proxy for Flex Gateway in Connected Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:page-mode: conn - -include::partial$forward-proxy-config.adoc[tags=intro;icon-table] - -include::partial$forward-proxy-config.adoc[tags=connections;noproxy] - -include::partial$forward-proxy-config.adoc[tags=forward-proxy-parameters] - -include::partial$forward-proxy-config.adoc[tags=linux] - -include::partial$forward-proxy-config.adoc[tags=docker] -+ -include::partial$task-reg-run-flex-gateway.adoc[tags=start-command-local] -+ -include::partial$forward-proxy-config.adoc[tags=docker2] - -include::partial$forward-proxy-config.adoc[tags=k8s] - -include::partial$forward-proxy-config.adoc[tags=proxy-registration] - -== See also -* xref:flex-conn-reg-run.adoc[Register and Run Flex Gateway in Connected Mode] diff --git a/gateway/1.5/modules/ROOT/pages/flex-conn-jenkins-api.adoc b/gateway/1.5/modules/ROOT/pages/flex-conn-jenkins-api.adoc deleted file mode 100644 index 00e4b231d..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-conn-jenkins-api.adoc +++ /dev/null @@ -1,415 +0,0 @@ -= Automating Flex Gateway with a Jenkins Pipeline using the API Manager API -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:page-mode: conn -// :page-aliases: gateway::flex-conn-manage-jenkins.adoc - -You can use a Jenkins Pipeline to automate the workflow for Flex Gateway in Connected Mode. With a Jenkins Pipeline, you can register and run a Flex Gateway and use features of the API Manager API, such as creating and deploying API instances. - -Automating your Flex Gateway in Connected Mode work flow shares many similarities with the xref:flex-conn-manage-public-api.adoc[Manage Flex Gateway Using the API Manager API] tutorial. You can use the Jenkins Pipeline to automate the calls made to the API Manager API. To add additional features from the https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/api-manager-api/[API Manager API^], use the <> and <> Pipeline stages as examples. - -This tutorial has different steps with different code blocks. As you work through the steps, add the code blocks to the same Jenkinsfile. If you are unfamiliar with the syntax used in a Jenkins Pipeline, see the https://www.jenkins.io/doc/book/pipeline/[Jenkins Pipeline documentation^]. - -NOTE: To instead automate your Flex Gateway with the Anypoint CLI, see xref:flex-conn-jenkins-cli.adoc[]. - -== Before You Begin -Before you can deploy a Jenkins Pipeline, complete the following tasks: - -. xref:flex-install.adoc[Download Flex Gateway]. - -. xref:access-management::connected-apps-developers.adoc#create-a-connected-app[Configure a Connected App]: - -.. Use the *App acts on its behalf (client credentials)* type and include the following scopes: - -*** API Manager: *Manage APIs Configuration*, *Manage Policies*, *View Policies*, and *Deploy API Proxies* -*** Runtime Manager: *Read Servers* and *Manage Servers* -*** Exchange: *Exchange Viewer* -*** General: *View Organization* - -.. Save the *Id* and *Secret* of the Connected app you configure. - - -. Collect the group ID, asset ID, and asset version (GAV) of the Exchange asset (API) you want to create or apply. -+ -To collect your GAV from Exchange: -+ -.. Go to Exchange. -.. Find the asset to add or apply. -.. Collect the group ID and asset ID from the URL. -+ -For example, the IDs collected from the API Manager API Exchange URL, `+https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/api-manager-api/minor/1.0/pages/home/+`, are: -+ -*** Group ID: `f1e97bc6-315a-4490-82a7-23abe036327` -*** Asset ID: `api-manager-api` - -.. Collect the asset version from *Latest Stable*. -+ -For example, the version collected from the API Gateway HTTP basic authentication policy template is `1.3.1`. - -. Collect the following information from your Anypoint Platform instance: - -** *Organization ID* for the organization where you want to run Flex Gateway -+ -For more information, see xref:access-management::organization.adoc#find-your-organization-id[Find Your Organization ID]. - -** *Environment ID* for the environment where you want to run Flex Gateway -+ -For more information, see xref:api-manager::latest-overview-concept.adoc#what-api-manager-looks-like[What API Manager Looks Like]. - - -== Initial Configuration - -Before you can create and deploy an API instance to your Flex Gateway, you must complete the following steps: - -. <>. -. <>. -. <>. -. <>. - -After you implement these Pipeline stages, you can customize your Pipeline by making API Manager API requests to manage APIs. - -=== Define Useful Functions - -To begin, define these useful functions in your Jenkinsfile. Define the functions before the `pipeline` block: - - -[source,Jenkinsfile] ----- -def parseYamlFile(String file) { - object = readYaml file: file - return object -} - -def parseJsonFile(file) { - object = readJSON file: file - return object -} - ----- - -=== Define Useful Parameters - -Since the commands in the Jenkins Pipeline reuses some parameters, it is helpful to define them at the beginning of your Jenkinsfile. - -Using the included parameter definitions as a template, you can also define any parameters that additional APIs or policies need. - -To define the parameters: - -. Collect the following information: -* ``: *Organization ID* for the organization where you want to run Flex Gateway -* ``: *Environment ID* for the organization where you want to run Flex Gateway -* ``: Version of Flex Gateway you are using, for example `1.4.0` -* ``: *Id* of your connected app -* ``:*Secret* of your connected app -* API GAV: -** ``: Group ID, obtained from Exchange -** ``: Asset ID, obtained from Exchange, of the API you want to create -** ``: Asset version, obtained from Exchange, of the API you want to create -* ``: Name of your Flex Gateway - -. After replacing the sample content, add the parameter definitions to your Jenkinsfile to validate whether all parameters are present. Define the parameters in the `pipeline` block before the `stages` block: -+ -[source,Jenkinsfile] ----- -parameters { - string(name: 'ENV_ID', defaultValue: '', description: 'Your environment id') - string(name: 'ORG_ID', defaultValue: '', description: 'Your organization id') - string(name: 'FLEX_VERSION', defaultValue: '', description: 'Flex version to run') - string(name: 'CONNECTED_APP_CLIENT_ID', defaultValue: '', description: 'Your connected app client id') - string(name: 'CONNECTED_APP_CLIENT_SECRET', defaultValue: '', description: 'The id of the http api exchange asset') - string(name: 'EXCHANGE_ASSET_VERSION', defaultValue: '', description: 'The version of the http api exchange asset') - string(name: 'GATEWAY_NAME', defaultValue: '', description: 'Unique gateway name') -} ----- - -. Add the check parameters `stage` to the `stages` block in your Jenkinsfile: -+ -[source,Jenkinsfile] ----- -stage('Check parameters') { - steps { - script { - if (!params.ENV_ID || !params.ORG_ID || !params.FLEX_VERSION || !params.CONNECTED_APP_CLIENT_ID || !params.CONNECTED_APP_CLIENT_SECRET || !params.EXCHANGE_ASSET_ID || !params.EXCHANGE_ASSET_VERSION || !params.GATEWAY_NAME) { - error("Not all parameters where specified") - } - } - } -} ----- -+ -If this stage fails, specify the missing parameters and rerun the Pipeline. - -=== Register and Run - -Add the register and run stages to the `stages` block in your Jenkinsfile: - -[source,Jenkinsfile] ----- -stage('Register flex gateway') { - steps { - script { - sh """ - docker run --entrypoint flexctl \ - -v "\$(pwd)":/registration -u 0 mulesoft/flex-gateway:${params.FLEX_VERSION} \ - register \ - --client-id=${params.CONNECTED_APP_CLIENT_ID} \ - --client-secret=${params.CONNECTED_APP_CLIENT_SECRET} \ - --environment=${params.ENV_ID} \ - --connected=true \ - --organization=${params.ORG_ID} \ - --output-directory=/registration \ - ${params.GATEWAY_NAME} - """ - if (!fileExists('registration.yaml')) { - error("Registration failed") - } - } - } -} - -stage('Run flex gateway') { - steps { - script { - sh """ - docker run -d \ - -v "\$(pwd)":/usr/local/share/mulesoft/flex-gateway/conf.d \ - -p 8082:8082 \ - mulesoft/flex-gateway:${params.FLEX_VERSION} > containerId - """ - } - } -} ----- - - -=== Obtain an Authorization Token from Access Management -After registering and running your Flex Gateway, you must obtain a valid authorization token from Access Management in order to authenticate subsequent requests. - -To login in to Anypoint, add the Anypoint login `stage` the `stages` block in your Jenkinsfile: - -[source,Jenkinsfile] ----- -stage("Anypoint login") { - steps { - script { - def cmd = """curl -s -w "%{http_code}" --location --request POST 'https://anypoint.mulesoft.com/accounts/api/v2/oauth2/token' -o 'login-response' \ - --header 'Content-Type: application/json' \ - --data-raw '{"grant_type": "client_credentials", "client_id": "${params.CONNECTED_APP_CLIENT_ID}", "client_secret": "${params.CONNECTED_APP_CLIENT_SECRET}"}' - """ - def status_code = sh(returnStdout: true, script: cmd).trim().toInteger() - if (status_code > 399) { - error("Anypoint login failed") - } - } - } -} ----- - -The authorization token returned in this step is saved for subsequent requests. - -== Create an API Instance -Having an authorization token from Access Management enables you to create an API instance and deploy it to your Flex Gateway. - -You can repeat this step to add multiple API instances. - -For example, this stage creates an API instance that listens on port `8082` and `/httpbin` path and proxies to `+https://httpbin.org/+`. - -To create an API instance: - -. Collect the following information: -* ``: URI upstream of your API -* ``: Proxy URI for you API instance -* `"isCloudHub"`: Cloud Hub status, for example `null` or `true` - -. Optionally, collect your `"endpointUri"` or remove the `"endpointUri"` field: -* ``: Consumer endpoint of your API, for example, `+http://consumer-endpoint.com+` - -. After replacing the HTTP addresses, add the create API instance `stage` to the `stages` block in your Jenkinsfile: - -[source,Jenkinsfile] ----- -stage("Create API instance") { - steps { - script { - def login_response = parseJsonFile('login-response') - def cmd = """ - curl -s -w "%{http_code}" --location --request POST 'https://anypoint.mulesoft.com/apimanager/api/v1/organizations/${params.ORG_ID}/environments/${params.ENV_ID}/apis' -o 'api-response' \ - --header 'Authorization: Bearer ${login_response.access_token}' \ - --header 'Content-Type: application/json' \ - --data-raw '{ - "spec": { - "groupId": "${params.ORG_ID}", - "assetId": "${params.EXCHANGE_ASSET_ID}", - "version": "${params.EXCHANGE_ASSET_VERSION}" - }, - "endpoint": { - "deploymentType": "HY", - "uri": "https://httpbin.org:443", - "proxyUri": "http://0.0.0.0:8082/httpbin", - "isCloudHub": null - }, - "technology": "flexGateway" - "endpointUri": "" // OPTIONAL - }' - """ - def status_code = sh(returnStdout: true, script: cmd).trim().toInteger() - if (status_code > 399) { - error("Error occurred while trying to create API instance") - } - } - } -} ----- - - - -== Apply an API Policy - -After you create an API instance, you can apply Connected Mode policies to the instance: - - -. Collect the following information: -* Policy GAV -** ``: Policy group ID from Exchange -** ``: Policy asset ID from Exchange, for example `http-basic-authentication` -** ``: Policy asset version from Exchange, for example `1.3.1` - -* `"configurationData"`: Policy configuration data -+ -The configuration data fields are dependent on the policy. The `"username"` and `"password"` parameters are only an example. To find the configuration data for your policy, see xref:policies-included-directory.adoc[Included Policies Directory]. - -. After replacing the sample content, add the apply policy `stage` to the `stages` block in your Jenkinsfile: - -[source,Jenkinsfile] ----- -stage("Apply policy") { - steps { - script { - def login_response = parseJsonFile('login-response') - def api_response = parseJsonFile('api-response') - - - def cmd = """ - curl -s -w "%{http_code}" -o /dev/null --location --request POST 'https://anypoint.mulesoft.com/apimanager/api/v1/organizations/${params.ORG_ID}/environments/${params.ENV_ID}/apis/${api_response.id}/policies' \ - --header 'Authorization: Bearer ${login_response.access_token}' \ - --header 'Content-Type: application/json' \ - --data-raw '{ - "configurationData":{ - "username": "user", - "password": "test" - }, - "pointcutData": null, - "assetId": "", - "assetVersion": "", - "groupId": "" - }' - """ - - - def status_code = sh(returnStdout: true, script: cmd).trim().toInteger() - if (status_code > 399) { - error("Error occurred while trying to apply Basic Auth Policy to the API instance") - } - } - } -} ----- - - -== Deploy an API Instance -After you create an API instance, you can deploy the instance. - -To deploy the new instance, add the deploy API `stage` to the `stages` block in your Jenkinsfile: - -[source,Jenkinsfile] ----- -stage("Deploy API") { - steps { - script { - def login_response = parseJsonFile('login-response') - def api_response = parseJsonFile('api-response') - def registration_file = parseYamlFile('registration.yaml') - - - def cmd = """ - curl -s -w "%{http_code}" -o /dev/null --location --request POST 'https://anypoint.mulesoft.com/proxies/xapi/v1/organizations/${params.ORG_ID}/environments/${params.ENV_ID}/apis/${api_response.id}/deployments' \ - --header 'Content-Type: application/json' \ - --header 'Authorization: Bearer ${login_response.access_token}' \ - --data-raw '{ - "type": "HY", - "gatewayVersion": "${params.FLEX_VERSION}", - "targetId": "${registration_file.spec.platformConnection.agentId[0]}", - "environmentId": "${params.ENV_ID}" - }' - """ - - - def status_code = sh(returnStdout: true, script: cmd).trim().toInteger() - if (status_code > 399) { - error("Error occurred while trying to deploy the API instance") - } - } - } -} ----- - -== Validate the API Instance is Deployed -After you deploy your API instance, validate whether the instance is deployed by adding the validate deployment `stage` to the `stages` block in your Jenkinsfile - - -[source,Jenkinsfile] ----- -stage("Validate deployment") { - steps { - script { - sleep(time:10, unit:"SECONDS") - - - def unauthorized_status_code = sh(script: "curl -s -w \"%{http_code}\" -o /dev/null http://localhost:8082/httpbin/headers -v", returnStdout: true).trim().toInteger() - if (unauthorized_status_code != 401) { - error("401 status code expected but the status code obtained is ${unauthorized_status_code}") - } - - - def authorized_status_code = sh(script: "curl -s -w \"%{http_code}\" -o /dev/null http://localhost:8082/httpbin/headers -v -u user:test", returnStdout: true).trim().toInteger() - if (authorized_status_code != 200) { - error("200 status code expected but the status code obtained is ${unauthorized_status_code}") - } - } - } -} ----- - - -== Stop the Flex Gateway and archive the registration file - -Use the following code blocks to stop your Flex Gateway and archive the registration file. Add the `post` block in the `pipeline` block after the `stages` block: - -[source,Jenkinsfile] ----- -post { - success { - script { - // Archive the build output artifacts. - archiveArtifacts artifacts: 'registration.yaml' - } - } - always { - script { - if (fileExists('containerId')) { - sh(script: "docker rm -f ${readFile(file: 'containerId')}") - } - } - } -} - ----- - -== See Also - -* xref:flex-conn-reg-run-app.adoc[Registering and Running in Connected Mode with a Connected App]. -* https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/api-manager-api/[Anypoint Developer API Manager API] -* xref:flex-conn-manage-public-api.adoc[Manage Flex Gateway Using the API Manager API] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-conn-jenkins-cli.adoc b/gateway/1.5/modules/ROOT/pages/flex-conn-jenkins-cli.adoc deleted file mode 100644 index 6d9725cd5..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-conn-jenkins-cli.adoc +++ /dev/null @@ -1,346 +0,0 @@ -= Automating Flex Gateway with a Jenkins Pipeline using Anypoint CLI -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:page-mode: conn - -You can use a Jenkins Pipeline to automate the workflow for Flex Gateway in Connected Mode. With a Jenkins Pipeline, you can register and run a Flex Gateway and use features of the Anypoint CLI, such as creating and deploying API instances. - -To add additional features from the API Manager CLI, see xref:4.x@anypoint-cli::api-mgr.adoc[]. - -This tutorial has different steps with different code blocks. As you work through the steps, add the code blocks to the same Jenkinsfile. If you are unfamiliar with the syntax used in a Jenkins Pipeline, see the https://www.jenkins.io/doc/book/pipeline/[Jenkins Pipeline documentation^]. - -NOTE: Automating your Flex Gateway with Anypoint CLI shares many similarities with Automating your Flex Gateway with the API Manager API. To automate your Flex Gateway using API Manger API requests, see xref:flex-conn-jenkins-api.adoc[]. - -== Before You Begin -Before you can deploy a Jenkins Pipeline, complete the following tasks: - -. xref:flex-install.adoc[Download Flex Gateway]. - -. xref:access-management::connected-apps-developers.adoc#create-a-connected-app[Configure a Connected App]: - -.. Use the *App acts on its behalf (client credentials)* type and include the following scopes: - -*** API Manager: *Manage APIs Configuration*, *Manage Policies*, *View Policies*, and *Deploy API Proxies* -*** Runtime Manager: *Read Servers* and *Manage Servers* -*** Exchange: *Exchange Viewer* -*** General: *View Organization* - -.. Save the *Id* and *Secret* of the Connected app you configure. - -. Collect the group ID, asset ID, and asset version (GAV) of the Exchange asset (API) you want to create or apply. -+ -To collect your GAV from Exchange: -+ -.. Go to Exchange. -.. Find the asset to add or apply. -.. Collect the group ID and asset ID from the URL. -+ -For example, the IDs collected from the API Manager API Exchange URL, `+https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/api-manager-api/minor/1.0/pages/home/+`, are: -+ -*** Group ID: `f1e97bc6-315a-4490-82a7-23abe036327` -*** Asset ID: `api-manager-api` - -.. Collect the asset version from *Latest Stable*. -+ -For example, the version collected from the API Gateway HTTP basic authentication policy template is `1.3.2`. - -. Collect the following information from your Anypoint Platform instance: - -** *Organization ID* for the organization where you want to run Flex Gateway -+ -For more information, see xref:access-management::organization.adoc#find-your-organization-id[Find Your Organization ID]. - -** *Environment ID* for the environment where you want to run Flex Gateway -+ -For more information, see xref:api-manager::latest-overview-concept.adoc#what-api-manager-looks-like[What API Manager Looks Like]. - - -== Initial Configuration - -Before you can create and deploy an API instance to your Flex Gateway, you must complete the following steps: - -. <>. -. <>. -. <> -. <>. - -After you implement these Pipeline stages, you can customize your Pipeline by making API Manager CLI requests to manage APIs. - -=== Define Useful Functions - -To begin, define these useful functions before the `pipeline` block in your Jenkinsfile: - -[source,Jenkinsfile] ----- -def parseYamlFile(String file) { - object = readYaml file: file - return object -} - -def getAPIInstanceID(String file) { - return readFile(file: file).split(' ').last().replace('\n', '').trim() -} ----- - -=== Define Useful Parameters - -Since the commands in the Jenkins Pipeline reuse some parameters, it is helpful to define them at the beginning of your Jenkinsfile. - -Using the included parameter definitions as a template, you can also define any parameters that additional APIs or policies need. - -To define the parameters: - -. Collect the following information: -* ``: *Organization ID* for the organization where you want to run Flex Gateway -* ``: *Environment ID* for the organization where you want to run Flex Gateway -* ``: Version of Flex Gateway you are using, for example `1.4.0` -* ``: *Id* of your connected app -* ``: *Secret* of your connected app -* API GAV: -** ``: Group ID, obtained from Exchange -** ``: Asset ID, obtained from Exchange, of the API you want to create -** ``: Asset version, obtained from Exchange, of the API you want to create -* ``: Name of your Flex Gateway - -. After replacing the sample content, add the parameter definitions to your Jenkinsfile to validate whether all parameters are present. Define the parameters in the `pipeline` block before the `stages` block: -+ -[source,Jenkinsfile] ----- -parameters { - string(name: 'ENV_ID', defaultValue: '', description: 'Your environment id') - string(name: 'ORG_ID', defaultValue: '', description: 'Your organization id') - string(name: 'FLEX_VERSION', defaultValue: '', description: 'Flex version to run') - string(name: 'CONNECTED_APP_CLIENT_ID', defaultValue: '', description: 'Your connected app client id') - string(name: 'CONNECTED_APP_CLIENT_SECRET', defaultValue: '', description: 'The id of the http api exchange asset') - string(name: 'EXCHANGE_ASSET_VERSION', defaultValue: '', description: 'The version of the http api exchange asset') - string(name: 'GATEWAY_NAME', defaultValue: '', description: 'Unique gateway name') -} ----- - -. Add the check parameters `stage` to the `stages` block in your Jenkinsfile: -+ -[source,Jenkinsfile] ----- -stage('Check parameters') { - steps { - script { - if (!params.ENV_ID || !params.ORG_ID || !params.GATEWAY_NAME || !params.FLEX_VERSION || !params.CONNECTED_APP_CLIENT_ID || !params.CONNECTED_APP_CLIENT_SECRET || !params.EXCHANGE_ASSET_ID || !params.EXCHANGE_ASSET_VERSION) { - error("Not all parameters where specified") - } - } - } -} ----- -+ -If this stage fails, specify the missing parameters and rerun the Pipeline. - - -== Install Anypoint CLI 4.x - -To install Anypoint CLI 4.x to your Docker container, add the install Anypoint CLI 4.x `stage` to the `stages` block in your Jenkinsfile: - -[source,Jenkinsfile] ----- -stage('Install anypoint-cli-v4') { - steps { - script { - sh """ - docker run --name container-anypoint-cli-v4 -d node:16 \ - sh -c " npm install -g anypoint-cli-v4 ; anypoint-cli-v4 plugins:install anypoint-cli-api-mgr-plugin; \ - while :; do sleep 1; done" - """ - sh """ - docker exec container-anypoint-cli-v4 \ - sh -c "while ! anypoint-cli-v4 plugins 2> /dev/null | grep -q "anypoint-cli-api-mgr-plugin"; do :; done" - """ - } - } -} ----- - -=== Register and Run - -Add the register and run stages to the `stages` block in your Jenkinsfile: - -[source,Jenkinsfile] ----- -stage('Register flex gateway') { - steps { - script { - sh """ - docker run --entrypoint flexctl \ - -v ${pwd()}:/registration -u 0 mulesoft/flex-gateway:${params.FLEX_VERSION} \ - register \ - --client-id=${params.CONNECTED_APP_CLIENT_ID} \ - --client-secret=${params.CONNECTED_APP_CLIENT_SECRET} \ - --environment=${params.ENV_ID} \ - --connected=true \ - --organization=${params.ORG_ID} \ - --output-directory=/registration \ - ${params.GATEWAY_NAME} - """ - - sh """ - grep "name: registration" registration.yaml - """ - } - } -} - - -stage('Run flex gateway') { - steps { - script { - sh """ - docker run --name flex-gw -d \ - -v ${pwd()}:/usr/local/share/mulesoft/flex-gateway/conf.d \ - -p 8082:8082 \ - mulesoft/flex-gateway:${params.FLEX_VERSION} - """ - } - } -} ----- - -== Create an API Instance -After installing Anypoint CLI 4.x, you can create an API instance and deploy it to your Flex Gateway. - -You can repeat this step to add multiple API instances. For additional API configuration flags, see the xref:4.x@anypoint-cli::api-mgr.adoc#api-mgr-api-manage[api-mgr:api:manage command]. - -Add the create API instance `stage` to the `stages` block in your Jenkinsfile: - -[source,Jenkinsfile] ----- -stage("Create API Instance") { - steps { - script { - sh """ - docker exec container-anypoint-cli-v4 anypoint-cli-v4 api-mgr:api:manage ${params.EXCHANGE_ASSET_ID} ${params.EXCHANGE_ASSET_VERSION} \ - --client_id=${params.CONNECTED_APP_CLIENT_ID} --client_secret=${params.CONNECTED_APP_CLIENT_SECRET} \ - --isFlex --withProxy --deploymentType=hybrid --scheme=http --port=8082 \ - --uri=https://httpbin.org:443 --path=/httpbin > api-response - """ - } - } -} ----- - -NOTE: For example, this stage creates an API instance that listens on port `8082` and `/httpbin` path and proxies to `+https://httpbin.org/443+`. - -== Apply a Basic Authentication Policy - -After you create an API instance, you can apply policies to the API instance. - -This stage applies the xref:policies-included-basic-auth-simple.adoc[] as an example, but you can apply any Connected Mode policy. To find additional policies, see xref:policies-included-directory.adoc[Included Policies Directory]. - -To apply a policy: - -. Collect the following information: -* Policy GAV -** ``: Policy group ID from Exchange, for example `68ef9520-24e9-4cf2-b2f5-620025690913`` -** ``: Policy asset ID from Exchange, for example `http-basic-authentication` -** ``: Policy asset version from Exchange, for example `1.3.2` -* `"configurationData"`: Policy configuration data -+ -The configuration data fields are dependent on the policy. The Basic Authentication: Simple policy uses parameters `"username"` and `"password"`. - -. After replacing the sample content, add the apply basic authentication policy `stage` to the `stages` block in your Jenkinsfile: - -[source,Jenkinsfile] ----- -stage("Apply Basic Authentication Policy to API Instance") { - steps { - script { - def apiInstanceId = getAPIInstanceID('api-response') - sh """ - docker exec container-anypoint-cli-v4 anypoint-cli-v4 api-mgr:policy:apply ${apiInstanceId} 'http-basic-authentication' \ - --policyVersion='1.3.1' --groupId '68ef9520-24e9-4cf2-b2f5-620025690913' \ - --client_id=${params.CONNECTED_APP_CLIENT_ID} --client_secret=${params.CONNECTED_APP_CLIENT_SECRET} \ - -c '{"username": "user", "password": "test"}' - """ - } - } -} ----- - -NOTE: For example, this stage uses the policy GAV and `"configurationData"` associated with the xref:policies-included-basic-auth-simple.adoc[]. - -== Deploy an API Instance -After you create an API instance, you can deploy the instance. - -To deploy the new instance, add the deploy API `stage` to the `stages` block in your Jenkinsfile: - -[source,Jenkinsfile] ----- -stage("Deploy API") { - steps { - script { - sleep(time:15, unit:"SECONDS") - def registration_file = parseYamlFile('registration.yaml') - def apiInstanceId = getAPIInstanceID('api-response') - - sh """ - docker exec container-anypoint-cli-v4 anypoint-cli-v4 api-mgr:api:deploy ${apiInstanceId} \ - --client_id=${params.CONNECTED_APP_CLIENT_ID} --client_secret=${params.CONNECTED_APP_CLIENT_SECRET} \ - --target=${registration_file.spec.platformConnection.agentId[0]} --gatewayVersion=${params.FLEX_VERSION} - """ - } - } -} ----- - -== Validate the API Instance is Deployed -After you deploy your API instance, validate whether the instance is deployed by adding the validate deployment `stage` to the `stages` block in your Jenkinsfile: - - -[source,Jenkinsfile] ----- -stage("Validate Deployment") { - steps { - script { - sleep(time:10, unit:"SECONDS") - - def unauthorized_status_code = sh(script: "curl -s -w \"%{http_code}\" -o /dev/null http://localhost:8082/httpbin/headers -v", returnStdout: true).trim().toInteger() - if (unauthorized_status_code != 401) { - error("401 status code expected but the status code obtained is ${unauthorized_status_code}") - } - - def authorized_status_code = sh(script: "curl -s -w \"%{http_code}\" -o /dev/null http://localhost:8082/httpbin/headers -v -u user:test", returnStdout: true).trim().toInteger() - if (authorized_status_code != 200) { - error("200 status code expected but the status code obtained is ${unauthorized_status_code}") - } - } - } -} ----- - - -== Stop the Flex Gateway and Archive the Registration File - -Use the following code blocks to archive the registration file and remove the Docker container running Flex Gateway. Add the `post` block in the `pipeline` block after the `stages` block: - -[source,Jenkinsfile] ----- -post { - success { - script { - // Archive the build output artifacts. - archiveArtifacts artifacts: 'registration.yaml' - } - } - always { - script { - sh(script: "docker rm -f container-anypoint-cli-v4 flex-gw") - } - } -} ----- - -== See Also - -* xref:4.x@anypoint-cli::index.adoc[] -* xref:flex-conn-reg-run-app.adoc[Registering and Running in Connected Mode with a Connected App]. -* xref:flex-conn-manage-public-api.adoc[Manage Flex Gateway Using the API Manager API] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-conn-liveness-check.adoc b/gateway/1.5/modules/ROOT/pages/flex-conn-liveness-check.adoc deleted file mode 100644 index 490f37424..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-conn-liveness-check.adoc +++ /dev/null @@ -1,8 +0,0 @@ -= Configuring a Liveness Check in Connected Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:page-mode: conn - -include::partial$task-config-liveness-probe.adoc[tags=intro1;;k8s-liveness-probe;docker-linux-deployments;see-also] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-conn-manage-public-api.adoc b/gateway/1.5/modules/ROOT/pages/flex-conn-manage-public-api.adoc deleted file mode 100644 index faada289c..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-conn-manage-public-api.adoc +++ /dev/null @@ -1,202 +0,0 @@ -= Configuring Flex Gateway with the API Manager API Tool -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:page-mode: conn - -You can configure Flex Gateway in Connected Mode using the API Manager API tool from the https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/[Anypoint Platform Developer Portal^] instead of using the API Manager user interface through Anypoint Platform. This tool enables you to use the command line to communicate with API Manager. Use the steps in this tutorial to create, deploy, apply a policy to, and delete an API instance. - -For more information about the API Manager API, see the https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/api-manager-api/[API Manager API documentation^]. - -NOTE: To automate these commands using a Jenkins pipeline, see xref:flex-conn-jenkins-api.adoc[Automate Flex Gateway in Connected Mode Using a Jenkins Pipeline]. - -== Before You Begin -Before you can configure Flex Gateway using the API Manager API, complete the following tasks: - -. xref:flex-install.adoc[Download Flex Gateway]. -. xref:flex-{page-mode}-reg-run.adoc[Register and Run Flex Gateway in Connected Mode]. - -. xref:access-management::connected-apps-developers.adoc#create-a-connected-app[Configure a Connected App]: - -** Use the *App acts on its behalf (client credentials)* type and include the following scopes: - -*** API Manager: *Manage APIs Configuration*, *Manage Policies*, *View Policies*, and *Deploy API Proxies* -*** Runtime Manager: *Read Servers* -*** Exchange: *Exchange Viewer* -+ -You do not have to xref:flex-conn-reg-run-app.adoc[Register and Run Flex Gateway with a Connected App] to use the API Manager API, but you can use the same Connected App if you include the proper scopes. - -** Save the *Id* and *Secret* of the Connected app you configure. - - -. Collect the group ID, asset ID, and asset version (GAV) of the Exchange asset you want to create or apply. -+ -To collect your GAV from Exchange: -+ -.. Go to Exchange. -.. Find the asset to add or apply. -.. Collect the group ID and asset ID from the URL. -+ -For example, the IDs collected from the API Manager API Exchange URL, `+https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/api-manager-api/minor/1.0/pages/home/+`, are: -+ -*** Group ID: `f1e97bc6-315a-4490-82a7-23abe036327` -*** Asset ID: `api-manager-api` - -.. Collect the asset version from *Latest Stable*. -+ -For example, the version collected from the API Gateway HTTP basic authentication policy template is `1.3.1`. - -. Collect the following information from your Anypoint Platform instance: - -** *Organization ID* for the organization where you want to run Flex Gateway -+ -For more information, see xref:access-management::organization.adoc#find-your-organization-id[Find Your Organization ID]. - -** *Environment ID* for the environment where you want to run Flex Gateway -+ -For more information, see xref:api-manager::latest-overview-concept.adoc#what-api-manager-looks-like[What API Manager Looks Like]. -** Runtime *Target ID* for the Flex Gateway you want to deploy the API to -+ -To find the *Target ID*, go to *Anypoint Platform > Runtime Manager > Flex Gateway*. - - -== Obtain an Authorization token from Access Management - -You must obtain an authorization token to make calls using the API Manager API: - -. Collect the following information: - -* ``: *Id* of your connected app -* ``: *Secret* of your connected app - -. Execute the following request to obtain your Authorization Token after replacing the placeholders with the following: -+ -[source,ssh] ----- -curl --location --request POST 'https://anypoint.mulesoft.com/accounts/api/v2/oauth2/token' \ ---header 'Content-Type: application/json' \ ---data-raw '{ - "grant_type": "client_credentials", - "client_id": "", - "client_secret": "" -}' ----- - -. Save the returned authorization token. - -== Create an API Instance - -To create an API instance using the API Manager API: - -. Collect the following information: -* ``: *Organization ID* for the organization where you want to run Flex Gateway -* ``: *Environment ID* for the organization where you want to run Flex Gateway -* ``: Authorization token collected in the <> step -* API GAV: -** ``: Group ID, obtained from Exchange -** ``: Asset ID, obtained from Exchange, of the API you want to create -** ``: Asset version, obtained from Exchange, of the API you want to create -* ``: URI upstream of your API -* ``: Proxy URI, a combination of your port and base path for your API instance, for example, `\http://0.0.0.0:/` - -. Optionally, collect your `"endpointUri"` or remove the `"endpointUri"` field: -* ``: Consumer endpoint of your API, for example, `+http://consumer-endpoint.com+` - -. Make a POST request to Anypoint Platform after replacing the sample content: -+ -[source,ssh,subs=attributes+] ----- -curl --location --request POST https://anypoint.mulesoft.com/apimanager/api/v1/organizations//environments//apis \ ---header 'Authorization: bearer ' \ ---header 'Content-Type: application/json' \ ---data-raw '{ - "spec": { - "groupId": "", - "assetId": "", - "version": "" - }, - "endpoint": { - "deploymentType": "HY", - "uri": "", - "proxyUri": "", - "isCloudHub": null - }, - "technology": "flexGateway" - "endpointUri": "" // OPTIONAL -}' ----- - -. Save the Instance ID, `"id"`, from the response to deploy, apply a policy, or delete the instance. - -== Deploy an API Instance -To deploy an API instance using the API Manager API: - -. Collect the following information: -* ``: Instance ID, `"id"`, from <> -* ``: Version of Flex Gateway you are using, for example `1.4.0` -* ``: Target ID collected from runtime manager - -. Make a POST request to Anypoint Platform after replacing the sample content: -+ -[source,ssh,subs=attributes+] ----- -curl --location --request POST 'https://anypoint.mulesoft.com/proxies/xapi/v1/organizations//environments//apis//deployments' \ ---header 'Content-Type: application/json' \ ---header 'Authorization: bearer ' \ ---data-raw '{ - "type": "HY", - "gatewayVersion": "", - "targetId": "", - "environmentId": "" -}' ----- - -== Apply a Policy -Using the API Manager API, you can only apply Connected Mode policies to a Flex Gateway. - -To apply a policy to an API instance using the API Manager API: - -. Collect the following information: -* Policy GAV: -** ``: Policy group ID from Exchange -** ``: Policy asset ID from Exchange, for example `http-basic-authentication` -** ``: Policy asset version from Exchange, for example `1.3.1` - -* `"configurationData"`: Required configuration parameters for the policy -+ Each policy has unique configuration data fields. The `"username"` and `"password"` fields are an example. To find the configuration data for your policy, see xref:policies-included-directory.adoc[Included Policies Directory]. - -. Make a POST request to Anypoint Platform after replacing the sample content: -+ -[source,ssh,subs=attributes+] ----- -curl --location --request POST 'https://anypoint.mulesoft.com/apimanager/api/v1/organizations//environments//apis//policies' \ ---header 'Authorization: bearer ' \ ---header 'Content-Type: application/json' \ ---data-raw '{ - "configurationData":{ - "username": "user", - "password": "test" - }, - "pointcutData":null, - "assetId": "", - "assetVersion": "", - "groupId": "" -}' ----- - - -== Delete an API Instance -To delete an API instance using the API Manager API, make a DELETE request to Anypoint Platform after replacing the sample content: -[source,ssh,subs=attributes+] ----- -curl --location --request DELETE 'https://anypoint.mulesoft.com/apimanager/api/v1/organizations//environments//apis/' \ ---header 'Content-Type: application/json' \ ---header 'Authorization: bearer ' ----- - -//Ciphers -== See Also - -* xref:flex-conn-jenkins-api.adoc[Automate Flex Gateway in Connected Mode Using a Jenkins Pipeline]. -* https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/api-manager-api/[Anypoint Developer API Manager API] diff --git a/gateway/1.5/modules/ROOT/pages/flex-conn-message-log.adoc b/gateway/1.5/modules/ROOT/pages/flex-conn-message-log.adoc deleted file mode 100644 index 1dcabcc08..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-conn-message-log.adoc +++ /dev/null @@ -1,65 +0,0 @@ -= Configuring Message Logging for Flex Gateway in Connected Mode - -Applying a Message Logging policy to your API instance in API Manager allows you to view basic logs, such as inbound and outbound calls and headers, for APIs managed by Flex Gateway within API Manager. Logging for an API instance only happens if you configure and apply a Message Logging policy. - -To view metrics in API Manager, such as total requests, total policy violations, total errors, and average response time, see xref:flex-view-api-metrics.adoc[]. - -== Message Logging Limits and Features - -API Manager stores up to 100 MB of logs per API instance for 30 days. Runtime Manager automatically purges logs that go beyond 100 MB per API instance. If you need more storage, you can either use a third-party service (configured through a policy) or sign up for a Titanium subscription. - -For each API instance configured through a policy, basic logs report the following: - -* Inbound and outbound API calls, as well as the packet contents -* Headers and any other information in the request - -To view message logs in API Manager, you need one of the following permissions: - -* API Manager Environment Administrator -* API Manager Deploy API Proxies -* General Organization Administration - -See xref:access-management::permissions-by-product.adoc[]. - -== Before You Begin - -Before configuring message logging for a Flex Gateway, complete the following tasks: - -* xref:flex-install.adoc[Download Flex Gateway] -* xref:flex-conn-reg-run.adoc[Register and Run Flex Gateway] -* xref:api-manager::create-instance-task-flex.adoc[Add an API Instance] - -== Configure Message Logging in Connected Mode - -. From API Administration in API Manager, select the name of the API Instance. -. Click *Policies*. -. Click *+ Add policy*. -. Under the *Troubleshooting* category, click *Message Logging*. -. Click *Next*. -. Click *+ Add*. -. Enter a *Configuration Name*, for example, Info messages before calling API. -. Enter a DataWeave expression that selects what information you want to see. -+ -For example, `#[attributes.header['id']]` extracts the ids from the headers of -the messages. For more information, see xref:policies-flex-dataweave-support.adoc[]. - -. If you want to filter log messages, enter a DataWeave expression. -+ -For example, `#[attributes.headers['id']==1]` displays log messages that have -an id of 1 in the header. - -. If you want to affix a prefix to your logs, enter a *Category*. -. Enter the severity level. -+ -You can only enter one level. See <> -for a description of each severity level and the hierarchy for the levels. - -. If you want messages after the API is called, select *After Calling API*. -. If you want to add additional configurations, click *+ Add*. -. Click *Save*. -+ -Afterward, you should see a *Message Log* option for the API instance. -+ -Use the search field to search for specific logs based on the time and log severity (INFO, ERROR, WARN, DEBUG). You can download these logs for further analysis. - -include::partial$logging-severity-level.adoc[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-conn-monitor.adoc b/gateway/1.5/modules/ROOT/pages/flex-conn-monitor.adoc deleted file mode 100644 index 440804f3e..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-conn-monitor.adoc +++ /dev/null @@ -1,17 +0,0 @@ -= Monitoring in Connected Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Flex Gateway running in Connected Mode enables you to monitor APIs via Anypoint Platform. By using Anypoint Platform, you can configure logs and view key metrics and analytics. - -Refer to the following tasks for details about monitoring in Connected Mode: - -* xref:flex-conn-message-log.adoc[Configure Message Logging] - Apply a Message Logging policy to your API instance via API Manager. This policy enables you to view basic logs for Flex Gateway APIs. -* xref:flex-use-api-alerts.adoc[Configure API Alerts] - Configure API alerts to receive email notifications that flag unusual API behavior. -* xref:flex-conn-third-party-logs-config.adoc[Configure Flex Gateway Log Output for Third-Party Services] - Configure log output for consumption by third-party services such as Splunk. -* xref:flex-view-api-metrics.adoc[View Key Metrics for Flex Gateway APIs] - Collect metrics for active Flex Gateway APIs via API Manager. You can view charts and filter metrics by date. -* xref:flex-view-replica-status.adoc[View the Replica Status in Runtime Manager] - View Flex Replica connection status from within the Runtime Manager UI. -* xref:flex-view-api-status.adoc[View the Flex Gateway API Status in Runtime Manager] - View the Flex Gateway API status from within the Runtime Manager UI. -* xref:flex-view-logs-in-monitoring.adoc[View Logs in Anypoint Monitoring] - View details of your Flex Gateway logs from within the Anypoint Monitoring UI. \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-conn-proxy-protocol.adoc b/gateway/1.5/modules/ROOT/pages/flex-conn-proxy-protocol.adoc deleted file mode 100644 index 913590cdf..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-conn-proxy-protocol.adoc +++ /dev/null @@ -1,20 +0,0 @@ -= Configuring PROXY Protocol in Connected Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:page-mode: conn - -include::partial$task-config-proxy-protocol.adoc[tags=intro1;icon-table;byb] - -include::partial$task-config-proxy-protocol.adoc[tags=linux;sample-config] - -include::partial$task-config-proxy-protocol.adoc[tags=docker-intro] -+ -include::partial$task-reg-run-flex-gateway.adoc[tags=start-command-local] -+ -include::partial$task-config-proxy-protocol.adoc[tags=docker-config-file-step;sample-config] - -include::partial$task-config-proxy-protocol.adoc[tags=k8s;sample-config] - -include::partial$task-config-proxy-protocol.adoc[tags=see-also] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-conn-reg-run-app.adoc b/gateway/1.5/modules/ROOT/pages/flex-conn-reg-run-app.adoc deleted file mode 100644 index d2208db3e..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-conn-reg-run-app.adoc +++ /dev/null @@ -1,159 +0,0 @@ -// Register and run a flex gateway with a connected app either in a Docker container or as a Linux service -= Registering and Running in Connected Mode with a Connected App -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:reg-mode: Connected - -//table with tech logos and links (linux, docker, k8, openshift) -include::partial$task-reg-run-flex-gateway.adoc[tags=table-logos-links] - -[[prereqs]] -// Prerequisites -include::partial$task-reg-run-flex-gateway.adoc[tags=prerequisites-heading;app-prerequisites;prerequisites;environment-prerequisites] - -[[linux]] -// Register and run with a connected app as a Linux service -include::partial$task-reg-run-flex-gateway.adoc[tags=app-linux-heading;reg-command-intro;app-replace-content;environment-replace-content;replace-content;reg-command-heading;reg-command-1;linux-reg-command;app-reg-command;environment-reg-command;connected-reg-command;organization-reg-command;output-reg-command-linux;reg-command-2;after-reg;linux-after-reg;disconnected-after-reg;create-config-folder-file;config-content;linux-start-commands;gateway-connected] - -[[container]] -include::partial$task-reg-run-flex-gateway.adoc[tags=app-container-heading] -include::partial$task-reg-run-flex-gateway.adoc[tags=table-containers-logos-heading] -include::partial$task-reg-run-flex-gateway.adoc[tags=table-containers-logos-links] - -[[docker]] -// Register and run with a connected app in a Docker container -include::partial$task-reg-run-flex-gateway.adoc[tags=app-docker-heading;reg-command-intro;sub-coll-info-container;app-replace-content;environment-replace-content;replace-content;reg-command-heading-container;docker-create-directory-note;reg-command-1;docker-reg-command;app-reg-command;environment-reg-command;connected-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;after-reg-2;disconnected-after-reg;start-command-container;gateway-connected] - -// PODMAN -[[podman]] -// Register and run with a connected app in a Podman container -include::partial$task-reg-run-flex-gateway.adoc[tags=app-podman-heading;reg-command-intro;sub-coll-info-container;app-replace-content;environment-replace-content;replace-content;reg-command-heading-container;docker-create-directory-note;reg-command-1;podman-reg-command;app-reg-command;environment-reg-command;connected-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;after-reg-2;disconnected-after-reg;podman-start-command;gateway-connected] - -// KUBERNETES -[[kubernetes]] -// Register and run with a connected app in a Kubernetes cluster -//intro -// - overview -include::partial$task-reg-run-flex-gateway.adoc[tags=app-k8s-heading;k8s-install-flex-helm-chart-intro-connected] -// - cluster-level access when rbac enabled -include::partial$prerequisites.adoc[tags=rbac-permission-k8] -//- links to steps -include::partial$task-reg-run-flex-gateway.adoc[tags=links-to-k8s-reg-steps] -//- connected mode supplemental info for k8 and openshift -include::partial$task-reg-run-flex-gateway.adoc[tag=k8s-connected-intro] - -[[options-k8s]] -//sub collected info -include::partial$task-reg-run-flex-gateway.adoc[tags=sub-coll-info;app-replace-content;environment-replace-content;replace-content] - -[[reg-k8s]] -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-heading] -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-heading-intro] - -[[docker-container-reg]] -.*Docker* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=docker-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;docker-reg-command;app-reg-command;environment-reg-command;connected-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg;disconnected-after-reg] -==== - -[[podman-container-reg]] -.*Podman* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=podman-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;podman-reg-command;app-reg-command;environment-reg-command;connected-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg;disconnected-after-reg] -==== - -[[deploy-k8s]] -//install helm chart section -//- title -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-title] -//- helm chart info -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart] -include::partial$prerequisites.adoc[tags=helm] -Refer to <> for configuration options. -//- add chart repo and deploy flex via chart -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart-add;k8s-flex-helm-chart-deploy] -//- for flex connected mode deployment only -include::partial$task-reg-run-flex-gateway.adoc[tags=gateway-connected] - -[[helm-options-k8s]] -//helm config options -include::partial$task-reg-run-flex-gateway.adoc[tags=helm-chart-options] - - -// OPENSHIFT -[[openshift]] -// Register and run with a connected app in an OpenShift cluster -//heading -include::partial$task-reg-run-flex-gateway.adoc[tags=app-openshift-heading] -//task intro -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-intro-connected] -//- cluster-level access when rbac enabled -include::partial$prerequisites.adoc[tags=rbac-permission-k8;rbac-role-openshift] -//- note (openshift command line procedures same as k8) -include::partial$task-reg-run-flex-gateway.adoc[tags=note-openshift-k8] -//- links to steps -include::partial$task-reg-run-flex-gateway.adoc[tags=links-to-openshift-reg-steps] -//- connected mode supplemental info for k8 and openshift -include::partial$task-reg-run-flex-gateway.adoc[tag=k8s-connected-intro] - -[[options-openshift]] -//sub collected info -include::partial$task-reg-run-flex-gateway.adoc[tags=sub-coll-info;app-replace-content;environment-replace-content;replace-content] - -[[reg-openshift]] -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-heading] - -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-openshift-heading-intro] - -[[docker-openshift-container-reg]] -.*Docker* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=docker-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;docker-reg-command;app-reg-command;environment-reg-command;connected-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg;disconnected-after-reg] -==== - -[[podman-openshift-container-reg]] -.*Podman* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=podman-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;podman-reg-command;app-reg-command;environment-reg-command;connected-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg;disconnected-after-reg] -==== - -[[deploy-openshift]] -//install helm chart section -//- title -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-title] -//- helm chart info -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart] -include::partial$prerequisites.adoc[tags=helm] -Refer to <> for configuration options. -//- add chart repo and deploy flex via chart -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart-add;k8s-flex-helm-chart-deploy] -//- for flex connected mode deployment only -include::partial$task-reg-run-flex-gateway.adoc[tags=gateway-connected] - -[[helm-options-openshift]] -//helm config options -include::partial$task-reg-run-flex-gateway.adoc[tags=helm-chart-options] - - -== See Also - -* xref:flex-gateway-getting-started.adoc[] -* xref:flex-local-reg-run.adoc[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-conn-reg-run-token.adoc b/gateway/1.5/modules/ROOT/pages/flex-conn-reg-run-token.adoc deleted file mode 100644 index b03a92a26..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-conn-reg-run-token.adoc +++ /dev/null @@ -1,160 +0,0 @@ -= Registering and Running in Connected Mode with a Token -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:reg-mode: Connected - -//table with tech logos and links (linux, docker, k8, openshift) -include::partial$task-reg-run-flex-gateway.adoc[tags=table-logos-links] - -[[prereqs]] -// Prerequisites -include::partial$task-reg-run-flex-gateway.adoc[tags=prerequisites-heading;prerequisites;token-prerequisites] - -[[linux]] -// Register and run with a token as a Linux service -include::partial$task-reg-run-flex-gateway.adoc[tags=token-linux-heading;reg-command-intro;sub-coll-info;token-replace-content;replace-content;reg-command-heading;reg-command-1;linux-reg-command;token-reg-command;connected-reg-command;organization-reg-command;output-reg-command-linux;reg-command-2;after-reg;linux-after-reg;disconnected-after-reg;create-config-folder-file;config-content;linux-start-commands;gateway-connected] - -[[container]] -include::partial$task-reg-run-flex-gateway.adoc[tags=token-container-heading] -include::partial$task-reg-run-flex-gateway.adoc[tags=table-containers-logos-heading] -include::partial$task-reg-run-flex-gateway.adoc[tags=table-containers-logos-links] - -[[docker]] -// Register and run with a token in a Docker container -include::partial$task-reg-run-flex-gateway.adoc[tags=token-docker-heading;reg-command-intro;sub-coll-info-container;token-replace-content;replace-content;reg-command-heading-container;docker-create-directory-note;reg-command-1;docker-reg-command;token-reg-command;connected-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;after-reg-2;disconnected-after-reg;start-command-container;gateway-connected] - -// PODMAN -[[podman]] -// Register and run with a token in a Podman container -include::partial$task-reg-run-flex-gateway.adoc[tags=token-podman-heading;reg-command-intro;sub-coll-info-container;token-replace-content;replace-content;reg-command-heading-container;docker-create-directory-note;reg-command-1;podman-reg-command;token-reg-command;connected-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;after-reg-2;disconnected-after-reg;podman-start-command;gateway-connected] - -// KUBERNETES -[[kubernetes]] -// Register and run with a token in a Kubernetes cluster -//heading -include::partial$task-reg-run-flex-gateway.adoc[tags=token-k8s-heading] -// - task overview -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-intro-connected] -// - cluster-level access when rbac enabled -include::partial$prerequisites.adoc[tags=rbac-permission-k8] -//- links to steps -include::partial$task-reg-run-flex-gateway.adoc[tags=links-to-k8s-reg-steps] -//- connected mode supplemental info for k8 and openshift -include::partial$task-reg-run-flex-gateway.adoc[tag=k8s-connected-intro] - -[[options-k8s]] -//sub collected info -include::partial$task-reg-run-flex-gateway.adoc[tags=sub-coll-info;token-replace-content;replace-content] - -[[reg-k8s]] -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-heading] -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-heading-intro] - -[[docker-container-reg]] -.*Docker* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=docker-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;docker-reg-command;token-reg-command;connected-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg;disconnected-after-reg] -==== - -[[podman-container-reg]] -.*Podman* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=podman-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;podman-reg-command;token-reg-command;connected-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg;disconnected-after-reg] -==== - -[[deploy-k8s]] -//install helm chart section -//- title -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-title] -//- helm chart info -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart] -include::partial$prerequisites.adoc[tags=helm] -Refer to <> for configuration options. -//- add chart repo and deploy flex via chart -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart-add;k8s-flex-helm-chart-deploy] -//- for flex connected mode deployment only -include::partial$task-reg-run-flex-gateway.adoc[tags=gateway-connected] - -[[helm-options-k8s]] -//helm config options -include::partial$task-reg-run-flex-gateway.adoc[tags=helm-chart-options] - - -// OPENSHIFT -[[openshift]] -// Register and run with a token in an OpenShift cluster -//heading -include::partial$task-reg-run-flex-gateway.adoc[tags=token-openshift-heading] -//intro -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-intro-connected] -//- cluster-level access when rbac enabled -include::partial$prerequisites.adoc[tags=rbac-permission-k8;rbac-role-openshift] -//- note (openshift command line procedures same as k8) -include::partial$task-reg-run-flex-gateway.adoc[tags=note-openshift-k8] -//- links to steps -include::partial$task-reg-run-flex-gateway.adoc[tags=links-to-openshift-reg-steps] - -//- connected mode supplemental info for k8 and openshift -include::partial$task-reg-run-flex-gateway.adoc[tag=k8s-connected-intro] - -[[options-openshift]] -//sub collected info -include::partial$task-reg-run-flex-gateway.adoc[tags=sub-coll-info;token-replace-content;replace-content] - -[[reg-openshift]] -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-heading] - -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-openshift-heading-intro] - -[[docker-openshift-container-reg]] -.*Docker* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=docker-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;docker-reg-command;token-reg-command;connected-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg;disconnected-after-reg] -==== - -[[podman-openshift-container-reg]] -.*Podman* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=podman-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;podman-reg-command;token-reg-command;connected-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg;disconnected-after-reg] -==== - -[[deploy-openshift]] -//install helm chart section -//- title -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-title] -//- helm chart info -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart] -include::partial$prerequisites.adoc[tags=helm] -Refer to <> for configuration options. -//- add chart repo and deploy flex via chart -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart-add;k8s-flex-helm-chart-deploy] -//- for flex connected mode deployment only -include::partial$task-reg-run-flex-gateway.adoc[tags=gateway-connected] - -[[helm-options-openshift]] -//helm config options -include::partial$task-reg-run-flex-gateway.adoc[tags=helm-chart-options] - - -== See Also - -* xref:flex-gateway-getting-started.adoc[] -* xref:flex-local-reg-run.adoc[] diff --git a/gateway/1.5/modules/ROOT/pages/flex-conn-reg-run-up.adoc b/gateway/1.5/modules/ROOT/pages/flex-conn-reg-run-up.adoc deleted file mode 100644 index f13cdfd65..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-conn-reg-run-up.adoc +++ /dev/null @@ -1,160 +0,0 @@ -= Registering and Running in Connected Mode with a Username and Password -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:reg-mode: Connected - -//table with tech logos and links (linux, docker, k8, openshift) -include::partial$task-reg-run-flex-gateway.adoc[tags=table-logos-links] - -[[prereqs]] -// Prerequisites -include::partial$task-reg-run-flex-gateway.adoc[tags=prerequisites-heading;prerequisites;environment-prerequisites;user-prerequisites] - -[[linux]] -// Register and run with a username and password as a Linux service -include::partial$task-reg-run-flex-gateway.adoc[tags=user-linux-heading;reg-command-intro;user-replace-content;environment-replace-content;replace-content;reg-command-heading;reg-command-1;linux-reg-command;user-reg-command;environment-reg-command;connected-reg-command;organization-reg-command;output-reg-command-linux;reg-command-2;after-reg;linux-after-reg;disconnected-after-reg;create-config-folder-file;config-content;linux-start-commands;gateway-connected] - -[[container]] -include::partial$task-reg-run-flex-gateway.adoc[tags=user-container-heading] -include::partial$task-reg-run-flex-gateway.adoc[tags=table-containers-logos-heading] -include::partial$task-reg-run-flex-gateway.adoc[tags=table-containers-logos-links] - -[[docker]] -// Register and run with a username and password in a Docker container -include::partial$task-reg-run-flex-gateway.adoc[tags=user-docker-heading;reg-command-intro;sub-coll-info-container;user-replace-content;environment-replace-content;replace-content;reg-command-heading-container;docker-create-directory-note;reg-command-1;docker-reg-command;user-reg-command;environment-reg-command;connected-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;after-reg-2;disconnected-after-reg;start-command-container;gateway-connected] - -// PODMAN -[[podman]] -// Register and run with a username and password in a Podman container -include::partial$task-reg-run-flex-gateway.adoc[tags=user-podman-heading;reg-command-intro;sub-coll-info-container;user-replace-content;environment-replace-content;replace-content;reg-command-heading-container;docker-create-directory-note;reg-command-1;podman-reg-command;user-reg-command;environment-reg-command;connected-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;after-reg-2;disconnected-after-reg;podman-start-command;gateway-connected] - -// KUBERNETES -[[kubernetes]] -// Register and run with a username and password in a Kubernetes cluster -//heading -include::partial$task-reg-run-flex-gateway.adoc[tags=user-k8s-heading] -// - task overview -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-intro-connected] -// - cluster-level access when rbac enabled -include::partial$prerequisites.adoc[tags=rbac-permission-k8] -//- links to steps -include::partial$task-reg-run-flex-gateway.adoc[tags=links-to-k8s-reg-steps] -//- connected mode supplemental info for k8 and openshift -include::partial$task-reg-run-flex-gateway.adoc[tag=k8s-connected-intro] - -//sub collected info -[[options-k8s]] -include::partial$task-reg-run-flex-gateway.adoc[tags=sub-coll-info;user-replace-content;environment-replace-content;replace-content] - -[[reg-k8s]] -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-heading] -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-heading-intro] - -[[docker-container-reg]] -.*Docker* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=docker-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;docker-reg-command;user-reg-command;environment-reg-command;connected-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg;disconnected-after-reg] -==== - -[[podman-container-reg]] -.*Podman* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=podman-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;podman-reg-command;user-reg-command;environment-reg-command;connected-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg;disconnected-after-reg] -==== - -[[deploy-k8s]] -//install helm chart section -//- title -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-title] - -//- helm chart info -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart] -include::partial$prerequisites.adoc[tags=helm] -Refer to <> for configuration options. -//- add chart repo and deploy flex via chart -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart-add;k8s-flex-helm-chart-deploy] -//- for flex connected mode deployment only -include::partial$task-reg-run-flex-gateway.adoc[tags=gateway-connected] - -[[helm-options-k8s]] -//helm config options -include::partial$task-reg-run-flex-gateway.adoc[tags=helm-chart-options] - - -// OPENSHIFT -[[openshift]] -// Register and run with a username and password in an OpenShift cluster -//heading -include::partial$task-reg-run-flex-gateway.adoc[tags=user-openshift-heading] -//intro -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-intro-connected] -//- cluster-level access when rbac enabled -include::partial$prerequisites.adoc[tags=rbac-permission-k8;rbac-role-openshift] -//- note (openshift command line procedures same as k8) -include::partial$task-reg-run-flex-gateway.adoc[tags=note-openshift-k8] -//- links to steps -include::partial$task-reg-run-flex-gateway.adoc[tags=links-to-openshift-reg-steps] -//- connected mode supplemental info for k8 and openshift -include::partial$task-reg-run-flex-gateway.adoc[tag=k8s-connected-intro] - -[[options-openshift]] -//sub collected info -include::partial$task-reg-run-flex-gateway.adoc[tags=sub-coll-info;user-replace-content;environment-replace-content;replace-content] - -[[reg-openshift]] -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-heading] - -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-openshift-heading-intro] - -[[docker-openshift-container-reg]] -.*Docker* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=docker-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;docker-reg-command;user-reg-command;environment-reg-command;connected-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg;disconnected-after-reg] -==== - -[[podman-openshift-container-reg]] -.*Podman* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=podman-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;podman-reg-command;user-reg-command;environment-reg-command;connected-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg;disconnected-after-reg] -==== - -[[deploy-openshift]] -//install helm chart section -//- title -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-title] -//- helm chart info -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart] -include::partial$prerequisites.adoc[tags=helm] -Refer to <> for configuration options. -//- add chart repo and deploy flex via chart -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart-add;k8s-flex-helm-chart-deploy] -//- for flex connected mode deployment only -include::partial$task-reg-run-flex-gateway.adoc[tags=gateway-connected] - -[[helm-options-openshift]] -//helm config options -include::partial$task-reg-run-flex-gateway.adoc[tags=helm-chart-options] - - -== See Also - -* xref:flex-gateway-getting-started.adoc[] -* xref:flex-local-reg-run.adoc[] diff --git a/gateway/1.5/modules/ROOT/pages/flex-conn-reg-run.adoc b/gateway/1.5/modules/ROOT/pages/flex-conn-reg-run.adoc deleted file mode 100644 index 476c6118b..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-conn-reg-run.adoc +++ /dev/null @@ -1,19 +0,0 @@ -= Registering and Running Flex Gateway in Connected Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -// :page-aliases: runtime-manager::flex-gateway-register.adoc -:imagesdir: ../assets/images - -Before you can use your Flex Gateway to configure API instances, you must register and start the gateway. - -There are three ways to register Flex Gateway in Connected Mode: - -* xref:flex-conn-reg-run-up.adoc[Register and Run using a Username and Password]: If you have -a username and password for Anypoint Platform, you can use these credentials to register -your Flex Gateway. -* xref:flex-conn-reg-run-app.adoc[Register and Run using a Connected App]: If you do not have -a username or password for Anypoint Platform, you can use connected app credentials to register -your Flex Gateway. -* xref:flex-conn-reg-run-token.adoc[Register and Run using a Token]: If you do not have a username -or password for Anypoint Platform, you can use a registration token generated by the Runtime Manager UI. \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-conn-rep-run.adoc b/gateway/1.5/modules/ROOT/pages/flex-conn-rep-run.adoc deleted file mode 100644 index 5d669476a..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-conn-rep-run.adoc +++ /dev/null @@ -1,32 +0,0 @@ -= Configuring Replicas for Flex Gateway in Connected Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -// :page-aliases: runtime-manager::flex-gateway-replicas.adoc -:imagesdir: ../assets/images - -[cols="1a,1a"] -|=== -|image:install-linux-logo.png[20%,20%,xref="flex-conn-rep-run.adoc#add-a-flex-replica-as-a-linux-service"] -|image:install-docker-logo.png[25%,25%,xref="flex-conn-rep-run.adoc#docker"] - -|xref:flex-conn-rep-run.adoc#add-a-flex-replica-as-a-linux-service[Add a Flex Replica as a Linux Service] -|xref:flex-conn-rep-run.adoc#docker[] -|=== - -include::partial$task-rep-run-flex-gateway.adoc[tags=add-flex-intro] - -include::partial$task-rep-run-flex-gateway.adoc[tags=add-flex-rep-byb;add-flex-rep-byb-conn;add-flex-rep1] - -include::partial$task-reg-run-flex-gateway.adoc[tags=create-config-folder-file;config-content;linux-start-commands] - -include::partial$task-rep-run-flex-gateway.adoc[tags=add-flex-rep2] - -[[docker]] -== Add a Flex Replica in a Docker Container - -To add a Flex Replica in a Docker Container you must run the Flex Gateway start command using the same `registration.yaml` file created during registration. If you are running the container locally, you will also need to use a different port. - -include::partial$task-reg-run-flex-gateway.adoc[tags=start-command] - -Now if you check in Runtime Manager after clicking *Flex Gateway* in the left navigation, your Flex Gateway will have an additional replica listed. You may need to refresh the page. \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-conn-shared-storage-config.adoc b/gateway/1.5/modules/ROOT/pages/flex-conn-shared-storage-config.adoc deleted file mode 100644 index d568bc178..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-conn-shared-storage-config.adoc +++ /dev/null @@ -1,38 +0,0 @@ -= Configuring Shared Storage for Flex Gateway in Connected Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:page-mode: conn - -// intro and graphics for each option - linux, docker, kubernetes -include::partial$task-shared-storage-config.adoc[tags=intro1;intro2;icon-table;byb;linux;sample-config-all-intro] -// configure shared storage for Flex Gateway as a Linux Service -+ -include::partial$task-shared-storage-config.adoc[tags=sample-config-all] - -// configure shared storage for Flex Gateway in a Docker container -include::partial$task-shared-storage-config.adoc[tags=docker-intro] -+ -include::partial$task-reg-run-flex-gateway.adoc[tags=start-command-local] -+ -include::partial$task-shared-storage-config.adoc[tags=docker-config-file-step;sample-config-all-intro] -+ -include::partial$task-shared-storage-config.adoc[tags=sample-config-all] - -//configure shared storage for Flex Gateway in a Kubernetes cluster -include::partial$task-shared-storage-config.adoc[tags=k8s;sample-config-all-intro] - -include::partial$task-shared-storage-config.adoc[tags=sample-config-all] - -// TLS -include::partial$task-shared-storage-config.adoc[tags=tls-intro] - -include::partial$task-shared-storage-config.adoc[tags=tls-sample-config] - -include::partial$task-shared-storage-config.adoc[tags=tls-more-information] - -== See Also - -* xref:flex-local-shared-storage-config.adoc[Configuring Shared Storage for Flex Gateway in Local Mode] -* xref:flex-local-configuration-reference-guide.adoc#shared-storage[Declarative Configuration Reference Guide] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-conn-third-party-logs-config.adoc b/gateway/1.5/modules/ROOT/pages/flex-conn-third-party-logs-config.adoc deleted file mode 100644 index 8baa5b565..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-conn-third-party-logs-config.adoc +++ /dev/null @@ -1,53 +0,0 @@ -= Configuring Flex Gateway Log Output for Third-Party Services -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:page-mode: conn - -include::partial$task-config-logs-third-party.adoc[tags=intro1;intro2-conn] - -include::partial$task-config-logs-third-party.adoc[tags=icon-table] - -include::partial$task-config-logs-third-party.adoc[tags=byb] - -include::partial$task-config-logs-third-party.adoc[tags=runtime-access-logs] - -include::partial$task-config-logs-third-party.adoc[tags=file-example] - -include::partial$task-config-logs-third-party.adoc[tags=linux;view-logs-conn;configure-message-logging-step] - -include::partial$task-config-logs-third-party.adoc[tags=docker] -+ -include::partial$task-reg-run-flex-gateway.adoc[tags=start-command-local] -+ -include::partial$task-config-logs-third-party.adoc[tags=docker2;view-logs-conn;configure-message-logging-step] - -include::partial$task-config-logs-third-party.adoc[tags=k8s;view-logs-conn;configure-message-logging-step] - -include::partial$task-config-logs-third-party.adoc[tags=file-configuration-example] - -include::partial$task-config-logs-third-party.adoc[tags=http-configuration-example] - -include::partial$task-config-logs-third-party.adoc[tags=splunk-configuration-example] - -include::partial$task-config-logs-third-party.adoc[tags=dynatrace-configuration-example] - -[[configure-access-logs]] -== Configure Access Logs -To configure access logs in your log output, you must apply a Message Logging policy to the APIs whose request and response data you want to monitor. If you have previously applied a Message Logging policy to an API instance, you do not need to configure another. - -To configure a Message Logging policy, see xref:flex-conn-message-log.adoc[]. - -Configuring a Message Logging policy makes access logs visible in both API Manager *Logs* and your third-party log services. - -If your access logs are not visible, it is possible that a policy with a higher execution order is causing an error before the Message Logging policy can execute. To reorder policy execution, see xref:policies-reorder.adoc[]. - -// Logging examples -include::partial$task-config-logs-third-party.adoc[tags=log-output-examples] - - -== See Also - -* xref:flex-local-configuration-reference-guide.adoc#logging[Declarative Configuration Reference Guide] -* xref:flex-conn-message-log.adoc[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-conn-tls-config.adoc b/gateway/1.5/modules/ROOT/pages/flex-conn-tls-config.adoc deleted file mode 100644 index 341465d33..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-conn-tls-config.adoc +++ /dev/null @@ -1,99 +0,0 @@ -= Configuring TLS Context for Flex Gateway in Connected Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:page-mode: conn - -// Add TLS Context intro -include::partial$task-flex-add-tls-context.adoc[tags=intro1;intro2] - -include::partial$task-tls-config.adoc[tags=intro2] - -Flex Gateway implements inbound TLS at the port level, meaning that an inbound TLS context applied to an API instance is also applied to all other instances that share the same port. To learn more about how TLS context is shared across ports, see <>. - -Port sharing is not a concern for outbound TLS. You can select the outbound TLS context for each individual upstream service. - -== Before You Begin -Before configuring the TLS context for a Flex Gateway Connected Mode, complete the following tasks: - -* xref:flex-install.adoc[Download Flex Gateway] -* xref:flex-{page-mode}-reg-run.adoc[Register and Run Flex Gateway] -* Ensure the following permissions are enabled: -** _Grant access to secrets_ in Secrets Manager -** _Deploy API Proxies_ in API Manager -+ -Your Anypoint Platform Admin can add these permissions in Access Management. -See xref:access-management::configure-teams.adoc#manage-team-permissions[Manage Team Permissions] for more information. - -* xref:anypoint-security::asm-secret-group-creation-task.adoc[Create a Secret Group] -+ -When adding a secret group, refer to the <>. -+ -Depending on your desired configuration, either: -+ -** xref:anypoint-security::asm-secret-group-creation-task.adoc#adding-a-keystore[Add a Keystore] -** xref:anypoint-security::asm-secret-group-creation-task.adoc#adding-a-truststore[Add a Trustore] -+ -NOTE: Privacy Enhanced Mail (PEM) type is required for your Keystore or Truststore. - -// TLS Configuration Options -include::partial$task-flex-add-tls-context.adoc[tags=configurationOptions] - - -// Add TLS Context in Secrets Manager -include::partial$task-flex-add-tls-context.adoc[tags=addContext] - - -//redeploy - - - -== Apply a TLS Context to an API - -You can apply a TLS context to an API instance either when creating a new instance or by editing an existing instance. - -API instance settings configuration has two parts, the downstream configuration and the upstream configuration. Inbound TLS context is a downstream configuration option, and outbound TLS context is an upstream configuration option. When adding a new API instance, the downstream and upstream configuration is on separate pages. When editing an API instance, the downstream and upstream configuration options appear on the same page but are in different sections. - -For information about either option, see the relevant tutorial: - -* xref:api-manager::create-instance-task-flex.adoc[] -* xref:api-manager::edit-api-endpoint-task.adoc[] - -To apply a TLS context: - -. Go to *Anypoint Platform > API Manager*. -. Navigate to either the: -* Upstream or downstream configuration page, if adding a new API instance. -* *Settings* page, if editing an existing API instance. -. Select *HTTPS* for the *Protocol* configuration field if configuring an inbound TLS context. -. Click *Add TLS Context*. -.. Select a *Secret Group*. -.. Select a *TLS Context*. -.. Click *Ok*. -. Finish creating the API instance or save the configuration edits. - - -[[tls-context-applied-to-shared-ports]] -== Inbound TLS Context Applied to Shared Ports -Though a port must have an API instance to have an inbound TLS context applied, the inbound TLS context is applied to the port rather than the API instance. - -Applying an inbound TLS context to an API instance that shares its port with other instances applies the inbound TLS context to all instances sharing the port. - -When you apply, edit, or remove the inbound TLS context of an API instance sharing a port, API Manager shows a warning with a list of the instances sharing the port. You can then choose to override the inbound TLS context of the listed API instances. Overriding the inbound TLS context of the API instances that share the port applies the inbound TLS context to the instances and then redeploys the instances. - -Overriding the inbound TLS context of deployed API instances redeploys the instances. Redeploying causes a brief period of downtime in the API instances. - -If you edit the port of an API instance that previously shared a port and an inbound TLS context with other instances, the inbound TLS context remains applied to the instances on the previous port. - -include::partial$task-flex-add-tls-context.adoc[tags=redeploy] -//Redeploy - -//Ciphers -include::partial$flex-tls-cipher.adoc[tags=connectedSelect;cipherSupport;ciphers] - -//Ciphers -== See Also - -* xref:flex-local-tls-config.adoc[Configuring TLS Context for Flex Gateway in Local Mode] -* xref:policies-included-tls.adoc[Transport Layer Security Policy] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-gateway-configure.adoc b/gateway/1.5/modules/ROOT/pages/flex-gateway-configure.adoc deleted file mode 100644 index d97ce2371..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-gateway-configure.adoc +++ /dev/null @@ -1,24 +0,0 @@ -= Configuring Flex Gateway -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -// :page-aliases: gateway::flex-gateway-replicas.adoc - -Flex Gateway enables configuration via Anypoint Platform (Connected Mode) or declarative configuration files (Local Mode). Configurations include: - -* Replicas -* TLS contexts -* Shared storage -* Forward proxies -* Automated Jenkins pipelines -* Node selection for Kubernetes deployments - -For Connected Mode, see xref:flex-conn-configure.adoc[]. - -For Local Mode, see xref:flex-local-configure.adoc[]. - -== See Also - -* xref:index.adoc[] -* xref:flex-gateway-getting-started.adoc[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-gateway-delete.adoc b/gateway/1.5/modules/ROOT/pages/flex-gateway-delete.adoc deleted file mode 100644 index 869a12805..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-gateway-delete.adoc +++ /dev/null @@ -1,38 +0,0 @@ -= Deleting an Instance of Flex Gateway -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -// :page-aliases: runtime-manager::flex-gateway-delete.adoc -:imagesdir: ../assets/images - -To delete a gateway and its replicas in Runtime Manager: - -. From Anypoint Platform, select *Runtime Manager*. -. Select *Flex Gateway* in the navigation menu. -. Click the action menu button for the gateway that you want to delete. -. Click *Delete gateway*. - -If there are APIs associated with the gateway you want to delete, Runtime Manager displays a message that prompts you to either: - -* Move the associated APIs to another gateway. -* Delete all associated APIs. - -Once you moved or deleted all the associated APIs, follow the steps previously described to delete a gateway and confirm the deletion. - -== Flex Gateway Status - -The following table describes the meaning of each gateway status: - -[%header,cols="20a,50a"] -|=== -|Status Name |Description -|Connected |Gateway is connected to the platform, and you can add APIs to it. -|Disconnected |Gateway is not connected to the platform. -|Deleting | Gateway is in the process of being deleted. -|Deleted | Gateway was deleted from the platform. It stops accepting API requests and configuration changes, and stops reporting metrics. -|=== - -Deleted gateways are shown with status `Deleted` for 30 days before the status is removed from the gateways list. - -[NOTE] -If you delete a gateway, you lose its configuration history and cannot recover it. \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-gateway-getting-started.adoc b/gateway/1.5/modules/ROOT/pages/flex-gateway-getting-started.adoc deleted file mode 100644 index d692b8f86..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-gateway-getting-started.adoc +++ /dev/null @@ -1,192 +0,0 @@ -= Getting Started with Flex Gateway -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -// :page-aliases: runtime-manager::flex-gateway-add.adoc, runtime-manager::flex-gateway-api-add.adoc -:imagesdir: ../assets/images - -The goal of this tutorial is to quickly get started with Anypoint Flex Gateway. Using Docker, the tutorial describes how to install, register, and run Flex Gateway in Connected Mode. Additionally, the tutorial describes how to publish an API that is secured with a basic authentication policy. - -== Before You Begin - -Before getting started with Flex Gateway, ensure that you have: - -* A username and password for your Anypoint Platform organization. If you don’t have Anypoint Platform yet, https://anypoint.mulesoft.com/login/signup[create a Trial organization^] on Anypoint Platform. - -* A Linux machine with an x86 processor. M1 and M2 processors are not supported. -+ -include::partial$prerequisites.adoc[tag=intro] - -** {empty} -include::partial$prerequisites.adoc[tag=amazon-linux] - -** {empty} -include::partial$prerequisites.adoc[tag=centos] - -** {empty} -include::partial$prerequisites.adoc[tag=debian] - -** {empty} -include::partial$prerequisites.adoc[tag=red-hat] - -** {empty} -include::partial$prerequisites.adoc[tag=ubuntu] - -* A Docker installation. See https://www.docker.com/products/docker-desktop/[Docker Desktop^] for an example. - -== Download Flex Gateway - -To download the Flex Gateway Docker image, run the following command in a terminal window: - -[source,ssh,subs=attributes+] ----- -docker pull mulesoft/flex-gateway:{gateway-ver-var} ----- - -[NOTE] -Use `sudo` if you encounter file permission issues when running this command. - -== Register Flex Gateway - -. Create a new directory by running: -+ -[source,ssh] ----- -mkdir flex-registration ----- - -. Navigate to the new directory by running: -+ -[source,ssh] ----- -cd flex-registration ----- - -. Log in to https://anypoint.mulesoft.com/login/[Anypoint Platform^] with your Anypoint username and password. -. Select *Runtime Manager*. -. Click on the *Flex Gateways* tab in the side navigation panel. -. Click *Add Gateway*. -. Select *Docker*. -. Copy the code block in the *Register your gateway* section. The code block contains your unique organization ID and token. -+ -The following screenshot of the *Add a Flex Gateway* page highlights the code block to copy: -+ -image::gateway-quickstart-add-gateway.png["Add a Flex Gateway page with code block to copy selected",width=90%] - -. Run the copied code block in your terminal window, making sure to first replace `` with a name, such as `my-gw`. -+ -[NOTE] -Use `sudo` if you encounter file permission issues when running this command. - -. In Runtime Manager, select *Flex Gateways* from the side navigation panel. -+ -Your registered Flex Gateway now appears in the list of gateways. - -== Run Flex Gateway - -To run Flex Gateway, run the following in a terminal window: - -[source,ssh] ----- -docker run --rm \ - -v "$(pwd)":/usr/local/share/mulesoft/flex-gateway/conf.d \ - -p 8081:8081 \ - mulesoft/flex-gateway ----- - -[NOTE] -Use `sudo` if you encounter file permission issues when running this command. - -A new Flex Gateway instance is now running in your terminal window. - -[NOTE] -The Flex Gateway instance will continue running in the terminal window until the process is stopped, or until the window is closed. - -== Publish a Simple API - -. Select *API Manager* from the Anypoint Platform menu. -. Click *Add API*, followed by *Add new API*: -+ -image::gateway-quickstart-add-new-api.png["Add new API page with Add new API selected",width=35%] - -. From the *Add API* page, select *Flex Gateway* as your runtime. -. Select your registered gateway in the *Select a gateway* section. -. Click *Next*. -+ -The following screenshot of the *Add API* page highlights the specified options: -+ -image::gateway-quickstart-select-gateway-for-api.png["Add API page with Flex Gateway Runtime and my-gw gateway selected",width=100%] - -. Click *Create New API*. -. Specify an API name and select *HTTP API* as the asset type. -. Click *Next*. -. From the *Endpoint* page, enter the following in the *Implementation URI* field: -+ -[source] ----- -https://jsonplaceholder.typicode.com/ ----- -. Enter `8081` in the *Port* field. -. Click *Next*. -+ -// The following screenshot of the *Endpoint* page highlights the specified options. -// + -// image::gateway-quickstart-select-endpoint.png["Screenshot of 'Endpoint' page",width=100%] - -. Click *Save & Deploy*. -+ -Inside the gateway instance Docker container, all HTTP requests made to `localhost` on port `8081` are now proxied to the `jsonplaceholder` service. -. To test the API Instance, run the following command in a new terminal window: -+ -[source,ssh] ----- -curl -s -o /dev/null -w "%{http_code}\n" --request GET 'http://localhost:8081/' ----- -+ -The command executes a `GET` request to the API, and then prints the resulting `200` status code, indicating success. - -== Secure Your API Using the Basic Authentication Policy - -. While still in *API Manager*, select *API Administration* from the side navigation panel. -. Select the name of the API created in the previous section. -. Select *Policies* from the side navigation panel. -. In the *Policies* page, click *Add policy*. -+ -The following screenshot of the *Policies* page highlights the specified options: -+ -image::gateway-quickstart-add-policy.png["Add Policy page with Add policy button",width=65%] - -. Select the *Basic Authentication - Simple* policy. -. Click *Next*. -. For *User Name*, enter `user`. -. For *User Password*, enter `password`. -. Click *Apply*. -+ -The following screenshot of the *Configure Basic Authentication - Simple policy* page highlights the specified options: -+ -image::gateway-quickstart-config-basic-auth.png["Configure Basic Authentication Policy page with User Password field selected",width=65%] - -. To test the API Instance _without_ authentication, run the following `curl` command in the terminal window: -+ -[source,ssh] ----- -curl -s -o /dev/null -w "%{http_code}\n" --request GET 'http://localhost:8081/' ----- -+ -The command prints a resulting `401 (Unauthorized)` status code, because the request does not include the Authentication context. -. To test the API Instance _with_ authentication, run the following command in the terminal window: -+ -[source,ssh] ----- -curl -s -o /dev/null -w "%{http_code}\n" --request GET 'http://localhost:8081/' -u user:password ----- -+ -[NOTE] -The `user` and `password` parameters must match what was specified when you applied the policy via *API Manager*. -+ -The command prints the resulting `200` status code, indicating success. - -== Next Steps - -* xref:flex-review-prerequisites.adoc[] -* xref:flex-gateway-set-up.adoc[] diff --git a/gateway/1.5/modules/ROOT/pages/flex-gateway-k8-change-helm-settings.adoc b/gateway/1.5/modules/ROOT/pages/flex-gateway-k8-change-helm-settings.adoc deleted file mode 100644 index 2db01d38b..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-gateway-k8-change-helm-settings.adoc +++ /dev/null @@ -1,228 +0,0 @@ -= Update Pod Settings for a Flex Gateway Deployment Through a Helm Chart - -Change requirements for a Pod that contains a Flex Gateway deployment. The example in this guide sets the following CPU and memory requirements in the Helm chart for a Flex Gateway deployment: - -* `resources.limits.cpu=1500m` -* `resources.limits.memory=2048Mi` -* `resources.requests.cpu=260m` -* `resources.requests.memory=384Mi` - -Use this example as a guide to updating values in the Helm chart for your Flex Gateway deployment. - -Find the default Helm chart settings for Flex Gateway through one of the following methods: - -* Open the *flex-gateway* page in https://artifacthub.io/packages/helm/flex-gateway/flex-gateway[ArtifactHUB^] -* Run `helm show values <repository-name>/<chart-name>` from a terminal window, for example, `helm show values flex-gateway/flex-gateway`. - -For details about CPU and memory resource settings, see the https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/[Kubernetes documentation^]. - -== Before You Begin - -Register and deploy Flex Gateway to a Kubernetes cluster. For guidance, see xref:flex-gateway-set-up.adoc[] or xref:flex-gateway-k8-getting-started.adoc[]. - -[[update-cpu-memory-example]] -== Check the Current Settings of Your Helm Chart - -Before updating settings for a Pod that contains a Flex Gateway deployment, check the Pod's settings for the current deployment. - -. Ensure that your Helm repository is up and available by running the following command from a terminal window: -+ -[source,helm] ----- -helm repo up ----- -+ -//TODO: Link to troubleshooting info for this once it's moved to the Troubleshooting section (from getting started for k8). - -. Find the `REVISION` number of the latest deployment. -+ -The following example requests the history of the `ingress` release in the `gateway` namespace: -+ -[source,helm] ----- -helm history ingress -n gateway ----- -+ -The command returns a result similar to this one: -+ ----- -REVISION UPDATED STATUS CHART APP VERSION DESCRIPTION -1 Mon Mar 27 09:36:20 2023 superseded flex-gateway-1.4.2 1.4.2 Upgrade complete -2 Mon Mar 27 11:40:56 2023 deployed flex-gateway-1.4.2 1.4.2 Upgrade complete ----- - -. Check for `USER-SUPPLIED VALUES` settings for `resources` in the currently deployed revision: -+ -.Command Syntax: ----- -helm get values --revision= -n ----- -+ -.Example: -[source,helm] ----- -helm get values --revision=2 ingress -n gateway ----- -+ - -The following example shows the `resources` settings for the Pod's CPU and memory below the Pod's `registration` data: -+ ----- -USER-SUPPLIED VALUES: -registration: - ... -resources: - limits: - cpu: 1000m - memory: 2024Mi - requests: - cpu: 250m - memory: 256Mi ----- -+ -This example displays settings from `REVISION` number `2`. The output displays only revised settings. If your chart has never revised the default Helm chart values, _no_ revisions appear in the output. - -. Use one of the following procedures to change settings in the Helm chart for your Flex Gateway deployment: - -* <> uses `--set` options in a `helm upgrade` command. The command allows multiple `--set` options. -* <> passes a configuration file with multiple settings though the `-f` option to `helm upgrade`. The command allows multiple `-f` options. - -[[use-helm-set-option]] -== Modify Settings for Your Helm Chart - -After following the steps in <>, use the `--set` option to pass new values individually to the Helm chart for your Flex Gateway deployment. Alternatively, follow the procedure in <>. - -. Change the `cpu` and `memory` values by using the `helm upgrade` command. -+ -.Syntax: ----- -helm -n upgrade \ ---wait \ ---reuse-values \ -/ \ ---set = ---set = -... ----- -+ -.Example: -[source,helm] ----- -helm -n gateway upgrade ingress \ ---wait \ ---reuse-values \ -flex-gateway/flex-gateway \ ---set resources.limits.cpu=1500m \ ---set resources.limits.memory=2048Mi \ ---set resources.requests.cpu=260m \ ---set resources.requests.memory=384Mi ----- -+ -When successful, the command returns output similar to this: -+ ----- -Release "ingress" has been upgraded. Happy Helming! -NAME: ingress -LAST DEPLOYED: Mon Mar 27 11:58:36 2023 -NAMESPACE: gateway -STATUS: deployed -REVISION: 3 -TEST SUITE: None ----- - -. Using the new `REVISION` value, check the `resources` settings, for example: -+ -[source,helm] ----- -helm get values --revision=3 ingress -n gateway ----- -+ -The output displays the new `resources` settings for the Pod: -+ ----- -USER-SUPPLIED VALUES: -registration: - ... -resources: - limits: - cpu: 1500m - memory: 2048Mi - requests: - cpu: 260m - memory: 384Mi ----- - -[[use-helm-f-option]] -== Provide a File with Modified Settings for Your Helm Chart - -After following the steps in <>, use the `-f` option with `helm upgrade` to identify the file that contains new Helm chart settings for your Flex Gateway deployment. Alternatively, follow the procedure in <>. - -. Create a configuration file that contains your new settings. -+ -For example, create a YAML file named `my-config-file.yaml` that contains the new `cpu` and `memory` values: -+ -[source,yaml] ----- -resources: - limits: - cpu: 1500m - memory: 2048Mi - requests: - cpu: 260m - memory: 384Mi ----- - -. Pass the new values from your configuration file to your Helm chart, for example: -+ -.Syntax: ----- -helm -n upgrade \ ---wait \ ---reuse-values \ -/ \ --f ----- -+ -.Example: -[source,helm] ----- -helm -n gateway upgrade ingress \ ---wait \ ---reuse-values \ -flex-gateway/flex-gateway \ --f my-config-file.yaml ----- -+ -When successful, the command returns output similar to this: -+ ----- -Release "ingress" has been upgraded. Happy Helming! -NAME: ingress -LAST DEPLOYED: Mon Mar 27 16:38:07 2023 -NAMESPACE: gateway -STATUS: deployed -REVISION: 4 -TEST SUITE: None ----- - -. Using your Helm repository and chart names, verify the update to your chart, for example: -+ -[source,helm] ----- -helm get values --revision=4 ingress -n gateway ----- -+ -The output displays the new `resources` settings for the Pod: -+ ----- -USER-SUPPLIED VALUES: -registration: - ... -resources: - limits: - cpu: 1500m - memory: 2048Mi - requests: - cpu: 260m - memory: 384Mi ----- diff --git a/gateway/1.5/modules/ROOT/pages/flex-gateway-k8-external-dns.adoc b/gateway/1.5/modules/ROOT/pages/flex-gateway-k8-external-dns.adoc deleted file mode 100644 index b41ab95a9..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-gateway-k8-external-dns.adoc +++ /dev/null @@ -1,135 +0,0 @@ -= Provide a Domain Name for an Application on Your Kubernetes Cluster - -Use ExternalDNS to expose an application or service on your Kubernetes cluster through a domain name instead of a difficult-to-understand external IP or random host name. - -https://github.com/kubernetes-sigs/external-dns/blob/master/README.md[ExternalDNS^] is an open source project that supports DNS configurations on many DNS providers. The tool is _not_ a DNS server or provider. Instead, ExternalDNS discovers Kubernetes resources through public DNS servers and configures the resources for supported DNS providers. - -This guide uses ExternalDNS to configure domain names in an AWS Route 53 provider, which is one of the stable providers supported by ExternalDNS. - -== Before You Begin - -Ensure that the following prerequisites are in place: - -* A Kubernetes cluster on AWS - -* A Flex Gateway deployment to an AWS cluster or a registered Flex Gateway instance (gateway) -+ -For gateway registration and deployment processes, see xref:flex-gateway-set-up.adoc[] or xref:flex-gateway-k8-getting-started.adoc[]. - -* An AWS Identity and Access Management (IAM) policy that allows ExternalDNS to update Amazon Route 53 Resource Record Sets and Hosted Zones -+ -To use another target or create the IAM Policy with these permissions, see the https://github.com/kubernetes-sigs/external-dns/blob/master/docs/tutorials/aws.md[ExternalDNS documentation^]. - -== Add ExternalDNS to Your Cluster - -Add ExternalDNS (`external-dns`) to your cluster by creating and deploying a YAML configuration file with the following content to your cluster: - -. Create a YAML file with the following settings. -+ -[source,yaml] ----- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: external-dns - labels: - app.kubernetes.io/name: external-dns -spec: - strategy: - type: Recreate - selector: - matchLabels: - app.kubernetes.io/name: external-dns - template: - metadata: - labels: - app.kubernetes.io/name: external-dns - spec: - containers: - - name: external-dns - image: registry.k8s.io/external-dns/external-dns:v0.13.1 - args: - - --source=service - - --source=ingress - - --domain-filter= # makes only hosted zones visible - - --provider=aws - - --policy=upsert-only # prevents record deletion - - --aws-zone-type=public # public zones only - - --registry=txt - - --txt-owner-id=my-hostedzone-identifier - env: - - name: AWS_DEFAULT_REGION - value: # sets the EKS region - # # Uncomment the following settings when using static credentials - # - name: AWS_SHARED_CREDENTIALS_FILE - # value: /.aws/credentials - # volumeMounts: - # - name: aws-credentials - # mountPath: /.aws - # readOnly: true - # volumes: - # - name: aws-credentials - # secret: - # secretName: external-dns ----- - -. In your new YAML file, set the following options, as needed, for your deployment: - -* `args` options: - -** `- --domain-filter=`: Make hosted zones that match your domain visible to ExternalDNS. Omit this option to process all available hosted zones. -+ -The option is critical for making `external-dns` work as intended. - -** `- --policy=upsert-only`: Prevent ExternalDNS from deleting any records. Omit this option to enable full synchronization. - -** `- --aws-zone-type=public`: Make only public hosted zones visible. Valid values are `public`, `private`, or no value for both types of zones. - -* `env` option `value: `: Set the region in which your EKS cluster is installed, for example, `us-east-1`. - -. If you are using static credentials, remove the comments (`#`) from the lines that contain hidden `env` and `volumes` configurations. - -. Apply the configuration to your cluster by using the following command from a terminal window: -+ -[source,kubctl] ----- -kubectl create --filename --namespace ----- - -== Set DNS Names through Your Helm Chart for Flex Gateway - -Use the `extraAnnotations` parameter with `helm upgrade` to set the domain names. This parameter is described in the https://artifacthub.io/packages/helm/flex-gateway/flex-gateway[Helm chart for Flex Gateway (flex-gateway)^]. - -. Create a YAML configuration file to specify an ExternalDNS key and a comma-separated set of domain values. -+ -Replace the placeholder values `,...,` with your domains: -+ ----- -extraAnnotations: - external-dns.alpha.kubernetes.io/hostname: ,..., ----- - -. Use the `-f` option to pass your configuration file to the `helm upgrade` command. -+ -The command options to use depend on whether your registered gateway is deployed to a cluster: - -.. If you are deploying Flex Gateway to the cluster for the first time, run the following command, replacing the placeholder values with the path to your gateway's registration YAML file (by default, `registration.yaml`) and your domain names: -+ -[source,helm] ----- -helm -n gateway upgrade \ --i --create-namespace \ ---wait ingress flex-gateway/flex-gateway \ ---set-file registration.content= \ --f ----- - -.. If you are updating a running gateway with the annotation, run the following command: -+ -[source,helm] ----- -helm -n gateway upgrade \ ---wait ingress flex-gateway/flex-gateway \ ---reuse-values \ --f ----- diff --git a/gateway/1.5/modules/ROOT/pages/flex-gateway-k8-getting-started.adoc b/gateway/1.5/modules/ROOT/pages/flex-gateway-k8-getting-started.adoc deleted file mode 100644 index 0baaf1ea2..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-gateway-k8-getting-started.adoc +++ /dev/null @@ -1,608 +0,0 @@ -= Getting Started with Flex Gateway in a Kubernetes Cluster -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:reg-mode: Connected - -Get started with Anypoint Flex Gateway in a Kubernetes cluster or an OpenShift cluster, which is based on Kubernetes. Set up a Flex Gateway deployment that connects to Anypoint Platform, and use the deployment to route traffic to your API. This guide covers the following high-level tasks: - -* Downloading, registering, and deploying Flex Gateway in xref:flex-conn-reg-run-token.adoc#k8-token[Connected Mode] with a token -* Creating a simple API in Anypoint API Manager that runs on your gateway -* Protecting the API with a basic authentication policy that you configure in API Manager - -The Flex Gateway deployment process requires a working Kubernetes cluster that you create or that is provisioned for you by a Kubernetes professional. - -Setting up a Kubernetes cluster requires a level of skill and expertise that is _beyond the scope of this guide to provide_. Cluster configuration in Kubernetes differs significantly by service provider and platform. For cluster configuration questions, consult documentation from your Kubernetes service provider or use the https://kubernetes.io/docs/setup/[Kubernetes documentation^]. - -If you lack a Kubernetes cluster but want to try out Flex Gateway quickly, without creating a cluster, see xref:flex-gateway-getting-started.adoc[Getting Started with Flex Gateway] (on Docker). That guide uses Docker exclusively and does not require you to perform any cluster configuration. - - -== Before You Begin - -Before starting the procedures in this guide, ensure that the following prerequisites are in place: - -* A username and password for your Anypoint Platform organization. If you do not have an Anypoint Platform account, https://anypoint.mulesoft.com/login/signup[create a Trial organization^] on Anypoint Platform. - -//docker prereq -* {empty} -include::partial$prerequisites.adoc[tag=docker] -+ -Run `docker --version` from a terminal window to determine if this tool is installed. If you need to install Docker, try https://www.docker.com/[Docker Desktop^]. - -//helm prereq -* {empty} -include::partial$prerequisites.adoc[tag=helm] -+ -Run `helm version` from a terminal window to determine if this tool is installed and check the version. To install or upgrade, use the https://helm.sh/[Helm^] website. - -//kubectl prereq to select cluster prior to deployment -* {empty} -include::partial$prerequisites.adoc[tag=kubectl] -+ -Run `kubectl version --output=yaml` from a terminal window to determine if this tool is installed. If not, find `kubectl` among the installation tools available through the https://kubernetes.io/docs/tasks/tools/[Kubernetes documentation^]. - -//curl prereq to test the API with flex -* {empty} -include::partial$prerequisites.adoc[tag=curl] -+ -Run `curl --version` from a terminal window to determine if this tool is installed. If not, you can download it with a package manager for your machine. - -[[kubernetes-cluster-reqs]] -== Cluster Requirements - -The host for your Kubernetes cluster can be any xref:flex-review-prerequisites.adoc#software-requirements[supported Kubernetes provider], including common cloud-based services, such as Amazon Elastic Kubernetes Service (EKS), Azure Kubernetes Service (AKS), or Google Kubernetes Engine (GKE). - -//cluster-level access when rbac enabled, as for OpenShift -include::partial$prerequisites.adoc[tags=rbac-permission-k8;rbac-role-openshift] - -To complete the procedures in this guide, you must create a Kubernetes cluster or use an existing one for your Flex Gateway deployment. In this guide, you use Helm to deploy Flex Gateway to a Kubernetes cluster and connect it to Anypoint Platform. - -[[min-cluster-reqs]] -The following minimum requirements apply to a small Kubernetes cluster used for demonstration purposes in this guide and _do not apply to requirements of a production environment_: -//TODO: POINT TO PROD REQUIREMENTS ONCE THEY ARE AVAILABLE. -//Create story - -* At least one node. - -* Support for the creation of a `Service` resource of the `LoadBalancer` type. -+ -This requirement avoids deployment errors when you use this guide. However, it is possible to customize the `Service` type when deploying a gateway. Flex Gateway supports the following services: `ClusterIP`, `NodePort`, `LoadBalancer` (default), `ExternalName`. See the `service.type` key in the https://artifacthub.io/packages/helm/flex-gateway/flex-gateway[Helm chart for Flex Gateway^]. - -//TODO: TBD, MAYBE REMOVE THESE NUMBERS UNTIL PERF HAS A RECOMMENDATION -* Compute resources needed for the deployment procedure are _very unlikely_ to exceed the following values (equivalent to the EKS t3.micro instance type): - -** vCPU: 2 vCPUs -** Memory: 1 GiB -** Network: Up to 5 Gigabit -** Max ENI: 2 -** Max IPs: 4 - -To determine whether your cluster is ready for the <>, review <> _before starting_ the deployment. The checks require you to run a set of `kubectl` commands. - -[[download-flex]] -== Step 1: Download the Flex Gateway Image - -Use Docker to download the Flex Gateway image from the Docker Hub registry. - -This procedure is a prerequisite to registering the Flex Gateway with Anypoint Platform in <>. Registration is required during the gateway deployment through Helm in <>. - -. Check that Docker is running by executing the following command in a terminal window: -+ -[source,docker,subs=attributes+] ----- -docker info ----- -+ -If you receive an error after executing this command, see the information about <>. -. Run the following command in a terminal window: -+ -[source,docker,subs=attributes+] ----- -docker pull mulesoft/flex-gateway:{gateway-ver-var} ----- -+ -When successful, this command prints a message similar to the following one in your terminal window: -+ ----- -latest: Pulling from mulesoft/flex-gateway -Digest: sha256:e55555abcdefg1234567zxynwo33333fadjf -Status: Image is up to date for mulesoft/flex-gateway:latest -docker.io/mulesoft/flex-gateway:latest ----- -+ -Use `sudo` if you encounter permission issues when running this command. - -[[register-flex]] -== Step 2: Register Flex Gateway - -Register the Flex Gateway image from a terminal window using a temporary token generated by Anypoint Runtime Manager. This procedure produces a local `registration.yaml` file that contains registration properties for a named gateway. These properties are incorporated into a Helm chart in <>. - -. From a terminal window, prepare a directory for a Flex Gateway registration file (`registration.yaml`). -.. Create a directory: -+ -[source,mkdir] ----- -mkdir flex-registration ----- -.. Navigate to the new directory: -+ -[source,cd] ----- -cd flex-registration ----- - -. Log in to https://anypoint.mulesoft.com/login/[Anypoint Platform^] and select *Runtime Manager*. -. From Runtime Manager, locate the procedure for registering Flex Gateway: -.. Click *Flex Gateways* in the side navigation panel. -.. Click *Add Gateway*. -.. Select one of the following environments: -+ -* *Kubernetes* -* *OpenShift* -.. In the page that opens, locate the command in the *Register your gateway* section. -+ -Kubernetes Example: -+ -image::gateway-quickstart-k8-add-gateway-rtm.png["Add registration code block from Add a Flex Gateway page"] -+ -The highlighted command block includes your unique organization ID and a temporary token. - -. In your terminal window, copy the command block from Runtime Manager to your `./flex-registration` directory. -+ -Notice that Runtime Manager provides the required organization and token values. - -. Before running the command, replace `` at the end of the command block with a _unique_ name for your gateway, such as `my-gateway`. -+ -The name that you provide for your gateway must be unique within the scope of your Anypoint Platform organization and environment. Completing this registration step is required once _and allowed no more than once_ per named gateway and organization. - -. Run the edited command from your terminal window. -+ -When successful, the command produces a `registration.yaml` in your `./flex-registration` directory and displays the following message in your terminal window: -+ ----- -Starting registration, please be patient. -Registration completed, the configuration files were written -in directory "/registration". For security, modify the file permissions -to restrict production scenario access to the user running flex. ----- -+ -Note that the message in the terminal window refers to a `/registration` directory that resides within the Docker container. -+ -Use `sudo` if you encounter file permission issues when running this command. If your token expires before you run the command, a `400 Bad Request` error occurs. In this case, you must refresh the Runtime Manager page to generate a new token and run the modified command that appears on the page. - -[[create-repo]] -== Step 3: Add a Repository for the Helm Chart - -Add the Flex Gateway chart repository. Note that you can get more information about the properties of the Helm chart for Flex Gateway in https://artifacthub.io/packages/helm/flex-gateway/flex-gateway[ArtifactHUB^]. - -. Add a Helm repository named `flex-gateway` for your Helm chart: -+ -[source,helm] ----- -helm repo add flex-gateway https://flex-packages.anypoint.mulesoft.com/helm ----- -+ -The command either adds the repository or skips this process if a Helm repository with that name already exists on your machine: -+ -* If the repository is new, the command returns the following message: -+ ----- -"flex-gateway" has been added to your repositories ----- -+ -* If the repository already exists, the command returns the following message: -+ ----- -"flex-gateway" already exists with the same configuration, skipping ----- - -. Run `helm repo up`. -+ -The command returns the following message: -+ ----- -Hang tight while we grab the latest from your chart repositories... -...Successfully got an update from the "flex-gateway" chart repository -Update Complete. ⎈Happy Helming!⎈ ----- -+ -If you have more than one Helm repository on your machine, the message in your terminal window lists all of the repositories. - -[[deploy-flex]] -== Step 4: Deploy and Connect Flex Gateway - -Use Helm to deploy Flex Gateway to a node in your cluster and connect it to Anypoint Platform. After deploying, use Runtime Manager to verify that the gateway is present and connected to Anypoint Platform. - - -Before you begin: - -Confirm that your Kubernetes cluster is available by following the steps in <>. Review <> if you have not done so already. These prerequisites help avoid deployment errors. - -After confirming that your Kubernetes cluster is ready, deploy and connect your gateway: - -. Run the Helm command for deploying your gateway in {reg-mode} Mode: -+ -[source,helm] ----- -helm -n gateway upgrade -i --create-namespace \ ---wait ingress flex-gateway/flex-gateway \ ---set gateway.mode=connected \ ---set-file registration.content=registration.yaml ----- -+ -This command creates the `gateway` namespace and `ingress` release if they do not exist. The command syntax for the Helm repository and chart names is `/`. -+ -The command uses `--set gateway.mode=connected` because the default for the Helm chart is Local Mode. -+ -When you install Flex Gateway, a Service type `LoadBalancer` is created by default. You must have the appropriate permissions to create a load balancer in your cloud. If the load balancer is not provisioned or has issues with the provisioning process, you must choose another type by changing the `service.type` property during the installation. -+ -When successful, the command prints a message indicating an upgrade to your `ingress` release: -+ ----- -Release "ingress" does not exist. Installing it now. -NAME: ingress -LAST DEPLOYED: Mon Mar 20 21:36:19 2023 -NAMESPACE: gateway -STATUS: deployed -REVISION: 1 -TEST SUITE: None ----- -+ -The `REVISION` value increments the `ingress` release by `1` each time you run this command with the same namespace, repository, and chart names. For example, if you run the command a second time, you find a new revision number (`REVISION: 2`). The `LAST DEPLOYED` date reflects the date of that revision. -+ -If you receive an `UPGRADE FAILED` response, see <> information about this issue. - -. If you want to check the status of the Pod that runs your gateway, execute the following `kubectl` command: -+ -[source,kubectl] ----- -kubectl get pods -n gateway ----- -+ -The output indicates whether the pod is running successfully in the `gateway` namespace: -+ ----- -NAME READY STATUS RESTARTS AGE -ingress-57bc75cb46-dmkdq 1/1 Running 0 35s ----- - -. Return to Runtime Manager: -.. Select *← Flex Gateways* from the side navigation panel of the *Add a Flex Gateway* page. -+ -image::gateway-quickstart-k8-return-to-gateway-list.png["Return to Flex Gateway list in Runtime Manager"] -.. Navigate to your registered gateway in the *Flex Gateways* page: -+ -image::gateway-quickstart-k8-my-gateway-rtm.png["Flex Gateway my-gateway in Runtime Manager"] -+ -You can use the search field in the page to narrow the list of gateways. - -.. Make sure that the status of your gateway is *Connected*. -+ -If the status is *Disconnected*, it is likely that the cluster configuration is incorrect or a network issue occurred. Check <> for more information. -//TODO: COVER BOTH TYPES OF ISSUES; MAKE SURE MOST COMMON ARE COVERED -// don't have network-related troubleshooting yet; -// so have some config troubleshooting - -[[create-api]] -== Step 5: Publish and Deploy a Simple API to Flex Gateway - -Create and deploy a simple API to your gateway in Anypoint API Manager: - -. In Runtime Manager, click the *View APIs* menu option for your gateway to navigate to its *View APIs* page. -+ -image::gateway-quickstart-k8-view-apis.png["View APIs menu item for Flex Gateway"] -+ -Alternatively, you can navigate to API Manager from the Anypoint Platform menu. -. From the page that opens, click *Add API* (and if present, *Add new API*) to navigate to the *APIs / Add API* page in API Manager. -. From *APIs / Add API*, configure an API by working through the API configuration pages, starting with the *Runtime* configuration: -+ -image::gateway-quickstart-k8-select-gateway-for-api.png["Add API page with Flex Gateway Runtime and my-gateway selected"] -+ -.. From the *Runtime* configuration page, select *Flex Gateway* as your runtime. -.. Find and select your gateway in the *Select a gateway* area of the page. -+ -Use the search field to locate it, if necessary. -.. Click *Next* to open the *API* page. - -. In the *API* configuration page associated with *APIs / Add API*, provide an API name and asset type: -+ -image::gateway-quickstart-k8-api-config-api.png["Screenshot of 'API' page",width=60%] -+ -.. Click *Create new API*. -+ -The remaining procedures walk you through steps for creating and testing a new HTTP API in Anypoint Exchange. Notice, however, that it is also possible to select an existing API from Exchange from this page. That process is described in the xref:api-manager::create-instance-task-flex.adoc#add-a-new-api[Add a New API] in the API Manager documentation. -+ -.. Provide an API name, such as *my-api*. -.. Select *HTTP API* as the asset type. -.. Click *Next* to open the *Endpoint* configuration page. - -. In the *Endpoint* page associated with *APIs / Add API*, set up an endpoint for your API: -+ -image::gateway-quickstart-k8-api-config-endpoint.png["Screenshot of 'Endpoint' page",width=90%] -+ -.. For the *Scheme*, use the default, *HTTP* setting. -+ -This guide focuses on a simple HTTP API. For HTTPS configuration details, see xref:flex-conn-tls-config.adoc[]. -.. Copy the following URI into the *Implementation URI* field: -+ -[source] ----- -https://jsonplaceholder.typicode.com/ ----- -.. Type `80` in the *Port* field. -+ -The example in this guide uses HTTP port `80` instead of the API Manager default port, `8081`, because the created `Service` maps incoming port `80` to target port `80` on the Pod. See the `service.http.port` key in the https://artifacthub.io/packages/helm/flex-gateway/flex-gateway[Helm chart for Flex Gateway^]. - -.. Click *Next* to open the *Review* page. - -. In the *Review* page associated with *APIs / Add API*: -.. Review your API configuration. -.. If necessary, use *Edit* to revise any configurations. -.. When your configuration is correct, click *Save & Deploy*. -+ -Inside the gateway, all incoming HTTP requests on port `80` are proxied to the `jsonplaceholder` service. -. From a terminal window, test the API instance: -.. Get your external IP address and use it to check that your IP redirects to the *Implementation URI*: -+ -[source,kubectl] ----- -kubectl -n gateway get services ----- -+ -The command returns a result that looks similar to this example: -+ -[[get-services]] ----- -NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE -ingress LoadBalancer 10.100.145.109 <123456.aws.com> 80:30524/TCP,443:31710/TCP 7d7h ----- -+ -The `EXTERNAL-IP` value `<123456.aws.com>` is an example and not an actual value. -+ -.. Run the following `curl` command, replacing `` with _your_ `EXTERNAL-IP` from the preceding step: -+ -[source,curl] ----- -curl -s -o /dev/null -w "%{http_code}\n" --request GET 'http://:80/users' ----- -+ -The command executes a `GET` request to the API and prints a success code: -+ ----- -200 ----- -+ -You can also run a simpler `curl` command to return an array of JSON objects from the service's `/users` endpoint, for example: -+ -[source,curl] ----- -$ curl http://:80/users ----- - -== Step 6: Secure Your API Using the Basic Authentication Policy - -Use API Manager to add a basic authentication policy to your API. - -. In *API Manager*, select *API Administration* from the side navigation panel. -. Find and click the name of the API that you created in <>, such as *my-api*. -. Navigate to the *Policies* page for your API: -.. Select *Policies* from the side navigation panel. -.. On the *Policies* page, click *Add policy*. -+ -image::gateway-quickstart-add-policy.png["Add Policy page with Add policy button",width=90%] -. In the page that opens, find the *Security* policy called *Basic Authentication - Simple* policy. -+ -image::gateway-quickstart-k8-basic-auth.png["Add a policy page",width=90%] -+ -Be careful to avoid selecting the similarly named policy for LDAP. -. Click *Next*. -. Configure a Basic Authentication policy: -+ -image::gateway-quickstart-config-basic-auth.png["Screenshot of 'Configure Basic Authentication - Simple policy' page",width=80%] -+ -.. For *User Name*, enter `user` instead of your real user name. -+ -If the field is pre-populated with a value, you can keep the value or change it to the suggested value. -+ -.. For *User Password*, enter `pw`. -+ -If the field is pre-populated with a value, you can keep the value or change it to the suggested value. -+ -.. Click *Apply*. - -. Test the API instance: -.. Use `kubectl` to get your external IP address again so that you can use it in the next step: -+ -[source,kubectl] ----- -kubectl -n gateway get services ----- -.. Run the following `curl` a command _without_ authentication parameters, replacing `` with the `EXTERNAL-IP` returned by preceding step: -+ -[source,curl] ----- -curl -s -o /dev/null -w "%{http_code}\n" --request GET 'http://:80/users' ----- -+ -The command returns a `401` because the URI lacks authentication parameters: -+ ----- -401 ----- -+ -.. Run the following `curl` a command _with_ authentication parameters, replacing `` with your `EXTERNAL-IP` from the preceding step: -+ -[source,curl] ----- -curl -s -o /dev/null -w "%{http_code}\n" --request GET 'http://:80/users' -u user:pw ----- -+ -The command prints the resulting `200` status code, indicating success: -+ ----- -200 ----- -+ -The `user` and `password` parameters (`user:pw`) must match the values you specified when you applied the policy. If you enter incorrect authentication parameters, the following error occurs: -+ ----- -401 ----- -+ -To address the error, run the command with the correct authentication parameters, or return to the policy configuration page for your API in API Gateway, edit the policy configuration, and rerun the `curl` commands. -+ -image::gateway-quickstart-k8-config-basic-auth-edit-dialogue.png["Screenshot of 'Configure Basic Authentication - Simple policy' edit dialogue",width=90%] -+ -The page for editing the credentials looks similar to this one: -+ -image::gateway-quickstart-k8-config-basic-auth-edit.png["Screenshot of 'Configure Basic Authentication - Simple policy' configuration page",width=90%] - - -[[troubleshooting-k8]] -== Troubleshooting -//iterative troubleshooting info to add as needed: - -If you encounter an error when running a command, check for troubleshooting information: - -<> | <> - -[[docker-troubleshooting]] -=== Docker Command Issues - -//intro -include::partial$troubleshoot.adoc[tags=troubleshoot-docker-intro] - -[[daemon-bad-response]] -==== Docker Daemon Error - -//error -include::partial$troubleshoot.adoc[tags=troubleshoot-docker-daemon-bad-response] - -[[bad-request]] -==== Reg Facade Error (400 Bad Request) - -//error -include::partial$troubleshoot.adoc[tags=troubleshoot-docker-bad-request] - -[[helm-troubleshooting]] -=== Helm Command Issues - -[[troubleshoot-helm-intro]] -//intro -include::partial$troubleshoot.adoc[tags=troubleshoot-helm-intro] - -[[troubleshoot-helm-yaml-empty]] -==== Upgrade Failed: Execution Error -//error: -include::partial$troubleshoot.adoc[tags=troubleshoot-helm-yaml-empty] - -[[troubleshoot-helm-upgrade-failed]] -==== Upgrade Failed: Timed Out -//error: -include::partial$troubleshoot.adoc[tags=troubleshoot-helm-upgrade-failed] - -[[troubleshoot-helm-cluster-unreachable]] -==== Kubernetes Cluster Unreachable -//error: -include::partial$troubleshoot.adoc[tags=troubleshoot-helm-cluster-unreachable] - -See <> for additional information. - -[[troubleshoot-helm-openshift-rbac]] -==== Failed to Install CRD -//error: -include::partial$troubleshoot.adoc[tags=troubleshoot-helm-openshift-rbac] - -See <> for additional information. - -[[check-cluster]] -== Check Your Cluster - -Before deploying Flex Gateway to your Kubernetes cluster in <>, ensure that your cluster is ready. Use `kubectl` to list and select (use) a cluster and to get a list of nodes that the cluster uses. If any steps in this section fail, the deployment process is likely to produce errors. - -To prevent potential timeout and connectivity errors when running procedures in this guide, your cluster must meet the <>. - -. Run `kubectl config get-contexts` to list the clusters, for example: -+ -[source,kubectl] ----- -kubectl config get-contexts ----- -+ -This command is particularly helpful if you have multiple Kubernetes clusters. You can use the command to get the name of the correct cluster. For example, assume that you have a variety of clusters (`my-cluster`, `my-aks`, `my-gke`, `my-eks`). The command prints a list of your clusters. -+ -The following _example_ shows a list of clusters produced by the command: -+ ----- -CURRENT NAME CLUSTER AUTHINFO NAMESPACE - my-cluster my-cluster my-cluster1 - my-aks my-aks my-aks - my-gke my-gke my-gke - my-eks my-eks my-eks ----- -+ -If your cluster is not listed and you are using a custom cluster context file on your machine to connect to your cluster, you might need to add its path to a `KUBECONFIG` environment variable that points to that file. By default, `kubectl` searches for a file named `config` in the `$HOME/.kube` directory. That file lists each `context`, which provides properties such as the cluster name, user, and certificate authority data. -+ -You can check by running `echo $KUBECONFIG` from your terminal window, which prints a environment variable's value, similar to this example: -+ ----- -{KUBECONFIG}:/Users/me/.kube/config:/Users/me/.kube/additional-clusters/my-gke:/Users/me/.kube/additional-clusters/my-aks:/Users/me/.kube/additional-clusters/my-eks ----- -+ -Adding the path to any additional cluster context files on your machine enables the `kubectl config get-contexts` command to list the cluster contexts and for you to use them. -+ -For more detail, see the https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/[Kubernetes documentation^] about the `kubeconfig` file. - -. Provide the name of a cluster into which you plan to deploy your gateway. -+ -The following example uses the cluster `my-eks`, identified in the cluster list example: -+ ----- -kubectl config use-context my-eks ----- -+ -The command switches to the selected cluster context and prints a message similar to this one: -+ ----- -Switched to context "my-eks". ----- -+ -If you receive an error that begins `error: no context exists with the name`, ensure you are using the `NAME` value of the cluster listed by `kubectl config get-contexts` and not the `CLUSTER` value. - -. Check that your cluster has one or more nodes: -+ -[source,kubectl] ----- -kubectl get nodes ----- -+ -The command returns a output similar to this example: -+ ----- -NAME STATUS ROLES AGE VERSION -ip-192-168-70-170 Ready 17h v1.x.x -ip-192-168-9-230 Ready 17h v1.x.x ----- -+ -Make sure that at least one node is in the `Ready` status. -//TODO: WHAT specifically TO DO IF NOT Ready? -//TODO: WHAT OTHER CHARACTERISTICS should they check for? -// Can we check whether the node can create an Service resource of LoadBalancer type, for ex? - -. If your cluster is not ready, correct the cluster configuration. -+ -Alternatively, try the Docker-only guide, xref:flex-gateway-getting-started.adoc[], which does not use a Kubernetes cluster, and skip the next steps. - -. If you have not started the Flex Gateway setup procedures yet, review <> before proceeding to <>. - -. If you have successfully completed all the procedures for downloading and registering your gateway with Docker and adding a repository for your Helm chart, and you are ready to begin the deployment procedure, go to <>. - -== Next Steps - -Learn other ways to set up and configure Flex Gateway for a Kubernetes cluster, and review other policy configuration options. - -* xref:flex-review-prerequisites.adoc[] -* xref:flex-gateway-set-up.adoc[] -* xref:flex-gateway-configure.adoc[] -* xref:flex-gateway-k8-management.adoc[] -* xref:policies-included-directory.adoc[] diff --git a/gateway/1.5/modules/ROOT/pages/flex-gateway-k8-high-availability.adoc b/gateway/1.5/modules/ROOT/pages/flex-gateway-k8-high-availability.adoc deleted file mode 100644 index 22372d307..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-gateway-k8-high-availability.adoc +++ /dev/null @@ -1,262 +0,0 @@ -= Autoscale and Add Flex Gateway Replicas to a Namespace -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -For high availability (HA) environments, horizontal scaling distributes load across multiple Flex Gateway instances. By default, the Helm chart for Flex Gateway is configured with one replica. To release more Flex Gateway replicas into a namespace, provide one of the following configurations: - -* <>: Set a fixed number of Flex Gateway replicas to create. -* <>: Generate replicas automatically based on CPU, memory, and other settings. - -//how to view helm chart defaults: -include::partial$reference-k8-general.adoc[tags=flex-k8-helm-chart-info] - -== Before You Begin - -Ensure that the following prerequisites are in place: - -* A Flex Gateway deployment or a registered Flex Gateway instance (gateway) -+ -For gateway registration and deployment processes, see xref:flex-gateway-set-up.adoc[] or xref:flex-gateway-k8-getting-started.adoc[]. - -* A Kubernetes cluster for your Flex Gateway deployment - -[[replica-count]] -== Set a Replica Count - -Configure and verify the number of replicas that you require. Note that new replicas replace existing replicas. If a newer version of Flex Gateway is available, the command replaces your older replica versions with the latest version. - -The steps to take depend on whether a Helm chart is installed. - -. If a Helm chart for your namespace is installed, run the following command: -+ -.Syntax: ----- -helm -n upgrade \ - / \ ---reuse-values \ ---set replicaCount= ----- -+ -.Example: -[source,helm] ----- -helm -n gateway upgrade \ -ingress flex-gateway/flex-gateway \ ---reuse-values \ ---set replicaCount=2 ----- -+ -When successful, the command prints output similar to this example: -+ ----- -Release "ingress" has been upgraded. Happy Helming! -NAME: ingress -LAST DEPLOYED: Mon Apr 17 15:00:09 2023 -NAMESPACE: gateway -STATUS: deployed -REVISION: 27 -TEST SUITE: None ----- - -. If the Helm chart is not installed, run the following command: -+ -.Syntax: ----- -helm -n \ -upgrade -i --create-namespace \ - / \ ---set-file registration.content= \ ---set replicaCount= ----- -+ -.Example: -[source,helm] ----- -helm -n gateway \ -upgrade -i --create-namespace \ -ingress flex-gateway/flex-gateway \ ---set-file registration.content=registration.yaml \ ---set replicaCount=2 ----- -+ -When successful, the command prints output similar to this example: -+ ----- -Release "ingress" does not exist. Installing it now. -NAME: ingress -LAST DEPLOYED: Mon Apr 17 15:32:50 2023 -NAMESPACE: gateway -STATUS: deployed -REVISION: 1 -TEST SUITE: None ----- - -. Verify creation of the replicas by running the following command: -+ -.Syntax: ----- -kubectl get rs -n ----- -+ -.Example: ----- -kubectl get rs -n gateway ----- -+ -When successful, the command prints output similar to this example: -+ ----- -NAME DESIRED CURRENT READY AGE -ingress-5b7474b8f6 2 2 2 70s ----- - -[[autoscale]] -== Configure Autoscaling - -Horizontal Pod autoscaling generates Flex Gateway replicas automatically based on CPU, memory, and other target and behavioral settings. For descriptions of these settings, see <>. - -[[autoscaling-config]] -=== Update Your Helm Chart with an Autoscaling Configuration - -To update your Helm chart with autoscaling parameters: - -. Create a YAML file with your autoscaling configuration, modifying the settings to meet your requirements. -+ -.Example: -[source,yaml] ----- -autoscaling: - enabled: true - minReplicas: 2 - maxReplicas: 11 - targetCPUUtilizationPercentage: 50 - targetMemoryUtilizationPercentage: 50 - behavior: - scaleDown: - selectPolicy: Min - stabilizationWindowSeconds: 100 - policies: - - type: Percent - value: 70 - periodSeconds: 30 - scaleUp: - selectPolicy: Max - stabilizationWindowSeconds: 100 - policies: - - type: Percent - value: 70 - periodSeconds: 30 ----- - -. If a Helm chart for your namespace is installed, run the following command to apply your autoscaling configuration: -+ -.Syntax: ----- -helm -n upgrade \ - / \ ---reuse-values \ --f ----- -+ -.Example: -[source,helm] ----- -helm -n gateway upgrade \ -ingress flex-gateway/flex-gateway \ ---reuse-values \ --f autoscaling.yaml ----- -+ -When successful, the command prints output similar to this example: -+ ----- -Release "ingress" has been upgraded. Happy Helming! -NAME: ingress -LAST DEPLOYED: Tue Apr 18 15:46:38 2023 -NAMESPACE: gateway -STATUS: deployed -REVISION: 33 -TEST SUITE: None ----- - -. If the Helm chart is not installed, run the following command to apply the your autoscaling configuration: -+ -.Syntax: ----- -helm -n \ -upgrade -i --create-namespace \ - / \ ---set-file registration.content= \ --f ----- -+ -.Example: -[source,helm] ----- -helm -n gateway \ -upgrade -i --create-namespace \ -ingress flex-gateway/flex-gateway \ ---set-file registration.content=registration.yaml \ --f autoscaling.yaml ----- -+ -When successful, the command prints output similar to this example: -+ ----- -NAME: ingress -LAST DEPLOYED: Tue Apr 18 15:50:29 2023 -NAMESPACE: gateway -STATUS: deployed -REVISION: 1 -TEST SUITE: None ----- - -. Verify your autoscaling configuration by running the following command: -+ -.Syntax: -[source, kubectl] ----- -kubectl get hpa -n ----- -+ -.Example: -[source, kubectl] ----- -kubectl get hpa -n gateway ----- -+ -The command prints output similar to this example: -+ ----- -NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE -ingress Deployment/ingress 66%/50%, 5%/50% 2 11 2 59s ----- -//TODO: TIME PERMITTING, IT WOULD BE GOOD TO ADD SOME TROUBLESHOOTING INFO - -[[autoscaling-parameters]] -=== Autoscaling Parameters - -To use autoscaling, enable Horizontal Pod Autoscaler (HPA), and configure other Helm chart settings to define autoscaling behavior. - -[%header,cols="1a,2a"] -|=== -| Parameter | Description -| `autoscaling.enabled` | Boolean that indicates whether the Horizontal Pod Autoscaler (HPA) is enabled. Defaults to `false`. -| `autoscaling.minReplicas` | The minimum number of replicas that the HPA scaler is allowed to create. Defaults to `2`. -| `autoscaling.maxReplicas` | The maximum number of replicas that the HPA scaler is allowed to create. Defaults to `11`. -| `autoscaling.targetCPUUtilizationPercentage` | A resource metric that sets the average CPU usage percentage of all deployed Pods. Defaults to `50`. -| `autoscaling.targetMemoryUtilizationPercentage` | A string representing the average memory usage percentage of all deployed Pods. Defaults to `nil`. -| `autoscaling.behavior` | A setting that supports the `HorizontalPodAutoscaler` (HPA) object in Kubernetes. HPA settings control autoscaling behavior, such as the number of application resources based on the rate of change to the workload. -| `autoscaling.behavior.scaleUp`, `autoscaling.behavior.scaleDown` | Settings for autoscaling behavior when the HPA scaler increases (`scaleUp`) or decreases (`scaleDown`) the number of replicas. Define scaling behavior with nested parameters: - -* `selectPolicy`: If a metric of configured resources indicates that scaling is required, this setting determines when to scale Pods. This setting is necessary because Pods can contain different numbers of replicas. Valid values are `Disabled`, `Min`, and `Max`. Defaults to `Max`. The `Min` and `Max` values indicate whether to scale Pods with the lowest (`Min`) or highest (`Max`) number of replicas. -* `stabilizationWindowSeconds`: The minimum number of seconds to wait to rescale an application after a change to the workload. The goal is to prevent an overly aggressive or unstable response by HPA when scaling too frequently. -* `policies`: A list of policies that determine scaling behavior: -** `type`: The type of value for a given policy, 'Percent' or 'Pods'. -** `value`: The value of the type for a given policy. -** `periodSeconds`: The number of seconds between scaling operations for a given policy. -|=== - -For more information about autoscaling, see the https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/[Kubernetes documentation^]. \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-gateway-k8-ingress-class.adoc b/gateway/1.5/modules/ROOT/pages/flex-gateway-k8-ingress-class.adoc deleted file mode 100644 index 79ea9f822..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-gateway-k8-ingress-class.adoc +++ /dev/null @@ -1,65 +0,0 @@ -= Configure Flex Gateway as an Ingress Controller in Local Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -For Kubernetes deployments in Local Mode, Flex Gateway typically acts as an ingress controller that manages external access to your Kubernetes cluster. - -By default, Flex Gateways deployed on Kubernetes in Local Mode are configured as ingress controllers and can consume `Ingress` resources. The ingress controller configuration is defined in the `IngressClass` resource parameters in the Flex Gateway Helm chart. - -In Kubernetes terminology, `IngressClass` resources configure a gateway as an ingress controller, and `Ingress` resources configure a routing between the ingress controller and the Kubernetes services it controls. For a detailed explanation of Kubernetes `IngressClass` resources and `Ingress` resources, see https://kubernetes.io/docs/concepts/services-networking/ingress/[Kubernetes Ingress^]. - -In the Helm chart, you can edit the `IngressClass` configuration or disable the ingress controller functionality. - -== Before You Begin - -. xref:flex-install.adoc#kubernetes[Download Flex Gateway for Use in a Kubernetes Cluster]. -. xref:flex-local-reg-run.adoc[Register and Run Flex Gateway in a Kubernetes Cluster in Local Mode]. - -== Ingress Class Parameters -The Helm chart includes the following default `IngressClass` parameters and values: - -[source,helm] ----- -ingressClass.enabled: true -ingressClass.name: "{releaseName}-{namespace}" -ingressClass.setAsDefault: false ----- - -[cols="1,2,2"] -|=== -| Parameter | Description | Possible values -| `ingressClass.enabled` | Enables Flex Gateway as an `IngressClass` resource | `true` or `false` -| `ingressClass.name` | The name of the `IngressClass` | Any string -| `ingressClass.setAsDefault` | Sets Flex Gateway as the default `IngressClass` | `true` or `false` -|=== - -Setting `ingressClass.setAsDefault: true` defines the Flex Gateway instance as the default `IngressClass` resource for the cluster. The default `IngressClass` is the default ingress controller for all `Ingress` resources you create in the cluster. - -If there is no default `IngressClass`, or if the default `IngressClass` resource shouldn't be the ingress controller for a specific resource, you must manually define the ingress controller in the `Ingress` resource. - -You can modify the default `IngressClass` parameters during or after the initial installation of the Helm chart. For more information about how to modify a Helm chart, see xref:flex-gateway-k8-change-helm-settings.adoc[] - -== Creating Ingress Resources - -After you xref:flex-local-reg-run-up#install-helm-chart-into-the-namespace[install a Helm chart into a namespace], you can verify your new `IngressClass` resource by running the following command: - -[source,helm] ----- -kubectl get ingressclasses ----- - -To create an ingress routing: - -. xref:flex-gateway-publish-apis-local.adoc[Publish an API in Local Mode]. -. Define the new API as a Kubernetes Service. + -For more information about Kubernetes Service definitions, see https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service[Defining a Service^]. -. Create an `Ingress` resource to define routing rules between the `IngressClass` Flex Gateway and the new Kubernetes Service. + -For more information about `Ingress` resources, see https://kubernetes.io/docs/concepts/services-networking/ingress/[Kubernetes Ingress^]. - - -== See Also - -* xref:flex-gateway-k8-change-helm-settings.adoc[] -* xref:flex-gateway-k8-management.adoc[] diff --git a/gateway/1.5/modules/ROOT/pages/flex-gateway-k8-management.adoc b/gateway/1.5/modules/ROOT/pages/flex-gateway-k8-management.adoc deleted file mode 100644 index b4db01e54..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-gateway-k8-management.adoc +++ /dev/null @@ -1,23 +0,0 @@ -= Manage Kubernetes Deployments -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - - -* {empty} -include::partial$configuration-task-list.adoc[tags=management-k8s-helm-settings] -* {empty} -include::partial$configuration-task-list.adoc[tags=management-k8s-add-replicas] -* {empty} -include::partial$configuration-task-list.adoc[tags=management-k8s-nodes] -* {empty} -include::partial$configuration-task-list.adoc[tags=management-k8s-externaldns] -* {empty} -include::partial$configuration-task-list.adoc[tags=management-k8s-ingress-class] - -== See Also - -* xref:flex-gateway-upgrade.adoc#kubernetes[Upgrade in a Kubernetes Cluster] -* xref:flex-gateway-uninstall.adoc#kubernetes[Uninstall from a Kubernetes Cluster] -* xref:flex-gateway-k8-getting-started.adoc[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-gateway-k8-node-affinity-config.adoc b/gateway/1.5/modules/ROOT/pages/flex-gateway-k8-node-affinity-config.adoc deleted file mode 100644 index 48b494fdd..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-gateway-k8-node-affinity-config.adoc +++ /dev/null @@ -1,76 +0,0 @@ -= Configure Node Selection for Flex Gateway Deployments on Kubernetes (Node Affinity) -//page-level attribute for repeated content on this page: -:link-helm-chart: After configuring the YAML configuration file for the Pod, proceed to <>. - -//Introduction: -include::partial$task-k8-node-affinity.adoc[tags=flex-node-affinity-intro] - -== Before You Begin - -Meet the minimum Kubernetes and Helm version requirements described in the xref:flex-review-prerequisites.adoc#software-requirements[software requirements]. - -//New section: -//== List and Create Node Labels -include::partial$task-k8-node-affinity.adoc[tags=flex-node-affinity-list-labels] - - -//New section -//== Set Node Affinity for a Pod -include::partial$task-k8-node-affinity.adoc[tags=set-node-affinity] - -For guidance, see the following configuration options: - -//link to anchored section in tag flex-node-affinity-required-matching-intro -* <> -//link to anchored section in tag flex-node-affinity-preferred-matching-intro -* <> -//link to anchored section in tag flex-node-affinity-mixed-matching-intro -* <> - - -//New section: -//==Configure a Required Node Matching Rule for a Pod -include::partial$task-k8-node-affinity.adoc[tags=flex-node-affinity-required-matching-intro] - -//flex-node-affinity-common-conditions (shared in multiple sections) -include::partial$task-k8-node-affinity.adoc[tags=flex-node-affinity-common-conditions] - -//flex-node-affinity-required-matching-yaml -include::partial$task-k8-node-affinity.adoc[tags=flex-node-affinity-required-matching-yaml] - -//page-level attribute (defined in page header) providing link to related section -{link-helm-chart} - -// New subsection: -//=== Configure a Preferred Node Matching Rule for a Pod -include::partial$task-k8-node-affinity.adoc[tags=flex-node-affinity-preferred-matching-intro] - -//shared in multiple sections (common & preferred conditions) -include::partial$task-k8-node-affinity.adoc[tags=flex-node-affinity-common-conditions] -include::partial$task-k8-node-affinity.adoc[tags=flex-node-affinity-preferred-conditions] - -include::partial$task-k8-node-affinity.adoc[tags=flex-node-affinity-preferred-matching-yaml] - -//page-level attribute (defined in page header) providing link to related section -{link-helm-chart} - -// New subsection: -//=== Configure Required and Preferred Node Matching Rules for a Pod -include::partial$task-k8-node-affinity.adoc[tags=flex-node-affinity-mixed-matching-intro] - -//contains links to anchored sections in tags -//(flex-node-affinity-required-matching-intro and flex-node-affinity-preferred-matching-intro): -The example combines the settings from <> and <>. - -//shared in multiple sections (common & preferred conditions) -include::partial$task-k8-node-affinity.adoc[tags=flex-node-affinity-common-conditions] -include::partial$task-k8-node-affinity.adoc[tags=flex-node-affinity-preferred-conditions] - -include::partial$task-k8-node-affinity.adoc[tags=flex-node-affinity-mixed-matching-yaml] - -//page-level attribute (defined in page header) providing link to related section -{link-helm-chart} - -//New section -//=== Upgrade the Helm Chart -include::partial$task-k8-node-affinity.adoc[tags=upgrade-helm-chart] diff --git a/gateway/1.5/modules/ROOT/pages/flex-gateway-manage.adoc b/gateway/1.5/modules/ROOT/pages/flex-gateway-manage.adoc deleted file mode 100644 index 396e93682..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-gateway-manage.adoc +++ /dev/null @@ -1,18 +0,0 @@ -= Managing Flex Gateway -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Refer to the following tasks for details about gateway management: - -* xref:flex-gateway-upgrade.adoc[Upgrade Flex Gateway] -* xref:flex-gateway-delete.adoc[Delete an Instance of Flex Gateway] -* xref:flex-gateway-uninstall.adoc[Uninstall Flex Gateway] -* xref:flex-gateway-k8-management.adoc[] -* xref:flex-gateway-renew-certificate.adoc[Renew Flex Gateway Registration] - -== See Also - -* xref:index.adoc[] -* xref:flex-gateway-getting-started.adoc[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-gateway-monitor.adoc b/gateway/1.5/modules/ROOT/pages/flex-gateway-monitor.adoc deleted file mode 100644 index dfbae5b16..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-gateway-monitor.adoc +++ /dev/null @@ -1,17 +0,0 @@ -= Monitoring Flex Gateway -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Flex Gateway enables you to monitor the state of your APIs and gateway instances, and view key metrics. Configure monitoring via Anypoint Platform (Connected Mode) or declarative configuration files (Local Mode). - -Refer to the following for details about Flex Gateway monitoring and logging: - -* xref:flex-conn-monitor.adoc[] -* xref:flex-local-monitor.adoc[] - -== See Also - -* xref:index.adoc[] -* xref:flex-gateway-getting-started.adoc[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-gateway-publish-apis-conn.adoc b/gateway/1.5/modules/ROOT/pages/flex-gateway-publish-apis-conn.adoc deleted file mode 100644 index 52842bf64..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-gateway-publish-apis-conn.adoc +++ /dev/null @@ -1,15 +0,0 @@ -= Publishing Flex Gateway APIs in Connected Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -For Flex Gateway running in Connected Mode, use *API Manager* to publish both API instances with a single upstream service and API instances with multiple upstream services. - -For more information, see xref:api-manager::create-instance-task-flex.adoc[]. - -Additionally, you can publish a simple API with xref:flex-gateway-getting-started.adoc[]. - -== See Also - -* xref:index.adoc[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-gateway-publish-apis-local.adoc b/gateway/1.5/modules/ROOT/pages/flex-gateway-publish-apis-local.adoc deleted file mode 100644 index e66cedb1f..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-gateway-publish-apis-local.adoc +++ /dev/null @@ -1,14 +0,0 @@ -= Publishing Flex Gateway APIs in Local Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -For Flex Gateway running in Local Mode, you publish APIs using xref:flex-local-configuration-reference-guide.adoc[local declarative configuration files]. You specify the location of these configuration files when you first run Flex Gateway. - -For more information about how to run the gateway, see xref:flex-local-reg-run.adoc[]. - -Refer to the following tutorials for examples on publishing APIs in Local Mode: - -* xref:flex-local-publish-simple-api.adoc[] -* xref:flex-local-publish-api-multiple-services.adoc[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-gateway-publish-apis.adoc b/gateway/1.5/modules/ROOT/pages/flex-gateway-publish-apis.adoc deleted file mode 100644 index 8b037d2e7..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-gateway-publish-apis.adoc +++ /dev/null @@ -1,17 +0,0 @@ -= Publishing Flex Gateway APIs -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Publishing an API consists of defining a client service and routing that service to a backend location. Flex Gateway enables you to publish APIs via Anypoint Platform (Connected Mode) or declarative configuration files (Local Mode). - -To publish an API in Connected Mode, see xref:flex-gateway-publish-apis-conn.adoc[]. - -To publish an API in Local Mode, see xref:flex-gateway-publish-apis-local.adoc[]. - -== See Also - -* xref:index.adoc[] -* xref:flex-gateway-getting-started.adoc[] - diff --git a/gateway/1.5/modules/ROOT/pages/flex-gateway-release-notes.adoc b/gateway/1.5/modules/ROOT/pages/flex-gateway-release-notes.adoc deleted file mode 100644 index 0afcd3c7c..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-gateway-release-notes.adoc +++ /dev/null @@ -1 +0,0 @@ -include::release-notes::partial$flex-gateway/flex-gateway-rn-landing-page.adoc[tags=rn-landing-page-intro;rn-landing-page-relative-overview-link] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-gateway-renew-certificate.adoc b/gateway/1.5/modules/ROOT/pages/flex-gateway-renew-certificate.adoc deleted file mode 100644 index 91e17ab2f..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-gateway-renew-certificate.adoc +++ /dev/null @@ -1,475 +0,0 @@ -= Renewing Flex Gateway Registration -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] - -Anypoint Flex Gateway uses a managed PKI certificate to communicate with Anypoint Platform. This certificate is generated when you register Flex Gateway in either Connected Mode or Local Mode. Updating the certificate ensures the continued operation of your applications. - -You update a certificate by renewing registration via the `flexctl registration renew` command. - -* The `renew` command renews an existing Flex Gateway registration with Runtime Manager. -* For authentication, you run the `renew` command with either user credentials or with connected app credentials. Authentication with user credentials requires the `--username` and `--password` flags. Authentication with connected app credentials requires the `--client-id` and `--client-secret` flags. - -You verify the renewal process via the `flexctl registration inspect` command. - -* The `inspect` command extracts registration information you can use to verify whether the `renew` command was successful. -* You can also use the `inspect` command to first determine if renewing registration is actually required. The `inspect` command returns the certificate expiration date. -* You can verify (inspect) renewal by using the default method, or you can specify your existing registration file. If you run the `inspect` command without flags, the command inspects registration status by using the default method. - -To avoid disruptions: - -. <> -. Renew your Flex Gateway registration. -+ -Choose one of two methods: -+ -* <> -* <> - -. Verify the success of the renewal process. -+ -Choose one of two methods: -+ -* <> -* <> - -[[before-you-begin]] -== Before You Begin - -To invoke the registration renewal `flexctl` command, download the latest version of Flex Gateway. You don't need to register and run this version of the gateway. - -// This must be an absolute xref because it always needs to link to "latest" -* xref:gateway::flex-install.adoc[] - -[[renew-with-user-password]] -== Renew Registration with Anypoint Platform User Credentials - -. Create a new directory called `flex-renew-registration` (or similar). You run the `renew` command in this new directory. The command creates a new registration file. -+ -[NOTE] -==== -Registration renewal fails if the `renew` command is run in a directory containing an existing registration file. -==== - -. Use the following command: -+ -[tabs] -==== -Linux:: -+ -[source,ssh] ----- -flexctl registration renew --username= --password= \ - ----- -+ -Replace `` and `` with Anypoint Platform user credentials. -+ -Replace `` with the path and filename of the existing `registration.yaml` file. -+ -Use `sudo` if you encounter file permission issues when running this command. - -Docker:: -+ -For Flex Gateway running in a container, invoke `renew` as part of the container `run` command. -+ -[source,ssh] ----- -docker run --entrypoint flexctl \ --v "$(pwd)":/renew \ --v :/registration \ --u $UID mulesoft/flex-gateway \ -registration renew \ ---username= \ ---password= \ ---output-directory=/renew \ - ----- -+ -Replace `` and `` with Anypoint Platform user credentials. -+ -Replace `` with the path and filename of the existing `registration.yaml` file. You must specify the file in the container file system, which in this case is `/registration/registration.yaml`. -+ -As an example, if `/home/user/flex/registration.yaml` contains your current registration file, navigate to `/home/user/flex/` and run the following command with your Anypoint Platform credentials: -+ -[source,ssh] ----- -docker run --entrypoint flexctl \ --u $UID -v "$(pwd)":/registration \ -mulesoft/flex-gateway \ -registration renew \ ---username= \ ---password= \ ---output-directory=/registration/new \ -/registration/registration.yaml ----- -+ -The command creates a new registration file: `/home/user/flex/new/registration.yaml`. - -Podman:: -+ -For Flex Gateway running in a container, invoke `renew` as part of the container `run` command. -+ -[source,ssh] ----- -podman run --entrypoint flexctl --userns=keep-id \ --v "$(pwd)":/renew:Z \ --v :/registration:Z \ --u $UID docker.io/mulesoft/flex-gateway \ -registration renew \ ---username= \ ---password= \ ---output-directory=/renew \ - ----- -+ -Replace `` and `` with Anypoint Platform user credentials. -+ -Replace `` with the path and filename of the existing `registration.yaml` file. You must specify the file in the container file system, which in this case is `/registration/registration.yaml`. -==== -+ -[NOTE] -==== -Disable MFA for your Anypoint Platform account prior to running the `renew` command with user credentials. -==== - -. Run the command. -+ -The output should include the message: -+ -[source,text] ----- -Registration renewal completed ----- - -. Copy the newly created registration file to the runtime registration file location. For example: -+ -`/usr/local/share/mulesoft/flex-gateway/conf.d/registration.yaml` - -. Restart the Flex Gateway replica if one is already running. - -[[renew-with-conn-app]] -== Renew Registration with Connected App Credentials - -. If you don't have a username or password for Anypoint Platform, you can xref:access-management::connected-apps-developers.adoc#create-a-connected-app[configure a connected app] via Anypoint Access Management. -.. Include the following scopes: - -* Read Servers -* Manage Servers -* View Organization - -.. Save the *Id* and *Secret* of the connected app you configure, then use these credentials in the `renew` command. - -. Create a new directory called `flex-renew-registration` (or similar). You run the `renew` command in this new directory. The command creates a new registration file. -+ -[NOTE] -==== -Registration renewal fails if the `renew` command is run in a directory containing an existing registration file. -==== - -. Use the following command: -+ -[tabs] -==== -Linux:: -+ -[source,ssh] ----- -flexctl registration renew --client-id= --client-secret= \ - ----- -+ -Replace `` and `` with the connected app credentials. -+ -Replace `` with the path and filename of the existing `registration.yaml` file. -+ -Use `sudo` if you encounter file permission issues when running this command. - -Docker:: -+ -For Flex Gateway running in a container, invoke `renew` as part of the container `run` command. -+ -[source,ssh] ----- -docker run --entrypoint flexctl \ --v "$(pwd)":/renew \ --v :/registration \ --u $UID mulesoft/flex-gateway \ -registration renew \ ---client-id= \ ---client-secret= \ ---output-directory=/renew \ - ----- -+ -Replace `` and `` with the connected app credentials. -+ -Replace `` with the path and filename of the existing `registration.yaml` file. You must specify the file in the container file system, which in this case is `/registration/registration.yaml`. -+ -As an example, if `/home/user/flex/registration.yaml` contains your current registration file, navigate to `/home/user/flex/` and run the following command with your connected app credentials: -+ -[source,ssh] ----- -docker run --entrypoint flexctl \ --u $UID -v "$(pwd)":/registration \ -mulesoft/flex-gateway \ -registration renew \ ---client-id= \ ---client-secret= \ ---output-directory=/registration/new \ -/registration/registration.yaml ----- -+ -The command creates a new registration file: `/home/user/flex/new/registration.yaml`. - -Podman:: -+ -For Flex Gateway running in a container, invoke `renew` as part of the container `run` command. -+ -[source,ssh] ----- -podman run --entrypoint flexctl --userns=keep-id \ --v "$(pwd)":/renew:Z \ --v :/registration:Z \ --u $UID docker.io/mulesoft/flex-gateway \ -registration renew \ ---client-id= \ ---client-secret= \ ---output-directory=/renew \ - ----- -+ -Replace `` and `` with the connected app credentials. -+ -Replace `` with the path and filename of the existing `registration.yaml` file. You must specify the file in the container file system, which in this case is `/registration/registration.yaml`. -==== - -. Run the command. -+ -The output should include the message: -+ -[source,text] ----- -Registration renewal completed ----- - -. Copy the newly created registration file to the runtime registration file location. For example: -+ -`/usr/local/share/mulesoft/flex-gateway/conf.d/registration.yaml` - -. Restart the Flex Gateway replica if one is already running. - -[[inspect-with-custom-url]] -== Verify Registration Status with the Default Method - -To inspect a registration, run the following command: - -[tabs] -==== -Linux:: -+ -[source,ssh] ----- -flexctl registration inspect ----- -+ -Use `sudo` if you encounter file permission issues when running this command. - -Docker:: -+ -For Flex Gateway running in a container, run `inspect` as part of the container `exec` command. Replace `` with the running container reference. -+ -[source,ssh] ----- -docker exec -u $UID flexctl registration inspect ----- - -Podman:: -+ -For Flex Gateway running in a container, run `inspect` as part of the container `exec` command. Replace `` with the running container reference. -+ -[source,ssh] ----- -podman exec -u $UID flexctl registration inspect ----- -==== - -The output should include the date of certificate expiration. For example: - -[source,text] ----- -{“expiration_date”: “2025-09-25 19:27:32 +0000 UTC”} ----- - -[[inspect-with-reg-file]] -== Verify Registration Status with a Registration File - -You can inspect a registration by extracting the information from your `registration.yaml` file. Specify the path and filename. - -To inspect a registration, run the following command: - -[tabs] -==== -Linux:: -+ -[source,ssh] ----- -flexctl registration inspect --file= ----- -+ -Use `sudo` if you encounter file permission issues when running this command. - -Docker:: -+ -For Flex Gateway running in a container, invoke `inspect` as part of the container `run` command. -+ -[source,ssh] ----- -docker run --entrypoint flexctl \ --v :/registration \ --u $UID mulesoft/flex-gateway \ -registration inspect --file= ----- - -Podman:: -+ -For Flex Gateway running in a container, invoke `inspect` as part of the container `run` command. -+ -[source,ssh] ----- -podman run --entrypoint flexctl --userns=keep-id \ --v :/registration:Z \ --u $UID docker.io/mulesoft/flex-gateway \ -registration inspect --file= ----- -==== - -The output should include the date of certificate expiration: - -[source,text] ----- -{“expiration_date”: “2025-09-25 19:27:32 +0000 UTC”} ----- - -As an example, if your current directory contains the registration file, run the following command: -[source,ssh] ----- -docker run --entrypoint flexctl \ --v "$(pwd)":/registration \ --u $UID mulesoft/flex-gateway \ -registration inspect --file=/registration/registration.yaml ----- - -== Renew Registration for Flex Gateway Running in Kubernetes - -The following example describes a scenario where Flex Gateway is installed in a `gateway` namespace with an `ingress` release name, and where registration is stored in the Kubernetes database. - -. Recover the `registration.yaml` file with the following `kubectl` command: -+ -[source,ssh] ----- -kubectl -n gateway get secret "$(kubectl -n gateway get deployment ingress -o=jsonpath='{.spec.template.spec.volumes[?(@.name=="registration")].secret.secretName}')" -o=jsonpath='{.data.registration\.yaml}' | base64 --decode > registration.yaml ----- -+ -The command stores the registration file in `./registration.yaml`. - -. Run the `flexctl registration renew` command, as described for Docker in previous sections: -+ -* <> -* <> - -. Upgrade Flex Gateway with the following `helm` command: -+ -[source,ssh] ----- -helm get values -n gateway ingress > values.yaml \ -&& helm upgrade -n gateway ingress flex-gateway/flex-gateway --wait -f values.yaml --set-file registration.content=new/registration.yaml ----- - -== Get Help with the Renewal and Verification Commands - -You can run the following `help` commands for information about usage: - -* Renewal -+ -[tabs] -==== -Linux:: -+ -[source,ssh] ----- -flexctl registration renew --help ----- -+ -Use `sudo` if you encounter file permission issues when running this command. - -Docker:: -+ -For Flex Gateway running in a container, invoke `help` as part of the container `run` command. -+ -[source,ssh] ----- -docker run --entrypoint flexctl mulesoft/flex-gateway registration renew --help ----- - -Podman:: -+ -For Flex Gateway running in a container, invoke `help` as part of the container `run` command. -+ -[source,ssh] ----- -podman run --entrypoint flexctl docker.io/mulesoft/flex-gateway registration renew --help ----- -==== - -* Verification -+ -[tabs] -==== -Linux:: -+ -[source,ssh] ----- -flexctl registration inspect --help ----- -+ -Use `sudo` if you encounter file permission issues when running this command. - -Docker:: -+ -For Flex Gateway running in a container, invoke `help` as part of the container `run` command. -+ -[source,ssh] ----- -docker run --entrypoint flexctl mulesoft/flex-gateway registration inspect --help ----- - -Podman:: -+ -For Flex Gateway running in a container, invoke `help` as part of the container `run` command. -+ -[source,ssh] ----- -podman run --entrypoint flexctl docker.io/mulesoft/flex-gateway registration inspect --help ----- -==== - -== Renew an Expired Registration - -Attempting to run Flex Gateway with an expired certificate in Connected Mode results in the following: - -* New replicas fail to download API configurations from Anypoint Platform, thereby becoming unusable. Existing clusters fail to reload. -* Logs and metrics fail to upload to Anypoint Platform. Troubleshooting using Anypoint Platform is not possible. -* Metering information fails to upload to Anypoint Platform. MuleSoft is unable to collect or report usage metrics. - -Attempting to run Flex Gateway with an expired certificate in Local Mode results in the following: - -* Metering information fails to upload to Anypoint Platform. MuleSoft is unable to collect or report usage metrics. - -If a certificate expires, you can still invoke `flexctl registration renew`, which updates the expired certificate. - -== See Also - -* xref:flex-install.adoc[] -* xref:flex-conn-reg-run.adoc[] -* xref:flex-local-reg-run.adoc[] diff --git a/gateway/1.5/modules/ROOT/pages/flex-gateway-secure-apis.adoc b/gateway/1.5/modules/ROOT/pages/flex-gateway-secure-apis.adoc deleted file mode 100644 index bb878b6a6..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-gateway-secure-apis.adoc +++ /dev/null @@ -1,27 +0,0 @@ -= Securing and Governing Flex Gateway APIs -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -// :page-aliases: policies::policies-overview.adoc, policies::index.adoc, api-manager::policies-landing-page.adoc - -Policies enforce rules when Flex Gateway processes requests, enabling you to secure and govern your Flex Gateway APIs. - -MuleSoft provides policies that you can apply to your APIs via Anypoint Platform (Connected Mode) or declarative configuration files (Local Mode). The provided policies include rate limiting, caching, authentication, authorization, threat protection, monitoring, and logging. For more information about MuleSoft-provided policies, see the xref:policies-included-directory.adoc[]. - -To extend existing functionality or define new functionality, create custom policies based on your specific business requirements and apply them to APIs. For information about creating custom policies, see xref:policies-custom-overview.adoc[]. - -Automated policies enable your API instance to comply with common security and logging requirements by automatically applying the same set of policies to all APIs running in Flex Gateway. See xref:policies-automated-overview.adoc[] for more information. - -To apply a policy in Connected Mode, see xref:flex-gateway-secure-conn.adoc[]. - -To apply a policy in Local Mode, see xref:flex-gateway-secure-local.adoc[]. - -For information about policy reordering, see xref:policies-reorder.adoc[]. - -For information about DataWeave support, see xref:policies-flex-dataweave-support.adoc[]. - -== See Also - -* xref:index.adoc[] -* xref:flex-gateway-getting-started.adoc[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-gateway-secure-conn.adoc b/gateway/1.5/modules/ROOT/pages/flex-gateway-secure-conn.adoc deleted file mode 100644 index 84e3ce846..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-gateway-secure-conn.adoc +++ /dev/null @@ -1,13 +0,0 @@ -= Securing and Governing APIs in Connected Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -For Flex Gateway running in Connected Mode, you apply API policies using *API Manager*. Refer to xref:policies-included-apply.adoc[] for more information. - -Additionally, to apply a basic authentication policy, see xref:flex-gateway-getting-started.adoc[]. - -== See Also - -* xref:index.adoc[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-gateway-secure-local.adoc b/gateway/1.5/modules/ROOT/pages/flex-gateway-secure-local.adoc deleted file mode 100644 index fb5833c77..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-gateway-secure-local.adoc +++ /dev/null @@ -1,20 +0,0 @@ -= Securing and Governing APIs in Local Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -For Flex Gateway running in Local Mode, you apply API policies using xref:flex-local-configuration-reference-guide.adoc[local declarative configuration files]. You specify the location of these configuration files when you first run Flex Gateway. - -See xref:flex-local-reg-run.adoc[] for more information about how to start the gateway. - -Refer to the following tutorials for examples on applying policies to APIs in Local Mode: - -* xref:flex-local-secure-api-with-basic-auth-policy.adoc[] -* xref:flex-local-secure-api-with-auto-policy.adoc[] -* xref:flex-local-deploy-custom-policy.adoc[Secure an API with a Custom Policy] - -== See Also - -* xref:index.adoc[] -* xref:flex-gateway-getting-started.adoc[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-gateway-set-up.adoc b/gateway/1.5/modules/ROOT/pages/flex-gateway-set-up.adoc deleted file mode 100644 index b4177fa6f..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-gateway-set-up.adoc +++ /dev/null @@ -1,19 +0,0 @@ -= Setting Up Flex Gateway -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Setting up Anypoint Flex Gateway consists of installation and registration: - -* xref:flex-install.adoc[] -** Install in Linux. Download for Docker or Kubernetes. -* xref:flex-conn-reg-run.adoc[] -** Register in Connected Mode using an Anypoint username and password, a connected application, or a token. -* xref:flex-local-reg-run.adoc[] -** Register in Local Mode using an Anypoint username and password, a connected application, or a token. - -== See Also - -* xref:index.adoc[] -* xref:flex-gateway-getting-started.adoc[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-gateway-uninstall.adoc b/gateway/1.5/modules/ROOT/pages/flex-gateway-uninstall.adoc deleted file mode 100644 index 3327f4568..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-gateway-uninstall.adoc +++ /dev/null @@ -1,91 +0,0 @@ -= Uninstalling Flex Gateway -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -//TODO: IS THERE AN OPENSHIFT OPTION HERE? -You can uninstall Flex Gateway as a Linux service, in a Docker container, or from a Kubernetes cluster. - -//TODO: IS THERE AN OPENSHIFT OPTION HERE? -[cols="1a,1a,1a"] -|=== -|image:install-linux-logo.png[20%,20%,xref="#linux"] -|image:install-docker-logo.png[25%,25%,xref="#docker"] -|image:install-kubernetes-logo.png[20%,20%,xref="#kubernetes"] - -|<> -|<> -|<> -|=== - -[[linux]] -== Uninstall as a Linux Service - -Flex Gateway can be uninstalled as any other package: - -[source,ssh] ----- -sudo apt remove -y flex-gateway ----- - -[[docker]] -== Uninstall in a Docker Container - -If you are finished with your Flex Gateway instance in a Docker Container, stop and remove the container. - -. Determine the container ID. -+ -[source,ssh] ----- -docker ps ----- - -. Stop the container: -+ -[source,ssh] ----- -docker rm ----- - -. Optionally, remove the Docker image as well: -+ -[source,ssh] ----- -docker rmi mulesoft/flex-gateway ----- - -[[kubernetes]] -== Uninstall from a Kubernetes Cluster - -To uninstall Flex Gateway from a Kubernetes cluster: - -. Uninstall the Helm release. The following example removes a release called “my-release”: -+ -[source,ssh] ----- -helm delete my-release ----- -+ -NOTE: Update `my-release` to the release you have running. To see a list of all releases, use the command `helm list -A`. - -. Delete the release namespace if one was specified: -+ -[source,ssh] ----- -kubectl delete namespace gateway ----- - -. Delete the custom resource definitions: -+ -[source,ssh] ----- -kubectl delete crds \ - apiinstances.gateway.mulesoft.com \ - configurations.gateway.mulesoft.com \ - extensions.gateway.mulesoft.com \ - policybindings.gateway.mulesoft.com \ - services.gateway.mulesoft.com ----- - -//TODO: IS THERE AN OPENSHIFT OPTION HERE? diff --git a/gateway/1.5/modules/ROOT/pages/flex-gateway-upgrade.adoc b/gateway/1.5/modules/ROOT/pages/flex-gateway-upgrade.adoc deleted file mode 100644 index 64c5b858b..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-gateway-upgrade.adoc +++ /dev/null @@ -1,97 +0,0 @@ -= Upgrading Flex Gateway -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -//TODO: ARE THERE OPENSHIFT OPTIONS HERE? -You can upgrade Flex Gateway as a Linux service, in a Docker container, or in a Kubernetes cluster. - -//TODO: ARE THERE OPENSHIFT OPTIONS HERE? -[cols="1a,1a,1a"] -|=== -|image:install-linux-logo.png[20%,20%,xref="#linux"] -|image:install-docker-logo.png[25%,25%,xref="#docker"] -|image:install-kubernetes-logo.png[20%,20%,xref="#kubernetes"] - -|<> -|<> -|<> -|=== - -[[linux]] -== Upgrade as a Linux Service - -Flex Gateway is distributed as a standard package. Use the following steps to upgrade or downgrade Flex Gateway to either a specific version or the latest version. - -To upgrade or downgrade Flex Gateway as a Linux Service: - -. Update the list of available packages: -+ -[source,ssh] ----- -sudo apt update ----- -+ -To list the available versions, run: -+ -[source,ssh] ----- -apt list -a flex-gateway ----- - -. Update Flex Gateway: -* To the latest version: -+ -[source,ssh] ----- -sudo apt --only-upgrade -y install flex-gateway ----- - -* To a specific version: -+ -[source,ssh] ----- -sudo apt --only-upgrade -y install flex-gateway= ----- - -* To a downgrade version: -+ -[source,ssh] ----- -sudo apt --only-upgrade -y --allow-downgrades install flex-gateway= ----- - -. Restart the services: -+ -[source,ssh] ----- -sudo systemctl restart flex-gateway ----- - -[[docker]] -== Upgrade in a Docker Container - -The docker containers are not updated, if a new version is needed then a new container with the new image version -should be created to replace the outdated one. - -The new versions of the images will be available in link:https://hub.docker.com/r/mulesoft/flex-gateway[mulesoft/flex-gateway]. - -[[kubernetes]] -== Upgrade in a Kubernetes Cluster - -. Update charts with the respective chart repositories: -+ -[source,ssh] ----- -helm repo up ----- - -. Upgrade the release to a new version of the Helm chart by executing the following command, replacing example information with your own: -+ -[source,ssh] ----- -helm upgrade -n flex-gateway/flex-gateway --wait ----- - -//TODO: ARE THERE OPENSHIFT OPTIONS HERE? diff --git a/gateway/1.5/modules/ROOT/pages/flex-install.adoc b/gateway/1.5/modules/ROOT/pages/flex-install.adoc deleted file mode 100644 index 7878f59ee..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-install.adoc +++ /dev/null @@ -1,450 +0,0 @@ -= Downloading Flex Gateway -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Download and install Flex Gateway as a Linux service, or download the Flex Gateway image from the container registry. Downloading is a prerequisite to registering and running a gateway as a Linux service or in a container, Kubernetes cluster, or OpenShift cluster. - -To run Flex Gateway inside a virtual machine (VM), download and install it as a Linux service. To run Flex Gateway in a container, Kubernetes cluster, or OpenShift cluster, download the Flex Gateway image. - -// * To run Flex Gateway inside a virtual machine (VM), download and install it as a Linux service. -// * To run Flex Gateway in a Docker container, download the Flex Gateway image. -// * To run Flex Gateway in a Kubernetes cluster, download the Flex Gateway image. -// * To run Flex Gateway in an OpenShift cluster, download the Flex Gateway image. -// * To run Flex Gateway in a Podman container, download the Flex Gateway image. - -//table with tech logos and links (linux, docker, k8, openshift) -include::partial$task-reg-run-flex-gateway.adoc[tags=table-logos-links] - -See xref:flex-review-prerequisites.adoc[] for details about hardware and software requirements. - -[[linux]] -== Download and Install as a Linux Service - -You can download and install Flex Gateway as a service in one of the following Linux environments: -[cols="1a,1a,1a,1a,1a"] -|=== -|image:install-ubuntu-logo.png[20%,20%,xref="#install-ubuntu"] -|image:install-debian-logo.png[17%,17%,xref="#install-debian"] -|image:install-amazon-linux-logo.png[22%,22%,xref="#install-amazon-linux"] -|image:install-rhel-logo.png[23%,23%,xref="#install-rhel"] -|image:install-centos-logo.png[20%,20%,xref="#install-centos"] - -|<> -|<> -|<> -|<> -|<> -|=== - -[[install-ubuntu]] -=== Ubuntu - -==== Software Requirements - -Flex Gateway runs on the following Long Term Support (LTS) versions of Ubuntu: - -* {empty} -include::partial$prerequisites.adoc[tag=ubuntu] - -==== Before You Begin - -Before getting started, ensure that you have installed the following: - -* link:https://gnupg.org/[gnupg2^] -* link:https://refspecs.linuxfoundation.org/LSB_3.0.0/LSB-PDA/LSB-PDA/lsbrelease.html[lsb_release^] - -==== Run Installation Commands - -To download and install Flex Gateway as a Ubuntu service run the command block which performs the following actions: - -* Retrieves the public package keys and adds the package repository -* Updates the package list -* Updates `apt-get` -* Installs the Flex Gateway package - -[source,ssh] ----- -curl -XGET https://flex-packages.anypoint.mulesoft.com/ubuntu/pubkey.gpg | sudo apt-key add - -echo "deb [arch=amd64] https://flex-packages.anypoint.mulesoft.com/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/mulesoft.list -sudo apt update -sudo apt install -y flex-gateway ----- - -include::partial$reference-install-next-steps.adoc[tags=flex-download-install;flex-connected-vs-local] - -[[install-debian]] -=== Debian - -==== Software Requirements - -Flex Gateway runs on the following Long Term Support (LTS) versions of Debian: - -* {empty} -include::partial$prerequisites.adoc[tag=debian] - -==== Before You Begin - -Before getting started, ensure that you have installed the following: - -* link:https://gnupg.org/[gnupg2^] -* link:https://refspecs.linuxfoundation.org/LSB_3.0.0/LSB-PDA/LSB-PDA/lsbrelease.html[lsb_release^] - -==== Run Installation Commands - -To download and install Flex Gateway as a Debian service run the command block which performs the following actions: - -* Retrieves the public package keys and adds the package repository -* Updates the package list -* Updates `apt-get` -* Installs the Flex Gateway package - -[source,ssh] ----- -curl -XGET https://flex-packages.anypoint.mulesoft.com/debian/pubkey.gpg | sudo apt-key add - -echo "deb [arch=amd64] https://flex-packages.anypoint.mulesoft.com/debian $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/mulesoft.list -sudo apt update -sudo apt install -y flex-gateway ----- - -include::partial$reference-install-next-steps.adoc[tags=flex-download-install;flex-connected-vs-local] - -[[install-amazon-linux]] -=== Amazon Linux - -==== Software Requirements - -Flex Gateway runs on the following Long Term Support (LTS) version of Amazon Linux: - -* {empty} -include::partial$prerequisites.adoc[tag=amazon-linux] - -==== Before You Begin - -Before getting started, ensure that you have installed the following: - -* link:https://gnupg.org/[gnupg2^] - -==== Run Installation Commands - -To download and install Flex Gateway as an Amazon Linux service run the command block which performs the following actions: - -* Adds the Flex Gateway package repository with a reference to its public key -* Installs the Flex Gateway package - -[source,ssh] ----- -sudo tee /etc/yum.repos.d/flex-gateway.repo <<\EOF -[flex-gateway] -name = Anypoint Flex Gateway -baseurl = https://flex-packages.anypoint.mulesoft.com/amazonlinux/$releasever/main -gpgcheck=1 -gpgkey=https://flex-packages.anypoint.mulesoft.com/amazonlinux/pubkey.gpg -repo_gpgcheck=1 -enabled=1 -EOF - -sudo yum install -y flex-gateway ----- - -include::partial$reference-install-next-steps.adoc[tags=flex-download-install;flex-connected-vs-local] - -[[install-rhel]] -=== Red Hat Enterprise Linux - -==== Software Requirements - -Flex Gateway runs on the following Long Term Support (LTS) versions of RHEL: - -* {empty} -include::partial$prerequisites.adoc[tag=red-hat] - -==== Before You Begin - -Before getting started, ensure that you have installed the following: - -* link:https://gnupg.org/[gnupg2^] - -==== Run Installation Commands - -To download and install Flex Gateway as a Red Hat Enterprise Linux service run the command block which performs the following actions: - -* Adds the Flex Gateway package repository with a reference to its public key -* Installs the Flex Gateway package - -[source,ssh] ----- -sudo tee /etc/yum.repos.d/flex-gateway.repo <<\EOF -[flex-gateway] -name = Anypoint Flex Gateway -baseurl = https://flex-packages.anypoint.mulesoft.com/rhel/$releasever/main -gpgcheck=1 -gpgkey=https://flex-packages.anypoint.mulesoft.com/rhel/pubkey.gpg -repo_gpgcheck=1 -enabled=1 -EOF - -sudo yum install -y flex-gateway ----- - -include::partial$reference-install-next-steps.adoc[tags=flex-download-install;flex-connected-vs-local] - -[[install-centos]] -=== CentOS - -==== Software Requirements - -Flex Gateway runs on the following Long Term Support (LTS) version of CentOS: - -* {empty} -include::partial$prerequisites.adoc[tag=centos] - -==== Before You Begin - -Before getting started, ensure that you have installed the following: - -* link:https://gnupg.org/[gnupg2^] - -==== Run Installation Commands - -To download and install Flex Gateway as an CentOS service run the command block which performs the following actions: - -* Adds the Flex Gateway package repository with a reference to its public key -* Installs the Flex Gateway package - -[source,ssh] ----- -sudo tee /etc/yum.repos.d/flex-gateway.repo <<\EOF -[flex-gateway] -name = Anypoint Flex Gateway -baseurl = https://flex-packages.anypoint.mulesoft.com/centos/$releasever/main -gpgcheck=1 -gpgkey=https://flex-packages.anypoint.mulesoft.com/centos/pubkey.gpg -repo_gpgcheck=1 -enabled=1 -EOF - -sudo yum install -y flex-gateway ----- - -Due to issues with the CentOS package manager you might encounter the following error: ----- -Error: Failed to download metadata for repo 'AppStream': Cannot prepare internal mirrorlist: No URLs in mirrorlist ----- - -If you encounter this error, run the following command: -[source,ssh] ----- -sudo sed -i -e "s|mirrorlist=|#mirrorlist=|g" -e "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-* ----- - -include::partial$reference-install-next-steps.adoc[tags=flex-download-install;flex-connected-vs-local] - -[[container]] -== Download Flex Gateway for Use in a Container -You can download and install Flex Gateway in one of the following containers: - -include::partial$task-reg-run-flex-gateway.adoc[tags=table-containers-logos-links] - -[[docker]] -=== Docker -==== Download Flex Gateway for Use in a Docker Container - -Download the Flex Gateway container image to prepare for registering and running a gateway in a Docker container: - -. Download the Flex Gateway Docker image: -+ -[source,ssh,subs=attributes+] ----- -docker pull {image-owner-lc}/flex-gateway:{gateway-ver-var} ----- - -. Verify that the download succeeded: -+ -[source,ssh,subs=attributes+] ----- -docker images {image-owner-lc}/flex-gateway ----- -+ -When successful, the command lists the Flex Gateway container image, for example: -+ -[source,text,subs=attributes+] ----- -REPOSITORY TAG -{image-owner-lc}/flex-gateway {gateway-ver-var} ----- - -include::partial$reference-install-next-steps.adoc[tags=flex-download-install;flex-connected-vs-local] - -[[podman]] -=== Podman -==== Download Flex Gateway for Use in a Podman Container - -Download the Flex Gateway container image to prepare for registering and running a gateway in a Podman container: - -. Download the Flex Gateway container image: -+ -[source,ssh,subs=attributes+] ----- -podman pull docker.io/{image-owner-lc}/flex-gateway:{gateway-ver-var} ----- - -. Verify that the download succeeded: -+ -[source,ssh,subs=attributes+] ----- -podman images docker.io/{image-owner-lc}/flex-gateway ----- -+ -When successful, the command lists the Flex Gateway container image, for example: -+ -[source,text,subs=attributes+] ----- -REPOSITORY TAG -{image-owner-lc}/flex-gateway {gateway-ver-var} ----- - -include::partial$reference-install-next-steps.adoc[tags=flex-download-install;flex-connected-vs-local] - -[[kubernetes]] -== Download Flex Gateway for Use in a Kubernetes Cluster - -Download the Flex Gateway container image to prepare for registering and running a gateway in a Kubernetes cluster. You can use the following container runtimes: - - -[[install-k8s-docker]] -.*Docker* -[%collapsible] -==== - -. Download the Flex Gateway container image: -+ -[source,ssh,subs=attributes+] ----- -docker pull {image-owner-lc}/flex-gateway:{gateway-ver-var} ----- - -. Verify that the download succeeded: -+ -[source,ssh,subs=attributes+] ----- -docker images {image-owner-lc}/flex-gateway ----- -+ -When successful, the command lists the Flex Gateway container image, for example: -+ -[source,text,subs=attributes+] ----- -REPOSITORY TAG -{image-owner-lc}/flex-gateway {gateway-ver-var} ----- - -include::partial$reference-install-next-steps.adoc[tags=flex-k8-download-install] -==== - -[[install-k8s-podman]] -.*Podman* -[%collapsible] -==== - -. Download the Flex Gateway container image: -+ -[source,ssh,subs=attributes+] ----- -podman pull docker.io/{image-owner-lc}/flex-gateway:{gateway-ver-var} ----- - -. Verify that the download succeeded: -+ -[source,ssh,subs=attributes+] ----- -podman images docker.io/{image-owner-lc}/flex-gateway ----- -+ -When successful, the command lists the Flex Gateway container image, for example: -+ -[source,text,subs=attributes+] ----- -REPOSITORY TAG -{image-owner-lc}/flex-gateway {gateway-ver-var} ----- - -include::partial$reference-install-next-steps.adoc[tags=flex-k8-download-install] -==== - -[[openshift]] -== Download Flex Gateway for Use in an OpenShift Cluster - -Download the Flex Gateway container image to prepare for registering and running a gateway in an OpenShift cluster. You can use the following container runtimes: - -[[install-openshift-docker]] -.*Docker* -[%collapsible] -==== - -. Download the Flex Gateway container image: -+ -[source,ssh,subs=attributes+] ----- -docker pull {image-owner-lc}/flex-gateway:{gateway-ver-var} ----- - -. Verify that the download succeeded: -+ -[source,ssh,subs=attributes+] ----- -docker images {image-owner-lc}/flex-gateway ----- -+ -When successful, the command lists the Flex Gateway container image, for example: -+ -[source,text,subs=attributes+] ----- -REPOSITORY TAG -{image-owner-lc}/flex-gateway {gateway-ver-var} ----- - -include::partial$reference-install-next-steps.adoc[tags=flex-k8-download-install] -==== - -[[install-openshift-podman]] -.*Podman* -[%collapsible] -==== -. Download the Flex Gateway container image: -+ -[source,ssh,subs=attributes+] ----- -podman pull docker.io/{image-owner-lc}/flex-gateway:{gateway-ver-var} ----- - -. Verify that the download succeeded: -+ -[source,ssh,subs=attributes+] ----- -podman images docker.io/{image-owner-lc}/flex-gateway ----- -+ -When successful, the command lists the Flex Gateway container image, for example: -+ -[source,text,subs=attributes+] ----- -REPOSITORY TAG -{image-owner-lc}/flex-gateway {gateway-ver-var} ----- - -include::partial$reference-install-next-steps.adoc[tags=flex-k8-download-install] -==== - -//TODO: points to Flex Gateway Deployments in Kubernetes -// https://dev-docs-internal.kqa.msap.io/beta-flex-gateway-get-well/gateway/1.4/flex-gateway-k8-overview -//Q: is this ok? -// include::partial$reference-install-next-steps.adoc[tags=flex-k8-download-install] - -== See Also - -* xref:flex-gateway-getting-started.adoc[] -* xref:flex-review-prerequisites.adoc[] -* xref:flex-conn-reg-run.adoc[] -* xref:flex-local-reg-run.adoc[] diff --git a/gateway/1.5/modules/ROOT/pages/flex-local-configuration-reference-guide.adoc b/gateway/1.5/modules/ROOT/pages/flex-local-configuration-reference-guide.adoc deleted file mode 100644 index 919513b98..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-local-configuration-reference-guide.adoc +++ /dev/null @@ -1,726 +0,0 @@ -= Declarative Configuration Reference Guide -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Anypoint Flex Gateway running in Local Mode supports two configuration models: - -* The resource-based model, common in Kubernetes, is ideal for granular definitions. Resources each contain one of the following values for configuration `kind`: -** `ApiInstance` -** `Service` -** `PolicyBinding` -** `Configuration` - -* The inline model is ideal for concise definitions, but is less versatile (for example, automated policies can only be applied in resource-based definitions.) -+ -Inline definitions contain a single `ApiInstance` value for configuration `kind`, under which services and policies are both defined. - -image:gateway-configuration-models.png[width=65%] - -Refer to the <> section for examples of both. - -This reference guide describes the available resources that are applicable to either resource-based configurations or inline configurations. - -[[api-instance]] -== API Instance - ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: ApiInstance -metadata: - name: - namespace: # optional namespace name -spec: - address: - services: # optional map of upstream services - : - address: - routes: # optional array of routes to service - - config: # optional route configuration - destinationPath: - rules: # optional route rules - policies: # optional array of policies - - policyRef: - name: - namespace: - config: # optional policy configuration - rules: # optional policy rules ----- - -[cols="2,1,1,3"] -|=== -|Parameter |Required or Optional |Default Value |Description - -|`metadata.name` -|Required -|N/A -|The API instance identifier that is used as a target reference for other resources, such as policy bindings. - -|`metadata.namespace` -|Optional -|`default` -| - -|`spec.address` -|Required -|N/A -|The proxy address URL, including protocol, host, port and optional path. If the base path is specified, it must be absent in any `rules.path` attribute. Supported format: -`protocol://host:port/path`, where `path` is optional, and `protocol` is either `http` or `https`. - -|`spec.services` -|Optional -|Empty -|A map of named services and their routes. - -|`spec.services[name].address` -|Required -|N/A -|The service address (and port). Supported format: `protocol://host:port`, where `protocol` is either `http` or `https`. - -|`spec.services[name].routes` -|Optional -|Empty -|An array of routes configured for this API instance towards the service. If left empty, a default route will be established to the service that will route all traffic. - -|`spec.services[name].routes[#].config` -|Optional -|Empty -|The configuration for this route. If left empty, a default configuration will be applied with an empty `destinationPath`. - -|`spec.services[name].routes[#].config.destinationPath` -|Optional -|Empty -|The path to prepend to forwarded requests to the upstream service. For example, if "destinationPath: /api/v1", requests to this API instance with a path like "/orders" will be routed upstream to "/api/v1/orders". - -|`spec.services[name].routes[#].rules` -|Optional -|Empty -|An array of rules for this route. Refer to <> in Policy Binding. - -|`spec.policies` -|Optional -|Empty -|An array of policies to apply to this API Instance. - -|`spec.policies[#].policyRef.name` -|Required -|N/A -|The policy name. - -|`spec.policies[#].policyRef.namespace` -|Optional -|The value of `metadata.namespace` -|The namespace where the policy is defined. For provided policies, the value of this field should be `default`. - -|`spec.policies[#].config` -|Optional -|Empty -|The policy's configuration. Refer to <> in Policy Binding. To use environment variables in `policies[#].config` fields, refer to <>. - -|`spec.policies[#].rules` -|Optional -|Empty -|An array of rules for applying this policy to the API Instance. <> in Policy Binding. - -|=== - -=== API Instance Examples - -The following resource specifies an `ApiInstance` with metadata that describes the instance identifier. The `metadata.name` value is used as the target reference for other resources, such as policy bindings. The `spec.services.routes.config.destinationPath` value prepends `/v1/apps` to the specified paths under `rules`, acting in a similar manner as a base path. - ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: ApiInstance -metadata: - name: hello-flex-gateway-instance -spec: - address: http://0.0.0.0:8080 - services: - json: - address: https://:443/ - routes: - - rules: - - path: /api(/users/.*) - - path: /api(/comments/.*) - config: - destinationPath: /v1/apps - ----- - -==== Port Sharing - -The following `ApiInstance` resources demonstrate API port sharing, with two distinct API instances listening on port 8080. - ----- ---- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: ApiInstance -metadata: - name: httpbin-example -spec: - address: http://0.0.0.0:8080/api/httpbin/ - services: - upstream: - address: https://:443 ---- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: ApiInstance -metadata: - name: json-example -spec: - address: http://0.0.0.0:8080/api/json/ - services: - upstream: - address: https://:443 ----- - -Both services listen on port 8080, for example: ----- -curl http://localhost:8080/api/httpbin/get -v -curl http://localhost:8080/api/json/users/1 -v ----- - -[NOTE] -==== -The base path of APIs sharing a port must not clash. For example, the following path combination is not allowed: ----- -http://0.0.0.0:8080/cats -http://0.0.0.0:8080/cats/dogs ----- -==== - -[NOTE] -==== -TLS applies to the port. Therefore, the same TLS policy applies to all API instances sharing the port. -==== - -[[policy-binding]] -== Policy Binding - ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: - namespace: -spec: - targetRef: - name: - namespace: - policyRef: - name: - namespace: - config: # optional policy configuration - order: # optional policy read order - rules: # optional policy rules - - path: - methods: - host: - headers: - :
----- - -[cols="2,1,1,3"] -|=== -|Parameter |Required or Optional |Default Value |Description - -|`metadata.name` -|Required -|N/A -|The identifier of the policy binding. - -|`metadata.namespace` -|Optional -|`default` -| - -|`spec.targetRef.name` -|Required -|N/A -|The API instance identifier to which the policy is bound to. - -|`spec.targetRef.namespace` -|Optional -|The value of `metadata.namespace` -|The namespace where the target is defined. - -|`spec.policyRef.name` -|Required -|N/A -|The policy name. See the list of available policies. - -|`spec.policyRef.namespace` -|Optional -|The value of `metadata.namespace` -|The namespace where the policy is defined. For provided policies, the value of this field should be `default`. - -|`spec.config` -|Optional -|Empty -|The policy configuration. The content of this field depends on the specified policy. See the list of available policies. To use environment variables in `config` fields, refer to <>. - -|`spec.order` -|Optional -|50 -|The policy read order in the overall policy execution chain. - -|`spec.rules` -|Optional -|Empty -|An array of rules that will determine if the policy applies to a given request. These rules are checked in an OR fashion. The first one to hold will enable applying the policy to the request. The attributes in each rule object apply in an AND fashion. If path and host are defined, both must match for that rule to hold true. - -|`spec.rules[#].path` -|Optional -|`.*` -|A regular expression to match the request path. - -Capture groups in this regular expression will be used to define path rewriting when routing the request upstream. - -If "path: /api(/.*)", requests with the path /api/orders will be routed upstream as /orders. - -Multiple capture groups can be specified, and the replacement will be the concatenation of all captured substrings. - -|`spec.rules[#].host` -|Optional -|`.*` -|A regular expression to match the request host. - -|`spec.rules[#].methods` -|Optional -|`.*` -|A regular expression to match the request method. - -|`spec.rules[#].headers` -|Optional -|Empty -|A map of header names and value regular expressions that must be present in the request. - -Each entry's key is the expected header name and the value is a regular expression to match the header value. - -|=== - -=== Policy Binding Examples - -The following resource binds a `route` policy to the API instance, routing traffic specified by the `rules` to the proxy address specified in the `Service` configuration snippet: - ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: hello-flex-gateway-route - namespace: e-commerce -spec: - targetRef: - name: hello-flex-gateway-instance - policyRef: - name: route - namespace: default - config: - destinationRef: - name: json - namespace: e-commerce - rules: - - path: /api/json(/.*) ----- - -The following resource binds a `http-basic-authentication-flex` policy to the API instance - requiring requests to include the basic credentials defined in `config.username` and `config.password`. The policy is given a read order value of `2`. - ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: hello-flex-gateway-auth - namespace: e-commerce -spec: - targetRef: - name: hello-flex-gateway-instance - namespace: e-commerce - policyRef: - name: http-basic-authentication-flex - namespace: default - config: - username: chris - password: admin - order: 2 ----- - -[[environment-variables]] -=== Environment Variables for Policy Bindings - -Both policy binding resources and inline policy bindings support environment variables in `config` fields. The environment variables available are dependent on your environment. - -To reference your environment variable, specify your environment variable prefixed by `$`, for example: - ----- -- policyRef: - name: http-basic-authentication-flex - config: - username: $USERNAME - password: $PASSWORD ----- - - -== Service - ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Service -metadata: - name: - namespace: -spec: - address: ----- - -[cols="2,1,1,3"] -|=== -|Parameter |Required or Optional |Default Value |Description - -|`metadata.name` -|Required -|N/A -|The service identifier. - -|`metadata.namespace` -|Optional -|`default` -| - -|`spec.address` -|Required -|N/A -|The service address URL, including protocol, host and port. Supported format: `protocol://host:port`, where `protocol` is either `http` or `https`. - -|=== - -=== Service Example - -The following resource defines a `Service` with metadata that describes the service identifier. The `metadata.namespace` value matches the namespace specified in the `ApiInstance` configuration. The `spec.address` is the address of the API implementation: - ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Service -metadata: - name: json-example - namespace: e-commerce -spec: - address: https://:443/ ----- - -== Configuration - -Define a desired gateway state by creating a `Configuration` entity. `Configuration` entities specify several runtime configuration aspects for Flex Gateway itself, such as <> and <>. The definition includes the following: - ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Configuration -metadata: - name: - namespace: -spec: - logging: # logging configuration - sharedStorage: # shared storage configuration ----- - -[cols="2,1,1,3"] -|=== -|Parameter |Required or Optional |Default Value |Description - -|`metadata.name` -|Required -|N/A -|The Configuration entity. - -|`metadata.namespace` -|Optional -|`default` -|The namespace value used to isolate Configuration entities. - -|`spec` -|Required -|N/A -|The configuration object that defines gateway characteristics. Objects include: `logging`, `sharedStorage`, `tls`. - -|=== - -[[logging]] -=== Logging - -include::partial$logging-config-file.adoc[] - -==== Logging Example - ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Configuration -metadata: - name: logging -spec: - logging: - outputs: - - name: log-to-file - type: file - parameters: - path: /var/log - file: log.txt - format: template - template: | - [{date}][{logger}][{level}][{kind}] {message} - runtimeLogs: - logLevel: info - outputs: - - log-to-file - accessLogs: - outputs: - - log-to-file ----- - -[[shared-storage]] -=== Shared Storage - -The `sharedStorage` object configures the gateway for shared storage. Production workflows should use https://redis.io/[Redis^] (minimum version 4.0.0), though defining it is optional. If Redis is not defined, shared storage services at port 4000 are still available but will use an in-memory implementation. - -Optionally, you can use Redis with Transport Layer Security (TLS) to protect sensitive data, prevent unauthorized access, and maintain the reliability of your services. - ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Configuration -metadata: - name: shared-storage-redis -spec: - sharedStorage: - redis: - address: // REQUIRED - username: // OPTIONAL - password: // OPTIONAL - db: // OPTIONAL - tls: // OPTIONAL - trustedCA: // OPTIONAL - certificate: // OPTIONAL - keyPassphrase // OPTIONAL - key: // REQUIRED - crt: // REQUIRED - alpn: // OPTIONAL - skipValidation: // OPTIONAL - minversion: // OPTIONAL - maxversion: // OPTIONAL - ciphers: // OPTIONAL ----- - -[cols="2,1,1,3"] -|=== -|Parameter |Required or Optional |Default Value |Description - -|`sharedStorage.redis.address` -|Required -|N/A -|The Redis instance address in `host:port` format - -|`sharedStorage.redis.username` -|Optional -|Empty -|The Redis user name - -|`sharedStorage.redis.password` -|Optional -|Empty -|The Redis user password - -|`sharedStorage.redis.db` -|Optional -|0 -|The Redis database number to use - -|`sharedStorage.redis.tls` -|Optional -|Empty -|The Redis TLS configuration - -| `sharedStorage.redis.tls.trustedCA` -| Optional -| N/A -| Root certificate authority to use when verifying server certificates - -| `sharedStorage.redis.tls.certificate` -| Optional -| N/A -| Client certificate to present to the server - -| `sharedStorage.redis.tls.keyPassphrase` -| Optional -| `none` -| The certificate key passphrase. If specified, use the private key format that includes a DEK-Info header. If unspecified, the private key must not be encrypted. - -| `sharedStorage.redis.tls.certificate.key` -| Required -| N/A -| The private key part of the certificate - -| `sharedStorage.redis.tls.certificate.crt` -| Required -| N/A -| The public key part of the certificate - -|`sharedStorage.redis.tls.skipValidation` -| Optional -| `false` -| If true, any certificate presented by the server is accepted. - -| `sharedStorage.redis.tls.minversion` -| Optional -| `1.2` -| The minimum TLS version allowed - -| `sharedStorage.redis.tls.maxversion` -| Optional -| `1.3` -| The maximum TLS version allowed - -| `sharedStorage.redis.tls.alpn` -| Optional -| Empty list -| A prioritized list of supported application level protocols; for example, h2, http/1.1 - -| `sharedStorage.redis.tls.ciphers` -| Optional -| -| - -|=== - -[NOTE] -==== -TLS/Redis supports the same ciphers as the xref:policies-included-tls.adoc[TLS policy], except the following: - -* TLS_RSA_WITH_NULL_SHA -* TLS_PSK_WITH_AES_256_CBC_SHA -* TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA -* TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA -* TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 -==== - -.*Redis Shared Storage Example* -[%collapsible] -==== -The Redis storage service is an implementation of a REST API object store that functions as a bridge between the object store interface and a Redis backend. - -[source, yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Configuration -metadata: - name: shared-storage-redis -spec: - sharedStorage: - redis: - address: redis.e-commerce.svc:6379 - username: ecomm-user - password: ecomm-pwd-123 - DB: 7 ----- -==== - -.*Redis with TLS Shared Storage Example* -[%collapsible] -==== -Optionally, you can use Redis with TLS to protect data and ensure secure communication. - -include::partial$task-shared-storage-config.adoc[tags=tls-sample-config] -==== - -.*Local Shared Storage Example* -[%collapsible] -==== -The local storage service is an implementation of a REST API object store that saves data in memory. All data is lost when Flex Gateway is stopped or restarted. - -[source, yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Configuration -metadata: - name: rtm-config - namespace: sales -spec: - sharedStorage: - local: - enabled: true ----- -==== - -[[examples]] -== Examples - -=== Inline Configuration Example - ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: ApiInstance -metadata: - name: api-example -spec: - address: http://0.0.0.0:8080 - services: - api-example: - address: https://:443/ - routes: - - rules: - - path: /api(/users/.*) - - path: /api(/comments/.*) - config: - destinationPath: /v1/apps - policies: - - policyRef: - name: http-basic-authentication-flex - config: - username: chris - password: admin ----- - -=== Resource-Based Configuration Example - ----- ---- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: ApiInstance -metadata: - name: ingress-http -spec: - address: http://0.0.0.0:8080 ---- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Service -metadata: - name: json -spec: - address: https://:443/ ---- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: ingress-http-route -spec: - targetRef: - name: ingress-http - policyRef: - name: route - config: - destinationRef: - name: json - rules: - - path: /api(/users/.*) - - path: /api(/comments/.*) ---- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: ingress-http-authentication -spec: - targetRef: - name: ingress-http - policyRef: - name: http-basic-authentication-flex - config: - username: chris - password: admin ----- \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-local-configure.adoc b/gateway/1.5/modules/ROOT/pages/flex-local-configure.adoc deleted file mode 100644 index ef327c12b..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-local-configure.adoc +++ /dev/null @@ -1,17 +0,0 @@ -= Configuring Flex Gateway in Local Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -// :page-aliases: gateway::flex-local-manage.adoc -:page-mode: local - -include::partial$configuration-task-list.adoc[tags=configuration-task-list-replicas] -include::partial$configuration-task-list.adoc[tags=configuration-task-list-tls] -include::partial$configuration-task-list.adoc[tags=configuration-task-list-shared-storage] -include::partial$configuration-task-list.adoc[tags=configuration-task-list-forward-proxy] -include::partial$configuration-task-list.adoc[tags=configuration-task-list-liveness-check] -include::partial$configuration-task-list.adoc[tags=configuration-task-list-proxy-protocol] - - -Refer to the xref:flex-local-configuration-reference-guide.adoc[] for information about configuring Flex Gateway via declarative configuration files. \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-local-deploy-custom-policy.adoc b/gateway/1.5/modules/ROOT/pages/flex-local-deploy-custom-policy.adoc deleted file mode 100644 index 365062145..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-local-deploy-custom-policy.adoc +++ /dev/null @@ -1,206 +0,0 @@ -= Deploying a Custom Policy for Flex Gateway in Local Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -You can implement custom policies via WebAssembly (WASM) extensions that run on Envoy as custom filters. The following steps demonstrate deploying and applying a custom filter (policy) to an API running in Local Mode: - -. Create a configuration YAML file. -. Save the file in the Flex Gateway configuration directory. -. Create the extension definition. -. Encode the custom policy WASM implementation using `base64`. -. Link the extension definition to the custom policy WASM binary implementation. -. Link the custom policy to an API instance. -. Apply the resources to the Flex Gateway instance. - -== Before You Begin - -Before getting started, ensure that you have: - -* Flex Gateway installed and running in Local Mode. See xref:flex-install.adoc[] for more information about installing and running the gateway. -* Your upstream service URL. See xref:flex-local-publish-simple-api.adoc[] for an example. -* A custom policy implemented and compiled. See xref:policies-custom-flex-implement-rust.adoc[]. - -== Deploy a Custom Policy - -. Create a configuration file called `custom-policy-example.yaml`. - -. Save the file in the Flex Gateway configuration directory. For example: -+ -* `/etc/mulesoft/flex-gateway/conf.d/policies` - -. Create the extension definition. -+ -Copy and paste the following YAML snippet into the new configuration file. The YAML defines the configuration and metadata properties for the custom policy: -+ -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Extension -metadata: - name: custom-local-example-definition -spec: - extends: - - name: extension-authentication - - name: extension-definition - properties: - secret-value: - type: string - required: - - secret-value ----- -+ -* The `metadata.name` value contains the extension name. -+ -* The `Extension` inherits properties from other defined extensions. For example, `spec.extends` specifies that the extension is an `extension-definition`, and that it belongs in the `authentication` category (`extension-authentication`). -+ -* The `spec.properties` values define properties that configure the custom policy instance. -+ -* The `spec.required` value specifies the required properties. - -. Encode the custom policy WASM binary implementation using `base64`. -+ -Encode the custom policy WASM binary implementation by executing the following command: -+ -[source,ssh] ----- -base64 .wasm | tr -d '\n\r' > policy ----- -+ -The command sends the encoded data to a file called `policy`. In the next step, substitute `` with this encoded data. -+ -[NOTE] -==== -If you compiled the policy using a target of `wasm32-unknown-unknown`, locate the binary in `./target/wasm32-unknown-unknown/release`. - -If you compiled the policy using a target of `wasm32-wasi`, locate the binary in `./target/wasm32-wasi/release`. -==== - -. Link the extension definition to the custom policy WASM binary implementation. -+ -In `custom-policy-example.yaml`, define another resource that contains the policy implementation: -+ -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Extension -metadata: - name: custom-local-example-flex -spec: - extends: - - name: custom-local-example-definition - - name: envoy-filter - - name: proxy-wasm-filter - properties: - rootId: - type: string - default: main - implementation: - type: string - default: base64:// ----- -+ -* The `metadata.name` value contains the policy name, which must be different from the name specified in the definition. -+ -* The `spec.extends` value specifies the resource definition to inherit from. For example, `custom-local-example-definition` is the resource previously defined. -+ -* Substitute the `` value of `spec.properties.implementation.default` with the `base64` encoded WASM binary data, generated previously. -+ -[NOTE] -==== -You can include the policy definition and implementation in the same `Extension` resource, but this generates a tighter coupling between them. It is therefore recommended to separate the two into different resources. -==== - -. Link the custom policy to an API instance. -+ -In `custom-policy-example.yaml`, define another resource that links the policy to an API instance: -+ -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: custom-local-example -spec: - targetRef: - kind: ApiInstance - name: ingress-http - policyRef: - kind: Extension - name: custom-local-example-flex - config: - secret-value: "an-example-value" ----- -+ -* The `metadata.name` value contains the custom policy instance name. -+ -* The `spec.targetRef.name` value contains the name of the API instance on which to apply the custom policy. The API instance must already have been defined and applied. -+ -* The `spec.policyRef.name` value contains the custom policy implementation to apply. -+ -* The `spec.config` value contains policy configuration data. - -. Apply the resources to the Flex Gateway instance. -+ -The complete `custom-policy-example.yaml` file now contains the following: -+ -[source,yaml] ----- ---- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Extension -metadata: - name: custom-local-example-definition -spec: - extends: - - name: extension-authentication - - name: extension-definition - properties: - secret-value: - type: string - required: - - secret-value ---- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Extension -metadata: - name: custom-local-example-flex -spec: - extends: - - name: custom-local-example-definition - - name: envoy-filter - - name: proxy-wasm-filter - properties: - rootId: - type: string - default: main - implementation: - type: string - default: base64:// ---- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: custom-local-example -spec: - targetRef: - kind: ApiInstance - name: ingress-http - policyRef: - kind: Extension - name: custom-local-example-flex - config: - secret-value: "an-example-value" ----- -+ -Save the file in the Flex Gateway configuration directory. For example: -+ -* `/etc/mulesoft/flex-gateway/conf.d/policies` - -A custom policy now applies to an API instance called `ingress-http`. - -== See Also - -* xref:policies-custom-flex-implement-rust.adoc[] -* xref:flex-local-configuration-reference-guide.adoc[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-local-forward-proxy.adoc b/gateway/1.5/modules/ROOT/pages/flex-local-forward-proxy.adoc deleted file mode 100644 index ee6ed9bdb..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-local-forward-proxy.adoc +++ /dev/null @@ -1,27 +0,0 @@ -= Configuring a Forward Proxy for Flex Gateway in Local Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:page-mode: local - -include::partial$forward-proxy-config.adoc[tags=intro;icon-table] - -include::partial$forward-proxy-config.adoc[tags=connections;noproxy] - -include::partial$forward-proxy-config.adoc[tags=forward-proxy-parameters] - -include::partial$forward-proxy-config.adoc[tags=linux] - -include::partial$forward-proxy-config.adoc[tags=docker] -+ -include::partial$task-reg-run-flex-gateway.adoc[tags=start-command-local] -+ -include::partial$forward-proxy-config.adoc[tags=docker2] - -include::partial$forward-proxy-config.adoc[tags=k8s] - -include::partial$forward-proxy-config.adoc[tags=proxy-registration] - -== See also -* xref:flex-local-reg-run.adoc[Register and Run Flex Gateway in Local Mode] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-local-liveness-check.adoc b/gateway/1.5/modules/ROOT/pages/flex-local-liveness-check.adoc deleted file mode 100644 index dcf5f83b4..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-local-liveness-check.adoc +++ /dev/null @@ -1,8 +0,0 @@ -= Configuring a Liveness Check in Local Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:page-mode: local - -include::partial$task-config-liveness-probe.adoc[tags=intro1;k8s-liveness-probe;docker-linux-deployments;see-also] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-local-monitor.adoc b/gateway/1.5/modules/ROOT/pages/flex-local-monitor.adoc deleted file mode 100644 index ff961bc1f..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-local-monitor.adoc +++ /dev/null @@ -1,12 +0,0 @@ -= Monitoring in Local Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Flex Gateway running in Local Mode enables you to monitor APIs independent of Anypoint Platform. Using declarative configuration files, you configure Flex Gateway to deliver logs to different Fluent Bit outputs. - -Refer to the following tasks for details about monitoring in Local Mode: - -* xref:flex-local-third-party-logs-config.adoc[Configure External Logs for Flex Gateway in Local Mode] - Configure log output for Fluent Bit output types. Output types include `File`, `HTTP`, and `Splunk`. -* xref:flex-local-view-logs.adoc[View Standard Output Logs] - View Flex Gateway standard output logs. Quickly verify the status of external services and API requests. diff --git a/gateway/1.5/modules/ROOT/pages/flex-local-proxy-protocol.adoc b/gateway/1.5/modules/ROOT/pages/flex-local-proxy-protocol.adoc deleted file mode 100644 index 1ff9320d0..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-local-proxy-protocol.adoc +++ /dev/null @@ -1,20 +0,0 @@ -= Configuring PROXY Protocol in Local Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:page-mode: local - -include::partial$task-config-proxy-protocol.adoc[tags=intro1;icon-table;byb] - -include::partial$task-config-proxy-protocol.adoc[tags=linux;sample-config] - -include::partial$task-config-proxy-protocol.adoc[tags=docker-intro] -+ -include::partial$task-reg-run-flex-gateway.adoc[tags=start-command-local] -+ -include::partial$task-config-proxy-protocol.adoc[tags=docker-config-file-step;sample-config] - -include::partial$task-config-proxy-protocol.adoc[tags=k8s;sample-config] - -include::partial$task-config-proxy-protocol.adoc[tags=see-also] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-local-publish-api-multiple-services.adoc b/gateway/1.5/modules/ROOT/pages/flex-local-publish-api-multiple-services.adoc deleted file mode 100644 index f9bce4d46..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-local-publish-api-multiple-services.adoc +++ /dev/null @@ -1,270 +0,0 @@ -= Publishing an API with Multiple Upstream Services in Local Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Flex Gateway running in Local Mode supports API instances that expose multiple upstream services through a single consumer endpoint. - -Flex Gateway manages traffic by using multiple routes with a defined route order and individual rulesets to direct traffic to different sets of upstream services. Each API instance supports multiple routes that can each direct traffic to multiple upstream services. - -For Flex Gateways running in Local Mode, API instances with multiple upstream services are configured by using the `ApiInstance` and the `PolicyBinding` YAML configuration resources. The `ApiInstance` resource defines an API instance, and the `route-weighted` policy resource defines a single route to one or multiple upstream services. To add additional routes, add multiple `route-weighted` resources. - -The following tutorials use a preconfigured `route-weighted` policy resource. For information about how to configure the resource, see xref:policies-included-traffic-management.adoc[]. - -[cols="1a,1a,1a"] -|=== -|image:install-linux-logo.png[20%,20%,xref="#linux"] -|image:install-docker-logo.png[25%,25%,xref="docker"] -|image:install-kubernetes-logo.png[20%,20%,xref="kubernetes"] - -|<> -|<> -|<> -|=== - -[[linux]] -== Publish an API Running Behind Flex Gateway on Linux - -=== Before You Begin - -Before getting started, ensure that you have: - -* Downloaded Flex Gateway. For more information, see xref:flex-install.adoc[]. -* Registered Flex Gateway and are running it in Local Mode. For more information, see xref:flex-local-reg-run.adoc[Register and Run in Local Mode]. -* Your upstream service URLs. - -=== Publish an API - -. Create a configuration file with a `.yaml` file extension: -.. Give the file a custom name. -.. Save the file in the Flex Gateway configuration directory `/etc/mulesoft/flex-gateway/conf.d/custom`. This directory can contain multiple configuration files. - -. Copy and paste the following YAML snippet into the file, substituting the configuration field values with your values. -+ -The snippet refers to the fictional `products-api` and `products-api-beta` services and a fictional `json-http` API instance. Specify your own API name and your own service details: -+ ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: ApiInstance -metadata: - name: json-http -spec: - address: http://0.0.0.0:8080/json -​ ---- -​ -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: weight-routing-test -spec: - targetRef: - name: json-http - policyRef: - name: route-weighted - config: - routes: - - weight: 75 # max_value=100, min_value=1 - destinationPath: /posts/ - destinationRef: - name: products-api - - weight: 25 - destinationPath: /posts/ - destinationRef: - name: products-api-beta - rules: - - path: (.*) - methods: POST - headers: - x-test: true - host: test.com - - methods: GET|POST - headers: - x-test: true - y-test: false - host: test.com ----- - -. Save the file. The gateway automatically refreshes the configuration. -+ -. View the logs by executing the following command: -+ ----- -journalctl -u flex-gateway-* ----- -+ -The response looks something like this: -+ ----- -[agent][info] Generating config -[agent][info] Gateway default/18b4e890fe7d: Adding ApiInstance default/products-users-api http://0.0.0.0:8080 -[agent][info] Gateway default/18b4e890fe7d: Adding Route: &{host: path:/api/products(/.*) methods: headerConditions:[] profile:0xc0030529f0} => {Kind:Service Name:products-users-api-products Namespace:default} -[agent][info] Gateway default/18b4e890fe7d: Adding Route: &{host: path:/api/users(/.*) methods: headerConditions:[] profile:0xc0030529f0} => {Kind:Service Name:products-users-api-users Namespace:default} -[agent][info] Gateway default/18b4e890fe7d: Adding Policy default/envoy.filters.http.router -[agent][info] Gateway default/18b4e890fe7d: Adding Service default/monitoring_metrics http://0.0.0.0:9881 -[agent][debug] generating service monitoring_metrics.default.svc hostname: 0.0.0.0 port: 9881 -[agent][info] Gateway default/18b4e890fe7d: Adding Service default/products-users-api-products https://:/ -[agent][info] Gateway default/18b4e890fe7d: Adding Service default/products-users-api-users https://:/ -[agent][debug] generating service products-users-api-products.default.svc hostname: port: -[agent][debug] generating service products-users-api-users.default.svc hostname: port: -[agent][info] Writing envoy bootstrap configuration to /tmp/envoy.json -[envoy][info] cds: add 2 cluster(s), remove 2 cluster(s) -[envoy][info] cds: added/updated 1 cluster(s), skipped 1 unmodified cluster(s) ----- - -An API with multiple upstream services now runs behind Flex Gateway. - -[[docker]] -== Publish an API Running Behind Flex Gateway in a Docker Container - -=== Before You Begin - -Before getting started, ensure that you have: - -* Downloaded Flex Gateway. For more information, see xref:flex-install.adoc[]. -* Registered Flex Gateway and are running it in Local Mode. For more information, see xref:flex-local-reg-run.adoc[Register and Run in Local Mode]. -* Your upstream service URLs. - -=== Publish an API - -. Open a terminal and navigate to the directory that will contain your Flex Gateway configuration files. This directory was specified when you started Flex Gateway. - -. Create a configuration file with a `.yaml` file extension: -.. Give the file a custom name. -.. Save the file. - -. Copy and paste the following YAML snippet into the file, substituting configuration fields with your values. -+ -The snippet refers to the fictional `products-api` and `products-api-beta` services and a fictional `json-http` API instance. Specify your own API name and your own service details: -+ ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: ApiInstance -metadata: - name: json-http -spec: - address: http://0.0.0.0:8080/json -​ ---- -​ -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: weight-routing-test -spec: - targetRef: - name: json-http - policyRef: - name: route-weighted - config: - routes: - - weight: 75 # max_value=100, min_value=1 - destinationPath: /posts/ - destinationRef: - name: products-api - - weight: 25 - destinationPath: /posts/ - destinationRef: - name: products-api-beta - rules: - - path: (.*) - methods: POST - headers: - x-test: true - host: test.com - - methods: GET|POST - headers: - x-test: true - y-test: false - host: test.com ----- - -. Save the file. The gateway automatically refreshes the configuration. - -. View the Docker container logs, which look something like this: -+ ----- -[agent][info] Generating config -[agent][info] Gateway default/18b4e890fe7d: Adding ApiInstance default/products-users-api http://0.0.0.0:8080 -[agent][info] Gateway default/18b4e890fe7d: Adding Route: &{host: path:/api/products(/.*) methods: headerConditions:[] profile:0xc0030529f0} => {Kind:Service Name:products-users-api-products Namespace:default} -[agent][info] Gateway default/18b4e890fe7d: Adding Route: &{host: path:/api/users(/.*) methods: headerConditions:[] profile:0xc0030529f0} => {Kind:Service Name:products-users-api-users Namespace:default} -[agent][info] Gateway default/18b4e890fe7d: Adding Policy default/envoy.filters.http.router -[agent][info] Gateway default/18b4e890fe7d: Adding Service default/monitoring_metrics http://0.0.0.0:9881 -[agent][debug] generating service monitoring_metrics.default.svc hostname: 0.0.0.0 port: 9881 -[agent][info] Gateway default/18b4e890fe7d: Adding Service default/products-users-api-products https://:/ -[agent][info] Gateway default/18b4e890fe7d: Adding Service default/products-users-api-users https://:/ -[agent][debug] generating service products-users-api-products.default.svc hostname: port: -[agent][debug] generating service products-users-api-users.default.svc hostname: port: -[agent][info] Writing envoy bootstrap configuration to /tmp/envoy.json -[envoy][info] cds: add 2 cluster(s), remove 2 cluster(s) -[envoy][info] cds: added/updated 1 cluster(s), skipped 1 unmodified cluster(s) ----- - -An API with multiple upstream services is now running behind Flex Gateway. - -[[kubernetes]] -== Publish an API Running Behind Flex Gateway in a Kubernetes Cluster - -=== Before You Begin - -Before getting started, ensure that you have: - -* Downloaded Flex Gateway. For more information, see xref:flex-install.adoc[]. -* Registered Flex Gateway and are running it in Local Mode. For more information, see xref:flex-local-reg-run.adoc[Register and Run in Local Mode]. -* Your upstream service URLs. - -include::partial$kubernetes-service-note.adoc[] - -=== Publish an API - -. Use the `kubectl apply` command to apply the following `.yaml` configuration file, substituting the configuration field values with your values. -+ -The snippet refers to the fictional `products-api` and `products-api-beta` services and a fictional `json-http` API instance. Specify your own API name and your own service details: -+ ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: ApiInstance -metadata: - name: json-http -spec: - address: http://0.0.0.0:8080/json -​ ---- -​ -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: weight-routing-test -spec: - targetRef: - name: json-http - policyRef: - name: route-weighted - config: - routes: - - weight: 75 # max_value=100, min_value=1 - destinationPath: /posts/ - destinationRef: - name: products-api - - weight: 25 - destinationPath: /posts/ - destinationRef: - name: products-api-beta - rules: - - path: (.*) - methods: POST - headers: - x-test: true - host: test.com - - methods: GET|POST - headers: - x-test: true - y-test: false - host: test.com ----- - -. Enter the following command to view the pods logs and ensure that the API was created successfully: + ----- -kubectl logs -f ----- diff --git a/gateway/1.5/modules/ROOT/pages/flex-local-publish-simple-api.adoc b/gateway/1.5/modules/ROOT/pages/flex-local-publish-simple-api.adoc deleted file mode 100644 index 23129b068..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-local-publish-simple-api.adoc +++ /dev/null @@ -1,241 +0,0 @@ -= Publishing a Simple API in Local Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Publish a simple API running behind Flex Gateway in Local Mode, modifying YAML configuration data by one of the following methods: - -* Linux and Docker: `.yaml` files -* Kubernetes: `kubectl apply` - -The following procedures demonstrate applying a simple YAML configuration for an unsecured API with a single upstream service. - -//TODO: IS THERE AN OPENSHIFT OPTION HERE? -[cols="1a,1a,1a"] -|=== -|image:install-linux-logo.png[20%,20%,xref="#linux"] -|image:install-docker-logo.png[25%,25%,xref="docker"] -|image:install-kubernetes-logo.png[20%,20%,xref="kubernetes"] - -|<> -|<> -|<> -|=== - -[[linux]] -== Publish an API Running Behind Flex Gateway on Linux - -//TODO: NEED INTRO HERE - -=== Before You Begin - -Before getting started, ensure that you have: - -* Flex Gateway installed and running in Local Mode. See xref:flex-install.adoc[] for more information about installing and running the gateway. -* Your upstream service URL. The following example refers to a fictional `orders-api` service, but you can specify your own API name in `metadata.name` and your service details in `spec.services`. - -=== Publish an API - -. Create a configuration file with a `.yaml` file extension: -.. Give the file a custom name. -.. Save the file in the Flex Gateway configuration directory `/etc/mulesoft/flex-gateway/conf.d/custom`. This directory can contain multiple configuration files. - -. Copy and paste the following YAML snippet into the file, substituting your values where indicated: -+ ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: ApiInstance -metadata: - name: orders-api -spec: - address: http://0.0.0.0:8080 - services: - orders: - address: https://:/ - routes: - - rules: - - path: /api/orders(/.*) ----- - -. Save the file. The gateway automatically refreshes the configuration. - -. View the logs by executing the following command: -+ ----- -journalctl -u flex-gateway-* ----- -+ -The response looks something like this: -+ ----- -[agent][info] Generating config -[agent][info] Gateway default/18b4e890fe7d: Adding ApiInstance default/animal-facts-api http://0.0.0.0:8080 -[agent][info] Gateway default/18b4e890fe7d: Adding Route: &{host: path:/api/orders(/.*) methods: headerConditions:[] profile:0xc0030529f0} => {Kind:Service Name:orders-api-orders Namespace:default} -[agent][info] Gateway default/18b4e890fe7d: Adding Policy default/envoy.filters.http.router -[agent][info] Gateway default/18b4e890fe7d: Adding Service default/monitoring_metrics http://0.0.0.0:9881 -[agent][debug] generating service monitoring_metrics.default.svc hostname: 0.0.0.0 port: 9881 -[agent][info] Gateway default/18b4e890fe7d: Adding Service default/orders-api-orders https://:/ -[agent][debug] generating service orders-api-orders.default.svc hostname: port: -[agent][info] Writing envoy bootstrap configuration to /tmp/envoy.json -[envoy][info] cds: add 2 cluster(s), remove 2 cluster(s) -[envoy][info] cds: added/updated 1 cluster(s), skipped 1 unmodified cluster(s) ----- - -A simple API is now running behind Flex Gateway. - -[[docker]] -== Publish an API Running Behind Flex Gateway in a Docker Container - -//TODO: NEED INTRO HERE - -=== Before You Begin - -Before getting started, ensure that you have: - -* Flex Gateway installed. See xref:flex-install.adoc[] for more information. -* Flex Gateway registered and running in Local Mode. See xref:flex-local-reg-run.adoc[Register and Run in Local Mode] for more information. -* Your upstream service URL. The following example refers to a fictional `orders-api` service, but you can specify your own API name in `metadata.name` and your service details in `spec.services`. - -=== Publish an API - -. Open a terminal and navigate to the directory that will contain your Flex Gateway configuration files. This directory was specified when you started Flex Gateway. - -. Create a configuration file with a `.yaml` file extension: -.. Give the file a custom name. -.. Save the file. - -. Copy and paste the following YAML snippet into the file, substituting your values where indicated: -+ ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: ApiInstance -metadata: - name: orders-api -spec: - address: http://0.0.0.0:8080 - services: - orders: - address: https://:/ - routes: - - rules: - - path: /api/orders(/.*) ----- - -. Save the file. The gateway automatically refreshes the configuration. - -. View the Docker container logs, which look something like this: -+ ----- -[agent][info] Generating config -[agent][info] Gateway default/18b4e890fe7d: Adding ApiInstance default/animal-facts-api http://0.0.0.0:8080 -[agent][info] Gateway default/18b4e890fe7d: Adding Route: &{host: path:/api/orders(/.*) methods: headerConditions:[] profile:0xc0030529f0} => {Kind:Service Name:orders-api-orders Namespace:default} -[agent][info] Gateway default/18b4e890fe7d: Adding Policy default/envoy.filters.http.router -[agent][info] Gateway default/18b4e890fe7d: Adding Service default/monitoring_metrics http://0.0.0.0:9881 -[agent][debug] generating service monitoring_metrics.default.svc hostname: 0.0.0.0 port: 9881 -[agent][info] Gateway default/18b4e890fe7d: Adding Service default/orders-api-orders https://:/ -[agent][debug] generating service orders-api-orders.default.svc hostname: port: -[agent][info] Writing envoy bootstrap configuration to /tmp/envoy.json -[envoy][info] cds: add 2 cluster(s), remove 2 cluster(s) -[envoy][info] cds: added/updated 1 cluster(s), skipped 1 unmodified cluster(s) ----- - -A simple API is now running behind Flex Gateway. - -[[kubernetes]] -== Publish an API Running Behind Flex Gateway in a Kubernetes Cluster - -//TODO: NEED INTRO HERE - -=== Before You Begin - -Before getting started, ensure that you have: - -* Flex Gateway installed and running in Local Mode. See xref:flex-install.adoc[] for more information about installing and running the gateway. -* A Docker image stored in a Docker repository. The following example refers to a fictional `orders-api` application, but you can specify your own Docker repository and Docker image in the `Deployment` configuration resource (in `spec.spec.image`). - -include::partial$kubernetes-service-note.adoc[] - -=== Publish an API - -. Using the `kubectl apply` command, install a Docker image named "orders-api" from a given repository. -+ -The following YAML snippet defines two configuration resources: `Service`, and `Deployment`. The `Service` resource declares the `orders-api` service. The `Deployment` resource declares the desired deployment state by specifying information such as the number of replicas to create, and the Docker image to sideload. -+ ----- -cat </ - imagePullPolicy: IfNotPresent - name: orders-api - ports: - - name: http - containerPort: 3000 - resources: - limits: - cpu: 100m - memory: 64Mi -EOF ----- - -. Again using `kubectl apply`, create the ingress to route traffic. -+ -The following YAML example defines one configuration resource: `Ingress`. -+ ----- -cat <> for configuration options. -//- add chart repo and deploy flex via chart -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart-add;k8s-flex-helm-chart-deploy-local] - -[[helm-options-k8s]] -//helm config options -include::partial$task-reg-run-flex-gateway.adoc[tags=helm-chart-options] - - -// OPENSHIFT -[[openshift]] -// Register and run with a connected app in an OpenShift cluster -//heading -include::partial$task-reg-run-flex-gateway.adoc[tags=app-openshift-heading] -//intro -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-intro-local] -//- cluster-level access when rbac enabled, as for OpenShift -include::partial$prerequisites.adoc[tags=rbac-permission-k8;rbac-role-openshift] -//- note (openshift command line procedures same as k8) -include::partial$task-reg-run-flex-gateway.adoc[tags=note-openshift-k8] -//- links to steps -include::partial$task-reg-run-flex-gateway.adoc[tags=links-to-openshift-reg-steps] -//- local mode supplemental info for k8 and openshift -include::partial$task-reg-run-flex-gateway.adoc[tag=k8s-local-intro] - -[[options-openshift]] -//sub collected info -include::partial$task-reg-run-flex-gateway.adoc[tags=sub-coll-info;app-replace-content;environment-replace-content;replace-content] - -[[reg-openshift]] -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-heading] - -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-openshift-heading-intro] - -[[docker-openshift-container-reg]] -.*Docker* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=docker-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;docker-reg-command;app-reg-command;environment-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg] -==== - -[[podman-openshift-container-reg]] -.*Podman* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=podman-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;podman-reg-command;app-reg-command;environment-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg] -==== - -[[deploy-openshift]] -//install helm chart -//- title -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-title] -//- helm chart info -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart] -include::partial$prerequisites.adoc[tags=helm] -Refer to <> for configuration options. -//- add chart repo and deploy flex via chart -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart-add;k8s-flex-helm-chart-deploy-local] - -[[helm-options-openshift]] -//helm config options -include::partial$task-reg-run-flex-gateway.adoc[tags=helm-chart-options] - - -== See Also - -* xref:flex-gateway-getting-started.adoc[] -* xref:flex-conn-reg-run.adoc[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-local-reg-run-token.adoc b/gateway/1.5/modules/ROOT/pages/flex-local-reg-run-token.adoc deleted file mode 100644 index a52629053..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-local-reg-run-token.adoc +++ /dev/null @@ -1,155 +0,0 @@ -= Registering and Running in Local Mode with a Token -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:reg-mode: Local - -//table with tech logos and links (linux, docker, k8, openshift) -include::partial$task-reg-run-flex-gateway.adoc[tags=table-logos-links] - -[[prereqs]] -// Prerequisites -include::partial$task-reg-run-flex-gateway.adoc[tags=prerequisites-heading;prerequisites;token-prerequisites] - -[[linux]] -// Register and run with a username and password as a Linux service -include::partial$task-reg-run-flex-gateway.adoc[tags=token-linux-heading;reg-command-intro;sub-coll-info;token-replace-content;replace-content;reg-command-heading;reg-command-1;linux-reg-command;token-reg-command;organization-reg-command;output-reg-command-linux;reg-command-2;after-reg;linux-after-reg;create-config-folder-file;config-content;linux-start-commands] - -[[container]] -include::partial$task-reg-run-flex-gateway.adoc[tags=token-container-heading] -include::partial$task-reg-run-flex-gateway.adoc[tags=table-containers-logos-heading] -include::partial$task-reg-run-flex-gateway.adoc[tags=table-containers-logos-links] - -[[docker]] -// Register and run with a token in a Docker container -include::partial$task-reg-run-flex-gateway.adoc[tags=token-docker-heading;reg-command-intro;sub-coll-info-container;token-replace-content;replace-content;reg-command-heading-container;docker-create-directory-note;reg-command-1;docker-reg-command;token-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;after-reg-2;start-command-local-intro;start-command-local;start-command-local-valid] - -// PODMAN -[[podman]] -// Register and run with a token in a Podman container -include::partial$task-reg-run-flex-gateway.adoc[tags=token-podman-heading;reg-command-intro;sub-coll-info-container;token-replace-content;replace-content;reg-command-heading-container;docker-create-directory-note;reg-command-1;podman-reg-command;token-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;after-reg-2;start-command-local-intro;podman-start-command-local;start-command-local-valid] - -// KUBERNETES -[[kubernetes]] -// Register and run with a token in a kubernetes cluster -//heading -include::partial$task-reg-run-flex-gateway.adoc[tags=token-k8s-heading] -//intro -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-intro-local] -//- cluster-level access when rbac enabled, as for OpenShift -include::partial$prerequisites.adoc[tags=rbac-permission-k8] -//- links to steps -include::partial$task-reg-run-flex-gateway.adoc[tags=links-to-k8s-reg-steps] -//- local mode supplemental info for k8 and openshift -include::partial$task-reg-run-flex-gateway.adoc[tag=k8s-local-intro] - -[[options-k8s]] -//sub collected info -include::partial$task-reg-run-flex-gateway.adoc[tags=sub-coll-info;token-replace-content;replace-content] - -[[reg-k8s]] -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-heading] -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-heading-intro] - -[[docker-container-reg]] -.*Docker* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=docker-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;docker-reg-command;token-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg] -==== - -[[podman-container-reg]] -.*Podman* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=podman-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;podman-reg-command;token-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg] -==== - -[[deploy-k8s]] -//install helm chart -//- title -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-title] -//- helm chart info -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart] -include::partial$prerequisites.adoc[tags=helm] -Refer to <> for configuration options. -//- add chart repo and deploy flex via chart -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart-add;k8s-flex-helm-chart-deploy-local] - -[[helm-options-k8s]] -//helm config options -include::partial$task-reg-run-flex-gateway.adoc[tags=helm-chart-options] - - -// OPENSHIFT -[[openshift]] -// Register and run with a token in an OpenShift cluster -//heading -include::partial$task-reg-run-flex-gateway.adoc[tags=token-openshift-heading] -//intro -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-intro-local] -//- cluster-level access when rbac enabled, as for OpenShift -include::partial$prerequisites.adoc[tags=rbac-permission-k8;rbac-role-openshift] -//- note (openshift command line procedures same as k8) -include::partial$task-reg-run-flex-gateway.adoc[tags=note-openshift-k8] -//- links to steps -include::partial$task-reg-run-flex-gateway.adoc[tags=links-to-openshift-reg-steps] -//- local mode supplemental info for k8 and openshift -include::partial$task-reg-run-flex-gateway.adoc[tag=k8s-local-intro] - -[[options-openshift]] -//sub collected info -include::partial$task-reg-run-flex-gateway.adoc[tags=sub-coll-info;token-replace-content;replace-content] - -[[reg-openshift]] -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-heading] - -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-openshift-heading-intro] - -[[docker-openshift-container-reg]] -.*Docker* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=docker-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;docker-reg-command;token-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg] -==== - -[[podman-openshift-container-reg]] -.*Podman* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=podman-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;podman-reg-command;token-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg] -==== - -[[deploy-openshift]] -//install helm chart -//- title -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-title] -//- helm chart info -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart] -include::partial$prerequisites.adoc[tags=helm] -Refer to <> for configuration options. -//- add chart repo and deploy flex via chart -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart-add;k8s-flex-helm-chart-deploy-local] - -[[helm-options-openshift]] -//helm config options -include::partial$task-reg-run-flex-gateway.adoc[tags=helm-chart-options] - - -== See Also - -* xref:flex-gateway-getting-started.adoc[] -* xref:flex-conn-reg-run.adoc[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-local-reg-run-up.adoc b/gateway/1.5/modules/ROOT/pages/flex-local-reg-run-up.adoc deleted file mode 100644 index 3e8188b81..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-local-reg-run-up.adoc +++ /dev/null @@ -1,155 +0,0 @@ -= Registering and Running in Local Mode with a Username and Password -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:reg-mode: Local - -//table with tech logos and links (linux, docker, k8, openshift) -include::partial$task-reg-run-flex-gateway.adoc[tags=table-logos-links] - -[[prereqs]] -// Prerequisites -include::partial$task-reg-run-flex-gateway.adoc[tags=prerequisites-heading;prerequisites;environment-prerequisites;user-prerequisites] - -[[linux]] -// Register and run with a username and password as a Linux service -include::partial$task-reg-run-flex-gateway.adoc[tags=user-linux-heading;reg-command-intro;sub-coll-info;user-replace-content;environment-replace-content;replace-content;reg-command-heading;reg-command-1;linux-reg-command;user-reg-command;environment-reg-command;organization-reg-command;output-reg-command-linux;reg-command-2;after-reg;linux-after-reg;create-config-folder-file;config-content;linux-start-commands] - -[[container]] -include::partial$task-reg-run-flex-gateway.adoc[tags=user-container-heading] -include::partial$task-reg-run-flex-gateway.adoc[tags=table-containers-logos-heading] -include::partial$task-reg-run-flex-gateway.adoc[tags=table-containers-logos-links] - -[[docker]] -// Register and run with a username and password in a Docker container -include::partial$task-reg-run-flex-gateway.adoc[tags=user-docker-heading;reg-command-intro;sub-coll-info-container;user-replace-content;environment-replace-content;replace-content;reg-command-heading-container;docker-create-directory-note;reg-command-1;docker-reg-command;user-reg-command;environment-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;after-reg-2;start-command-local-intro;start-command-local;start-command-local-valid] - -// PODMAN -[[podman]] -// Register and run with a username and password in a Podmsn container -include::partial$task-reg-run-flex-gateway.adoc[tags=user-podman-heading;reg-command-intro;sub-coll-info-container;user-replace-content;environment-replace-content;replace-content;reg-command-heading-container;docker-create-directory-note;reg-command-1;podman-reg-command;user-reg-command;environment-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;after-reg-2;start-command-local-intro;podman-start-command-local;start-command-local-valid] - -// KUBERNETES -[[kubernetes]] -// Register and run with a username and password in a kubernetes cluster -//heading -include::partial$task-reg-run-flex-gateway.adoc[tags=user-k8s-heading] -// - task overview -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-intro-local] -//- cluster-level access when rbac enabled, as for OpenShift -include::partial$prerequisites.adoc[tags=rbac-permission-k8] -//- links to steps -include::partial$task-reg-run-flex-gateway.adoc[tags=links-to-k8s-reg-steps] -//- local mode supplemental info for k8 and openshift -include::partial$task-reg-run-flex-gateway.adoc[tag=k8s-local-intro] - -[[options-k8s]] -//sub collected info -include::partial$task-reg-run-flex-gateway.adoc[tags=sub-coll-info;user-replace-content;environment-replace-content;replace-content] - -[[reg-k8s]] -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-heading] -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-heading-intro] - -[[docker-container-reg]] -.*Docker* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=docker-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;docker-reg-command;user-reg-command;environment-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg] -==== - -[[podman-container-reg]] -.*Podman* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=podman-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;podman-reg-command;user-reg-command;environment-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg] -==== - -[[deploy-k8s]] -//install helm chart -//- title -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-title] -//- helm chart info -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart] -include::partial$prerequisites.adoc[tags=helm] -Refer to <> for configuration options. -//- add chart repo and deploy flex via chart -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart-add;k8s-flex-helm-chart-deploy-local] - -[[helm-options-k8s]] -//helm config options -include::partial$task-reg-run-flex-gateway.adoc[tags=helm-chart-options] - - -// OPENSHIFT -[[openshift]] -// Register and run with a username and password in a openshift cluster -//heading -include::partial$task-reg-run-flex-gateway.adoc[tags=user-openshift-heading] -// - task overview -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-intro-local] -//- cluster-level access when rbac enabled, as for OpenShift -include::partial$prerequisites.adoc[tags=rbac-permission-k8;rbac-role-openshift] -//- note (openshift command line procedures same as k8) -include::partial$task-reg-run-flex-gateway.adoc[tags=note-openshift-k8] -//- links to steps -include::partial$task-reg-run-flex-gateway.adoc[tags=links-to-openshift-reg-steps] -//- local mode supplemental info for k8 and openshift -include::partial$task-reg-run-flex-gateway.adoc[tag=k8s-local-intro] - -[[options-openshift]] -//sub collected info -include::partial$task-reg-run-flex-gateway.adoc[tags=sub-coll-info;user-replace-content;environment-replace-content;replace-content] - -[[reg-openshift]] -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-heading] - -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-openshift-heading-intro] - -[[docker-openshift-container-reg]] -.*Docker* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=docker-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;docker-reg-command;user-reg-command;environment-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg] -==== - -[[podman-openshift-container-reg]] -.*Podman* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=podman-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;podman-reg-command;user-reg-command;environment-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg] -==== - -[[deploy-openshift]] -//install helm chart -//- title -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-title] -//- helm chart info -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart] -include::partial$prerequisites.adoc[tags=helm] -Refer to <> for configuration options. -//- add chart repo and deploy flex via chart -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart-add;k8s-flex-helm-chart-deploy-local] - -[[helm-options-openshift]] -//helm config options -include::partial$task-reg-run-flex-gateway.adoc[tags=helm-chart-options] - - -== See Also - -* xref:flex-gateway-getting-started.adoc[] -* xref:flex-conn-reg-run.adoc[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-local-reg-run.adoc b/gateway/1.5/modules/ROOT/pages/flex-local-reg-run.adoc deleted file mode 100644 index a6bf6c9a5..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-local-reg-run.adoc +++ /dev/null @@ -1,18 +0,0 @@ -= Registering and Running Flex Gateway in Local Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Before you can use your Flex Gateway to configure API instances, you must register and start the gateway. - -There are three options for registering Flex Gateway in Local Mode: - -* xref:flex-local-reg-run-up.adoc[Register and Run using a Username and Password]: If you have -a username and password for Anypoint Platform, you can use these credentials to register -your Flex Gateway. -* xref:flex-local-reg-run-app.adoc[Register and Run using a Connected App]: If you do not have -a username or password for Anypoint Platform, you can use connected app credentials to register -your Flex Gateway. -* xref:flex-local-reg-run-token.adoc[Register and Run using a Token]: If you do not have a username -or password for Anypoint Platform, you can use a registration token generated by the Runtime Manager UI. \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-local-rep-run.adoc b/gateway/1.5/modules/ROOT/pages/flex-local-rep-run.adoc deleted file mode 100644 index df1d244e1..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-local-rep-run.adoc +++ /dev/null @@ -1,27 +0,0 @@ -= Configuring Replicas for Flex Gateway in Local Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -[cols="1a,1a"] -|=== -|image:install-linux-logo.png[20%,20%,xref="flex-local-rep-run.adoc#add-a-flex-replica-as-a-linux-service"] -|image:install-docker-logo.png[25%,25%,xref="flex-local-rep-run.adoc#docker"] - -|xref:flex-local-rep-run.adoc#add-a-flex-replica-as-a-linux-service[Add a Flex Replica as a Linux Service] -|xref:flex-local-rep-run.adoc#docker[] -|=== - -include::partial$task-rep-run-flex-gateway.adoc[tags=add-flex-intro] - -include::partial$task-rep-run-flex-gateway.adoc[tags=add-flex-rep-byb;add-flex-rep-byb-local;add-flex-rep1] - -include::partial$task-reg-run-flex-gateway.adoc[tags=create-config-folder-file;config-content;linux-start-commands] - -[[docker]] -== Add a Flex Replica in a Docker Container - -To add a Flex Replica in a Docker Container you must run the Flex Gateway start command using the same `registration.yaml` file created during registration. If you are running the container locally, you will also need to use a different port. - -include::partial$task-reg-run-flex-gateway.adoc[tags=start-command-local] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-local-secure-api-with-auto-policy.adoc b/gateway/1.5/modules/ROOT/pages/flex-local-secure-api-with-auto-policy.adoc deleted file mode 100644 index 288c46e2d..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-local-secure-api-with-auto-policy.adoc +++ /dev/null @@ -1,316 +0,0 @@ -= Secure an API with an Automated Resource-Level Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Publish an API running behind Flex Gateway in Local Mode, modifying YAML configuration data by the following method: - -* Linux and Docker: `.yaml` files - -The following procedures demonstrate applying a simple resource-based YAML configuration for an API with multiple upstream services, all secured with an automated resource-level authentication policy. - -Refer to xref:policies-automated-overview.adoc[Automated Policies] and xref:policies-resource-level-overview.adoc[Resource-Level Policies] for more information. - -[NOTE] -==== -Automated policies can only be defined in resource-based configurations. The inline configuration model is not supported. For more information about the difference between resource-based and inline configuration models, see xref:flex-local-configuration-reference-guide.adoc[Declarative Configuration Reference Guide]. -==== - -[cols="1,1"] -|=== - -|image:install-linux-logo.png[20%,20%,xref="flex-local-secure-api-with-auto-policy.adoc#publish-an-api-running-behind-flex-gateway-on-linux"] - -|image:install-docker-logo.png[25%,25%,xref="flex-local-secure-api-with-auto-policy.adoc#publish-an-api-running-behind-flex-gateway-in-a-docker-container"] - -|xref:flex-local-secure-api-with-auto-policy.adoc#publish-an-api-running-behind-flex-gateway-on-linux[Publish an API Running Behind Flex Gateway on Linux] - -|xref:flex-local-secure-api-with-auto-policy.adoc#publish-an-api-running-behind-flex-gateway-in-a-docker-container[Publish an API Running Behind Flex Gateway in a Docker Container] - -|=== - -== Publish an API Running Behind Flex Gateway on Linux - -=== Before You Begin - -Before getting started, ensure that you have: - -* Flex Gateway installed and running in local mode. See xref:flex-install.adoc[] for more information about installing and running the gateway. -* Your upstream service URLs. The following example refers to fictional `products-api` and `users-api` services, but you can specify your own API name in `metadata.name` and your service details in `spec.services`. - -=== Publish an API - -. Create a configuration file with a `.yaml` file extension: -.. Give the file a custom name. -.. Save the file in the Flex Gateway configuration directory `/etc/mulesoft/flex-gateway/conf.d/custom`. This directory can contain multiple configuration files. - -. Copy and paste the following two `ApiInstance` resources into the file, substituting your values where indicated: -+ ----- ---- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: ApiInstance -metadata: - name: products-api - labels: - secured-by-automated-policy: yes -spec: - address: http://0.0.0.0:8080 - services: - products: - address: https://:/ - routes: - - rules: - - path: /products(/.*) - - path: /products-featured(/.*) - config: - destinationPath: /api ---- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: ApiInstance -metadata: - name: users-api - labels: - secured-by-automated-policy: yes -spec: - address: http://0.0.0.0:8081 - services: - users: - address: https://:/ - routes: - - rules: - - path: /api/users(/.*) ----- - -. Define an automated xref:policies-included-basic-auth-simple.adoc[basic authentication policy] by adding the following `PolicyBinding` resource after the `ApiInstance` resources: -+ ----- ---- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: security-protection -spec: - targetRef: - kind: Selector - selector: - kind: ApiInstance - labels: - secured-by-automated-policy: yes - policyRef: - name: http-basic-authentication-flex - config: - username: chris - password: admin ----- -+ -Applying an automated policy to multiple API instances requires that you specify the `Selector` `kind` in your policy binding. The example `PolicyBinding` resource includes a `spec.targetRef.kind` value of `Selector`, and a `spec.targetRef.selector.kind` value of `ApiInstance`. -+ -The example resource also applies a basic authentication policy to two API instances. It defines a `secured-by-automated-policy` label (the label name is customizable) in `spec.targetRef.selector.labels`. This label matches the label defined in the `ApiInstance` `metadata.labels` property, which associates the automated policy with that resource. -+ -Alternatively, automated policies can be applied to all API instances by omitting the labels. - -. Save the file. The gateway automatically refreshes the configuration. -+ -. View the logs by executing the following command: -+ ----- -journalctl -u flex-gateway-* ----- -+ -The response looks something like this: -+ ----- -[agent][info] Generating config -[agent][info] Gateway default/21cf4286e38f: Adding ApiInstance default/products-api http://0.0.0.0:8080 -[agent][info] Gateway default/21cf4286e38f: Adding Policy default/security-protection -[agent][info] Gateway default/21cf4286e38f: Adding Route: &{host: path:/api/products(/.*) methods: headerConditions:[] profile:0xc00004f750} => {Kind:Service Name:products-api-products Namespace:default} -[agent][info] Gateway default/21cf4286e38f: Adding Policy default/envoy.filters.http.router -[agent][info] Gateway default/21cf4286e38f: Adding ApiInstance default/users-api http://0.0.0.0:8081 -[agent][info] Gateway default/21cf4286e38f: Adding Policy default/security-protection -[agent][info] Gateway default/21cf4286e38f: Adding Route: &{host: path:/api/users(/.*) methods: headerConditions:[] profile:0xc0061823f0} => {Kind:Service Name:users-api-users Namespace:default} -[agent][info] Gateway default/21cf4286e38f: Adding Policy default/envoy.filters.http.router -[agent][info] Gateway default/21cf4286e38f: Adding Service default/products-api-products https://:/ -[agent][debug] generating service products-api-products.default.svc hostname: https:// port: -[agent][info] Gateway default/21cf4286e38f: Adding Service default/users-api-users https://:/ -[agent][debug] generating service users-api-users.default.svc hostname: https:// port: -[agent][info] Writing envoy bootstrap configuration to /tmp/envoy.json -[envoy][info] cds: add 2 cluster(s), remove 3 cluster(s) -[envoy][info] cds: added/updated 0 cluster(s), skipped 2 unmodified cluster(s) ----- - -. Test the APIs with a tool such as `curl`, specifying the given authentication credentials. The automated authentication policy secures both APIs. - -. Apply resource-level granularity to the automated authentication policy by substituting the `PolicyBinding` resource with the following: -+ ----- ---- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: security-protection -spec: - targetRef: - kind: Selector - selector: - kind: ApiInstance - labels: - secured-by-automated-policy: yes - policyRef: - name: http-basic-authentication-flex - config: - username: chris - password: admin - rules: - - methods: GET ----- -+ -In this example, the automated authentication policy is applied only to the `GET` method resource, as specified in `spec.rules`. - -. Save the file. The gateway automatically refreshes the configuration. - -Two APIs secured with the an automated resource-level authentication policy are now running behind Flex Gateway. - -== Publish an API Running Behind Flex Gateway in a Docker Container - -=== Before You Begin - -Before getting started, ensure that you have: - -* Flex Gateway installed. See xref:flex-install.adoc[] for more information. -* Flex Gateway registered and running in Local Mode. See xref:flex-local-reg-run.adoc[Register and Run in Local Mode] for more information. -* Your upstream service URLs. The following example refers to fictional `products-api` and `users-api` services, but you can specify your own API name in `metadata.name` and your service details in `spec.services`. - -=== Publish an API - -. Open a terminal and navigate to the directory that will contain your Flex Gateway configuration files. This directory was specified when you started Flex Gateway. - -. Create a configuration file with a `.yaml` file extension: -.. Give the file a custom name. -.. Save the file. - -. Copy and paste the following two `ApiInstance` resources into the file, substituting your values where indicated: -+ ----- ---- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: ApiInstance -metadata: - name: products-api - labels: - secured-by-automated-policy: yes -spec: - address: http://0.0.0.0:8080 - services: - products: - address: https://:/ - routes: - - rules: - - path: /products(/.*) - - path: /products-featured(/.*) - config: - destinationPath: /api ---- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: ApiInstance -metadata: - name: users-api - labels: - secured-by-automated-policy: yes -spec: - address: http://0.0.0.0:8081 - services: - users: - address: https://:/ - routes: - - rules: - - path: /api/users(/.*) ----- - -. Define an automated basic authentication policy by adding the following `PolicyBinding` resource after the `ApiInstance` resources: -+ ----- ---- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: security-protection -spec: - targetRef: - kind: Selector - selector: - kind: ApiInstance - labels: - secured-by-automated-policy: yes - policyRef: - name: http-basic-authentication-flex - config: - username: chris - password: admin ----- -+ -Applying an automated policy to multiple API instances requires that you specify the `Selector` `kind` in your policy binding. The example `PolicyBinding` resource includes a `spec.targetRef.kind` value of `Selector`, and a `spec.targetRef.selector.kind` value of `ApiInstance`. -+ -The example resource also applies a basic authentication policy to two API instances. It defines a `secured-by-automated-policy` label (the label name is customizable) in `spec.targetRef.selector.labels`. This label matches the label defined in the `ApiInstance` `metadata.labels` property, which associates the automated policy with that resource. -+ -Alternatively, automated policies can be applied to all API instances by omitting the labels. - -. Save the file. The gateway automatically refreshes the configuration. - -. View the Docker container logs, which look something like this: -+ ----- -[agent][info] Generating config -[agent][info] Gateway default/21cf4286e38f: Adding ApiInstance default/products-api http://0.0.0.0:8080 -[agent][info] Gateway default/21cf4286e38f: Adding Policy default/security-protection -[agent][info] Gateway default/21cf4286e38f: Adding Route: &{host: path:/api/products(/.*) methods: headerConditions:[] profile:0xc00004f750} => {Kind:Service Name:products-api-products Namespace:default} -[agent][info] Gateway default/21cf4286e38f: Adding Policy default/envoy.filters.http.router -[agent][info] Gateway default/21cf4286e38f: Adding ApiInstance default/users-api http://0.0.0.0:8081 -[agent][info] Gateway default/21cf4286e38f: Adding Policy default/security-protection -[agent][info] Gateway default/21cf4286e38f: Adding Route: &{host: path:/api/users(/.*) methods: headerConditions:[] profile:0xc0061823f0} => {Kind:Service Name:users-api-users Namespace:default} -[agent][info] Gateway default/21cf4286e38f: Adding Policy default/envoy.filters.http.router -[agent][info] Gateway default/21cf4286e38f: Adding Service default/products-api-products https://:/ -[agent][debug] generating service products-api-products.default.svc hostname: https:// port: -[agent][info] Gateway default/21cf4286e38f: Adding Service default/users-api-users https://:/ -[agent][debug] generating service users-api-users.default.svc hostname: https:// port: -[agent][info] Writing envoy bootstrap configuration to /tmp/envoy.json -[envoy][info] cds: add 2 cluster(s), remove 3 cluster(s) -[envoy][info] cds: added/updated 0 cluster(s), skipped 2 unmodified cluster(s) ----- - -. Test the APIs with a tool such as `curl`, specifying the given authentication credentials. The automated authentication policy secures both APIs. - -. Apply resource-level granularity to the automated authentication policy by substituting the `PolicyBinding` resource with the following: -+ ----- ---- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: security-protection -spec: - targetRef: - kind: Selector - selector: - kind: ApiInstance - labels: - secured-by-automated-policy: yes - policyRef: - name: http-basic-authentication-flex - config: - username: chris - password: admin - rules: - - methods: GET ----- -+ -In this example, the automated authentication policy is applied only to the `GET` method resource, as specified in `spec.rules`. - -. Save the file. The gateway automatically refreshes the configuration. - -Two APIs secured with the an automated resource-level authentication policy are now running behind Flex Gateway. - -== See Also - -* xref:policies-included-directory.adoc[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-local-secure-api-with-basic-auth-policy.adoc b/gateway/1.5/modules/ROOT/pages/flex-local-secure-api-with-basic-auth-policy.adoc deleted file mode 100644 index fbe812dd0..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-local-secure-api-with-basic-auth-policy.adoc +++ /dev/null @@ -1,195 +0,0 @@ -= Secure an API with Basic Authentication and Rate Limiting -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Publish an API running behind Flex Gateway in Local Mode, modifying YAML configuration data by the following method: - -* Linux and Docker: `.yaml` files - -The following procedures demonstrate applying a simple YAML configuration for an API with multiple upstream services, all secured with xref:policies-included-basic-auth-simple.adoc[basic authentication] and xref:policies-included-rate-limiting.adoc[rate limiting]. - -[cols="1,1"] -|=== - -|image:install-linux-logo.png[20%,20%,xref="flex-local-secure-api-with-basic-auth-policy.adoc#publish-an-api-running-behind-flex-gateway-on-linux"] - -|image:install-docker-logo.png[25%,25%,xref="flex-local-secure-api-with-basic-auth-policy.adoc#publish-an-api-running-behind-flex-gateway-in-a-docker-container"] - -|xref:flex-local-secure-api-with-basic-auth-policy.adoc#publish-an-api-running-behind-flex-gateway-on-linux[Publish an API Running Behind Flex Gateway on Linux] - -|xref:flex-local-secure-api-with-basic-auth-policy.adoc#publish-an-api-running-behind-flex-gateway-in-a-docker-container[Publish an API Running Behind Flex Gateway in a Docker Container] - -|=== - -== Publish an API Running Behind Flex Gateway on Linux - -=== Before You Begin - -Before getting started, ensure that you have: - -* Flex Gateway installed and running in local mode. See xref:flex-install.adoc[] for more information about installing and running the gateway. -* Your upstream service URLs. The following example refers to fictional `products-api` and `users-api` services, but you can specify your own API name in `metadata.name` and your service details in `spec.services`. - -=== Publish an API - -. Create a configuration file with a `.yaml` file extension: -.. Give the file a custom name. -.. Save the file in the Flex Gateway configuration directory `/etc/mulesoft/flex-gateway/conf.d/custom`. This directory can contain multiple configuration files. - -. Copy and paste the following YAML snippet into the file, substituting your values where indicated: -+ ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: ApiInstance -metadata: - name: products-users-api -spec: - address: http://0.0.0.0:8080 - services: - products: - address: https://:/ - routes: - - rules: - - path: /products(/.*) - - path: /products-featured(/.*) - config: - destinationPath: /api - users: - address: https://:/ - routes: - - rules: - - path: /api/users(/.*) - policies: - - policyRef: - name: http-basic-authentication-flex - config: - username: chris - password: admin - - policyRef: - name: rate-limiting-flex - config: - exposeHeaders: true - rateLimits: - - maximumRequests: 3 - timePeriodInMilliseconds: 6000 - keySelector: "#[attributes.queryParams['identifier']]" ----- - -. Save the file. The gateway automatically refreshes the configuration. -+ -. View the logs by executing the following command: -+ ----- -journalctl -u flex-gateway-* ----- -+ -The response looks something like this: -+ ----- -[agent][info] Generating config -[agent][info] Gateway default/18b4e890fe7d: Adding ApiInstance default/products-users-api http://0.0.0.0:8080 -[agent][info] Gateway default/4191c977e1ce: Adding Policy default/products-users-api-users-http-basic-authentication-flex-1 -[agent][info] Gateway default/4191c977e1ce: Adding Policy default/products-users-api-users-rate-limiting-flex-2 -[agent][info] Gateway default/18b4e890fe7d: Adding Route: &{host: path:/api/products(/.*) methods: headerConditions:[] profile:0xc0030529f0} => {Kind:Service Name:products-users-api-products Namespace:default} -[agent][info] Gateway default/18b4e890fe7d: Adding Route: &{host: path:/api/users(/.*) methods: headerConditions:[] profile:0xc0030529f0} => {Kind:Service Name:products-users-api-users Namespace:default} -[agent][info] Gateway default/18b4e890fe7d: Adding Policy default/envoy.filters.http.router -[agent][info] Gateway default/18b4e890fe7d: Adding Service default/monitoring_metrics http://0.0.0.0:9881 -[agent][debug] generating service monitoring_metrics.default.svc hostname: 0.0.0.0 port: 9881 -[agent][info] Gateway default/18b4e890fe7d: Adding Service default/products-users-api-products https://:/ -[agent][info] Gateway default/18b4e890fe7d: Adding Service default/products-users-api-users https://:/ -[agent][debug] generating service products-users-api-products.default.svc hostname: port: -[agent][debug] generating service products-users-api-users.default.svc hostname: port: -[agent][info] Writing envoy bootstrap configuration to /tmp/envoy.json -[envoy][info] cds: add 2 cluster(s), remove 2 cluster(s) -[envoy][info] cds: added/updated 1 cluster(s), skipped 1 unmodified cluster(s) ----- - -An API secured with basic authentication and rate limiting is now running behind Flex Gateway. - -== Publish an API Running Behind Flex Gateway in a Docker Container - -=== Before You Begin - -Before getting started, ensure that you have: - -* Flex Gateway installed. See xref:flex-install.adoc[] for more information. -* Flex Gateway registered and running in Local Mode. See xref:flex-local-reg-run.adoc[Register and Run in Local Mode] for more information. -* Your upstream service URLs. The following example refers to fictional `products-api` and `users-api` services, but you can specify your own API name in `metadata.name` and your service details in `spec.services`. - -=== Publish an API - -. Open a terminal and navigate to the directory that will contain your Flex Gateway configuration files. This directory was specified when you started Flex Gateway. - -. Create a configuration file with a `.yaml` file extension: -.. Give the file a custom name. -.. Save the file. - -. Copy and paste the following YAML snippet into the file, substituting your values where indicated: -+ ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: ApiInstance -metadata: - name: products-users-api -spec: - address: http://0.0.0.0:8080 - services: - products: - address: https://:/ - routes: - - rules: - - path: /api/products(/.*) - - path: /api/products-featured(/.*) - config: - destinationPath: /api - users: - address: https://:/ - routes: - - rules: - - path: /api/users(/.*) - policies: - - policyRef: - name: http-basic-authentication-flex - config: - username: chris - password: admin - - policyRef: - name: rate-limiting-flex - config: - exposeHeaders: true - rateLimits: - - maximumRequests: 3 - timePeriodInMilliseconds: 6000 - keySelector: "#[attributes.queryParams['identifier']]" ----- - -. Save the file. The gateway automatically refreshes the configuration. - -. View the Docker container logs, which look something like this: -+ ----- -[agent][info] Generating config -[agent][info] Gateway default/18b4e890fe7d: Adding ApiInstance default/products-users-api http://0.0.0.0:8080 -[agent][info] Gateway default/4191c977e1ce: Adding Policy default/products-users-api-users-http-basic-authentication-flex-1 -[agent][info] Gateway default/4191c977e1ce: Adding Policy default/products-users-api-users-rate-limiting-flex-2 -[agent][info] Gateway default/18b4e890fe7d: Adding Route: &{host: path:/api/products(/.*) methods: headerConditions:[] profile:0xc0030529f0} => {Kind:Service Name:products-users-api-products Namespace:default} -[agent][info] Gateway default/18b4e890fe7d: Adding Route: &{host: path:/api/users(/.*) methods: headerConditions:[] profile:0xc0030529f0} => {Kind:Service Name:products-users-api-users Namespace:default} -[agent][info] Gateway default/18b4e890fe7d: Adding Policy default/envoy.filters.http.router -[agent][info] Gateway default/18b4e890fe7d: Adding Service default/monitoring_metrics http://0.0.0.0:9881 -[agent][debug] generating service monitoring_metrics.default.svc hostname: 0.0.0.0 port: 9881 -[agent][info] Gateway default/18b4e890fe7d: Adding Service default/products-users-api-products https://:/ -[agent][info] Gateway default/18b4e890fe7d: Adding Service default/products-users-api-users https://:/ -[agent][debug] generating service products-users-api-products.default.svc hostname: port: -[agent][debug] generating service products-users-api-users.default.svc hostname: port: -[agent][info] Writing envoy bootstrap configuration to /tmp/envoy.json -[envoy][info] cds: add 2 cluster(s), remove 2 cluster(s) -[envoy][info] cds: added/updated 1 cluster(s), skipped 1 unmodified cluster(s) ----- - -An API secured with basic authentication and rate limiting is now running behind Flex Gateway. - -== See Also - -* xref:policies-included-directory.adoc[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-local-shared-storage-config.adoc b/gateway/1.5/modules/ROOT/pages/flex-local-shared-storage-config.adoc deleted file mode 100644 index f283814c8..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-local-shared-storage-config.adoc +++ /dev/null @@ -1,40 +0,0 @@ -= Configuring Shared Storage for Flex Gateway in Local Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:page-mode: local - -//TODO: IS THERE AN OPENSHIFT OPTION HERE? - -// intro and graphics for each option - linux, docker, kubernetes -include::partial$task-shared-storage-config.adoc[tags=intro1;intro2;icon-table;byb;linux;sample-config-all-intro] -// configure shared storage for Flex Gateway as a Linux Service -+ -include::partial$task-shared-storage-config.adoc[tags=sample-config-all] - -// configure shared storage for Flex Gateway in a Docker container -include::partial$task-shared-storage-config.adoc[tags=docker-intro] -+ -include::partial$task-reg-run-flex-gateway.adoc[tags=start-command-local] -+ -include::partial$task-shared-storage-config.adoc[tags=docker-config-file-step;sample-config-all-intro] -+ -include::partial$task-shared-storage-config.adoc[tags=sample-config-all] - -//configure shared storage for Flex Gateway in a Kubernetes cluster -include::partial$task-shared-storage-config.adoc[tags=k8s;sample-config-all-intro] - -include::partial$task-shared-storage-config.adoc[tags=sample-config-all] - -// TLS -include::partial$task-shared-storage-config.adoc[tags=tls-intro] - -include::partial$task-shared-storage-config.adoc[tags=tls-sample-config] - -include::partial$task-shared-storage-config.adoc[tags=tls-more-information] - -== See Also - -* xref:flex-conn-shared-storage-config.adoc[Configuring Shared Storage for Flex Gateway in Connected Mode] -* xref:flex-local-configuration-reference-guide.adoc#shared-storage[Declarative Configuration Reference] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-local-third-party-logs-config.adoc b/gateway/1.5/modules/ROOT/pages/flex-local-third-party-logs-config.adoc deleted file mode 100644 index f53321b34..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-local-third-party-logs-config.adoc +++ /dev/null @@ -1,53 +0,0 @@ -= Configuring External Logs for Flex Gateway in Local Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:page-mode: local - -// :page-aliases: gateway::flex-local-view-manage-logs.adoc - -include::partial$task-config-logs-third-party.adoc[tags=intro1;intro2-local] - -include::partial$task-config-logs-third-party.adoc[tags=icon-table] - -include::partial$task-config-logs-third-party.adoc[tags=byb] - -include::partial$task-config-logs-third-party.adoc[tags=runtime-access-logs] - -include::partial$task-config-logs-third-party.adoc[tags=file-example] - -include::partial$task-config-logs-third-party.adoc[tags=linux;view-logs-local;configure-message-logging-step] - -include::partial$task-config-logs-third-party.adoc[tags=docker] -+ -include::partial$task-reg-run-flex-gateway.adoc[tags=start-command-local] -+ -include::partial$task-config-logs-third-party.adoc[tags=docker2;view-logs-local;configure-message-logging-step] - -include::partial$task-config-logs-third-party.adoc[tags=k8s;view-logs-local;configure-message-logging-step] - -include::partial$task-config-logs-third-party.adoc[tags=file-configuration-example] - -include::partial$task-config-logs-third-party.adoc[tags=http-configuration-example] - -include::partial$task-config-logs-third-party.adoc[tags=splunk-configuration-example] - -include::partial$task-config-logs-third-party.adoc[tags=dynatrace-configuration-example] - -[[configure-access-logs]] -== Configure Access Logs -To configure access logs in your log output, you must apply a Message Logging policy to the APIs whose request and response data you want to monitor. If you have previously applied a Message Logging policy to an API instance, you do not need to configure another. - -Configuring a Message Logging policy makes access logs visible in both standard output logs and your third-party log services. - -To apply a Message Logging policy, see xref:policies-included-apply.adoc[] and use the xref:gateway::policies-included-message-logging.adoc[Message Logging Configuration Parameters]. - -If your access logs are not visible, it is possible that a policy with a higher execution order is causing an error before the Message Logging policy can execute. To reorder policy execution, see xref:policies-reorder.adoc[]. - -include::partial$task-config-logs-third-party.adoc[tags=log-output-examples] - - -== See Also - -* xref:policies-included-message-logging.adoc[] diff --git a/gateway/1.5/modules/ROOT/pages/flex-local-tls-config.adoc b/gateway/1.5/modules/ROOT/pages/flex-local-tls-config.adoc deleted file mode 100644 index e752941aa..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-local-tls-config.adoc +++ /dev/null @@ -1,46 +0,0 @@ -= Configuring TLS Context for Flex Gateway in Local Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:page-mode: local - -// intro and graphics for each option - linux, docker, kubernetes -include::partial$task-tls-config.adoc[tags=intro1;intro2;intro3;resources;intro4;icon-table;byb;linux;sample-config-instance-intro] -// configure TLS context for Flex Gateway as a Linux Service -+ -include::partial$task-tls-config.adoc[tags=sample-config-instance] -+ -include::partial$task-tls-config.adoc[tags=openssl-standards] -+ -include::partial$task-tls-config.adoc[tags=verify-config] - -// configure TLS context for Flex Gateway in a Docker container -include::partial$task-tls-config.adoc[tags=docker-intro] -+ -include::partial$task-reg-run-flex-gateway.adoc[tags=start-command-local] -+ -include::partial$task-tls-config.adoc[tags=docker-config-file-step] -+ -include::partial$task-tls-config.adoc[tags=sample-config-instance-intro] -+ -include::partial$task-tls-config.adoc[tags=sample-config-instance] -+ -include::partial$task-tls-config.adoc[tags=openssl-standards] -+ -include::partial$task-tls-config.adoc[tags=verify-config] - -//configure TLS context for Flex Gateway as a Kubernetes cluster -include::partial$task-tls-config.adoc[tags=k8s-intro] -+ -include::partial$task-tls-config.adoc[tags=sample-config-instance-intro] -+ -include::partial$task-tls-config.adoc[tags=sample-config-instance] -+ -include::partial$task-tls-config.adoc[tags=openssl-standards] - -== See Also - -* xref:flex-conn-tls-config.adoc[Configuring TLS Context for Flex Gateway in Connected Mode] -* xref:policies-included-tls.adoc[] -* xref:policies-included-tls-outbound.adoc[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-local-view-logs.adoc b/gateway/1.5/modules/ROOT/pages/flex-local-view-logs.adoc deleted file mode 100644 index e9a95c2d1..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-local-view-logs.adoc +++ /dev/null @@ -1,39 +0,0 @@ -= Viewing Standard Output Logs -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Flex Gateway maintains standard output logs for individual replicas. Use the standard output logs for quick logging checks when additional logging output is not needed, such as ensuring when an external service is running or API requests are reaching Flex Gateway. - -You do not need to configure log output to view standard output logs. However, if you want access logs to appear in standard output logs, you must apply a Message Logging policy to the APIs you want to monitor. To apply a Message Logging policy, see xref:flex-local-third-party-logs-config.adoc#configure-access-logs[Configuring Access logs]. - -You can also configure additional Fluent Bit to enable custom logging outputs and customize the log level info. To configure additional logging, see xref:flex-local-third-party-logs-config.adoc[]. - -To view additional log outputs, find the appropriate method to view them. The following commands display only the standard output logs. - -== View Logs - -To view the standard output logs of your replica, run one of the following commands: - -For Linux: -[source,ssh] ----- -journalctl -u flex-gateway* ----- - -For Docker: -[source,ssh] ----- -docker logs -f ----- - -For Kubernetes: -[source,ssh] ----- -kubectl logs -f ----- - -== See Also - -* https://docs.fluentbit.io/manual/v/{fluentbit-url-ver-var}/pipeline/outputs[Fluent Bit Outputs documentation ^] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-review-prerequisites.adoc b/gateway/1.5/modules/ROOT/pages/flex-review-prerequisites.adoc deleted file mode 100644 index e20861262..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-review-prerequisites.adoc +++ /dev/null @@ -1,117 +0,0 @@ -= Reviewing Prerequisites -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -// :page-aliases: runtime-manager::flex-gateway-permissions.adoc -:imagesdir: ../assets/images - -Before you download and install Anypoint Flex Gateway, ensure that you review and fulfill the following prerequisites. - -== Permission Requirements - -Running Flex Gateway requires the following permissions: - -* _Manage Servers_ and _Read Servers_ permissions in Runtime Manager - -Your Anypoint Platform Admin can add these permissions in Access Management. -See xref:access-management::configure-teams.adoc#manage-team-permissions[Manage Team Permissions] for more information. - -Your Anypoint Platform Admin can also add a Connected App with the appropriate permissions. -See xref:access-management::connected-apps-overview.adoc[Connected Apps] for more information. - -To register Flex Gateway using a Connected App, the following scopes are required: - -* Manage Servers -* Read Servers -* View Organization - -== Software Requirements - -Flex Gateway is not supported on Windows or in Docker running on Windows. - -=== Software Requirements for Kubernetes and OpenShift Deployments - -Running Flex Gateway requires: - -* A minimum of either Kubernetes 1.21 or OpenShift 4.8. - -* Ingress v1 (stable), which requires specifying `apiVersion: networking.k8s.io/v1` as the API version in your configuration resources. - -* A private cloud or data center. -+ -Or, a cloud provider such as the following: - -** Google Kubernetes Engine (GKE) -** Amazon Elastic Kubernetes Service (Amazon EKS) -** Azure Kubernetes Service (AKS) - -//helm prereq -* {empty} -include::partial$prerequisites.adoc[tag=helm] - -=== Software Requirements for Linux Deployments - -include::partial$prerequisites.adoc[tag=intro] - -* {empty} -include::partial$prerequisites.adoc[tag=amazon-linux] - -* {empty} -include::partial$prerequisites.adoc[tag=centos] - -* {empty} -include::partial$prerequisites.adoc[tag=debian] - -* {empty} -include::partial$prerequisites.adoc[tag=red-hat] - -* {empty} -include::partial$prerequisites.adoc[tag=ubuntu] - -Flex Gateway is designed to run in cloud-native architectures. You can therefore only install one gateway instance per Linux VM. Multiple installations on a single VM are not supported. - -== Hardware Requirements - -A single Flex Gateway can support multiple backend APIs. To support more backend APIs, you can deploy multiple replicas or additional Flex Gateways. - -Flex Gateway requires the following minimum hardware configuration: - -* CPU: 0.2 vCPU -* Processor: Intel or AMD-64 -* Memory: 200 MB - -Increase replica memory for higher throughput and increased performance. To support 200 APIs, each with two applied policies, at 150 transactions per second (TPS), Flex Gateway requires the following: - -* CPU: 0.2 vCPU -* Processor: Intel or AMD-64 -* Memory: 1.5 GB - -== Ports, IPs, and Hostnames Allow list Requirements - -For Flex Gateway to communicate with MuleSoft-managed online Anypoint Platform APIs and services, you must add the following hostnames and ports of external resources to the allowlist: - -[%header%autowidth.spread] -|=== -|Plane |Host |Port| Mode| Description| Protocol -|*US*|*anypoint.mulesoft.com* | 443| Both| Required to connect with the control plane, push internal metrics, and download custom policy binaries| HTTPS -|*US*|*arm-mcm2-service.kprod.msap.io* | 443| Both| Required to communicate with the transport layer| mTLS -|*US*|*logging.ingestion.us-east-1.prod.cloudhub.io* | 443| Both| Required to send analytics data to the control plane| HTTPS -|*US*|*metering.ingestion.us-east-1.prod.cloudhub.io* | 443| Both| Required to send analytics data to the control plane| HTTPS -|*US*|*monitoring.ingestion.us-east-1.prod.cloudhub.io* | 443| Both| Required to send analytics data to the control plane| HTTPS -|*US*|*exchange-files.anypoint.mulesoft.com* | 443| Connected| Required to download policies| HTTPS -|*US*|*exchange2-asset-manager-kprod.s3.amazonaws.com* | 443| Connected| Required to download policies| HTTPS -|*US*|*configuration-resolver.prod.cloudhub.io* | 443| Connected| Required to download policies| mTLS -|*EU*|*eu1.anypoint.mulesoft.com* | 443| Both| Required to connect with the control plane, push internal metrics, and download custom policy binaries| HTTPS -|*EU*|*arm-mcm2-service.kprod-eu.msap.io* | 443| Both| Required to communicate with the transport layer| mTLS -|*EU*|*logging.ingestion.eu-central-1.prod-eu.msap.io* | 443| Both| Required to send analytics data to the control plane| HTTPS -|*EU*|*metering.ingestion.eu-central-1.prod-eu.msap.io* | 443| Both| Required to send analytics data to the control plane| HTTPS -|*EU*|*monitoring.ingestion.eu-central-1.prod-eu.msap.io* | 443| Both| Required to send analytics data to the control plane| HTTPS -|*EU*|*configuration-resolver.prod-eu.msap.io* | 443| Connected| Required to download policies| mTLS -|*EU*|*exchange-files.eu1.anypoint.mulesoft.com* | 443| Connected| Required to download policies| HTTPS -|*EU*|*exchange2-asset-manager-kprod-eu.s3.eu-central-1.amazonaws.com* | 443| Connected| Required to download policies| HTTPS -|=== - -[NOTE] -==== -Ports 4000, 9999, 15000, and 15100 are reserved for internal processes, and should not be used in `ApiInstance` definitions. -==== diff --git a/gateway/1.5/modules/ROOT/pages/flex-sizing-guide.adoc b/gateway/1.5/modules/ROOT/pages/flex-sizing-guide.adoc deleted file mode 100644 index 886ba75b8..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-sizing-guide.adoc +++ /dev/null @@ -1,69 +0,0 @@ -= Reviewing Resource Sizing -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:table-caption!: - -Before getting started with Flex Gateway, analyze and choose your configuration to obtain the best performance and auto-scaling rate. - -When assigning resources for a replica node, consider: - -* Number of APIs -* Amount of memory the node needs -* Processing power for the node -* Number of policies in each API -* Amount of traffic each node handles -* Amount of time the node takes to answer the request (latency) -* Type of traffic the node handles, and within the traffic: -** The number of requests per second the node handles -** Size of each request (bytes) - -== Choose Appropriate Resources - -The following table guides you to know the resources you must allocate to your replica node according to your environment: - -[options="header"] -|==== -| Node Size | CPU | RAM -| Small | 1-2 cores | 2-4 GB -| Medium | 2-4 cores | 4-8 GB -| Large | 8-16 cores | 16-32 GB -|==== - -NOTE: Nodes belonging to a cluster must be of the same size. - -== Choose Your Cluster Size - -The following guiding table helps you choose the appropriate node and cluster size: - -[options="header"] -|==== -| Node Size | Number of APIs | Number of Policies | Expected Latency | Expected Throughput | Target Environment -| Small | < 100 | 4 | < 30 ms | < 500 RPS | Dev/test cluster -| Medium | < 500 | 4 | < 20 ms | < 2500 RPS | Production cluster -| Large | > 500 | 4 | < 10 ms | < 10000 RPS | Mission-critical clusters -|==== - -The figures above are per node. API configurations are replicated to all nodes in the cluster. For example, if you have 10 APIs deployed with 3 policies for each API, it means that the 10 APIs and their policies are deployed to each node in the cluster. - -The traffic is distributed across all nodes in the cluster. A small cluster node supports up to 500 RPS, but if the cluster has two nodes then the total traffic that the cluster allows is 1000 RPS (500 RPS for each node). Exceeding the recommended traffic per node eventually causes increased CPU usage. To avoid this issue, you must increase the size of all nodes in the cluster or scale horizontally. - -High CPU usage can lead to increased latency. In such a case, proceed with horizontal scaling or increase the node size. - -High memory consumption can lead to out-of-memory errors. To solve this issue, increase the memory allocation or the node size. Horizontal scaling might not help solve issues in this situation. Horizontal scaling fails if high memory utilization is the problem. You must increase memory first, and scale horizontally later. - -The guiding table considers a cluster with an average request size of 1kB and 4 policies implemented. Adjust your parameters depending on your use case. - -The most commonly used out-of-the-box policies, which are considered in these guidelines, are: - -* Message logging -* Rate limiting -* JWT validation -* Header injection - -Using TLS affects the response time and the process consumption. - -== See Also - -* xref:flex-gateway-getting-started.adoc[] diff --git a/gateway/1.5/modules/ROOT/pages/flex-troubleshoot-admin-api.adoc b/gateway/1.5/modules/ROOT/pages/flex-troubleshoot-admin-api.adoc deleted file mode 100644 index e1d651e01..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-troubleshoot-admin-api.adoc +++ /dev/null @@ -1,319 +0,0 @@ -= Troubleshooting with the CLI -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Anypoint Flex Gateway includes a `flexctl dump` CLI that enables you to query for information related to a gateway's API instances, services, configuration, and available extensions (policies). - -As an example, the following inline configuration snippet defines a single API instance named `jsonplaceholder-api` in the default namespace (it remains `default` because namespace is not explicitly defined.) Additionally, the snippet defines one included policy: `http-basic-authentication-flex`. - -== Configuration Example - ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: ApiInstance -metadata: - name: jsonplaceholder-api -spec: - address: http://0.0.0.0:8080 - services: - jsonplaceholder: - address: https://jsonplaceholder.typicode.com:443/ - routes: - - rules: - - path: /api(/users/.*) - - path: /api(/comments/.*) - policies: - - policyRef: - name: http-basic-authentication-flex - config: - username: chris - password: admin ----- - -== Run the CLI - -. To see JSON representations of your API instances, services, configurations, and extensions, run the following command: -+ -[source,ssh] ----- -flexctl dump ----- -+ -[NOTE] -==== -When running in a Docker or Podman container, run the command in the container itself. -==== -+ -The command outputs four files: - -* `api-instances.json` -* `services.json` -* `configuration.json` -* `extensions.json` - -. View any of the JSON file contents by running `cat` followed by the file name: -+ -[tabs] -==== -Api Instances:: -+ -[source,ssh] ----- -cat api-instances.json ----- -+ -The `api-instances.json` file contents resemble the following: -+ ----- -[ - { - "address":"http://0.0.0.0:8080", - "kind":"ApiInstance", - "name":"jsonplaceholder-api", - "namespace":"default", - "policies":[ - { - "config":{ - "password":"admin", - "username":"chris" - }, - "extension":{ - "kind":"Extension", - "name":"http-basic-authentication-flex", - "namespace":"default" - }, - "kind":"Policy", - "name":"jsonplaceholder-api-http-basic-authentication-flex-1", - "namespace":"default" - }, - { - "config":{ - "destinationRef":{ - "kind":"Service", - "name":"jsonplaceholder-api-jsonplaceholder", - "namespace":"default" - } - } - "extension":{ - "kind":"Extension", - "name":"route", - "namespace":"default" - }, - "kind":"Policy", - "name":"jsonplaceholder-api-jsonplaceholder-route-1", - "namespace":"default", - "order":50, - "rules":[ - { - "path":"/api(/users/.*)" - }, - { - "path":"/api(/comments/.*)" - } - ] - }, - { - "extension":{ - "kind":"Extension", - "name":"envoy.filters.http.router", - "namespace":"default" - }, - "kind":"Policy", - "name":"envoy.filters.http.router", - "namespace":"default", - "order":2147483647 - } - ] - } -] ----- - -Services:: -+ -[source,ssh] ----- -cat services.json ----- -+ -The `services.json` file contents resemble the following: -+ ----- -[ - { - "address":"https://jsonplaceholder.typicode.com:443/", - "kind":"Service", - "name":"jsonplaceholder-api-jsonplaceholder", - "namespace":"default" - } -] ----- - - -Configuration:: -+ -[source,ssh] ----- -cat configuration.json ----- -+ -The `configuration.json` file contents resemble the following: -+ ----- -{ - "internalMetrics": { - "enabled": false - }, - "logging": {}, - "platformConnection": { - "anypoint": { - "url": "https://anypoint.mulesoft.com" - }, - "environment": { - "cluster_id": "4aa281e9-1a1d-4c56-8669-2d887b2e1938", - "env_id": "ad067f80-69ee-4abb-9d05-bec98ece1e20", - "org_id": "1caa0b9b-4f4d-43c4-a1b6-f925a8c77baa" - }, - "logging": { - "certificate": { - "cert": "demo-local.pem", - "key": "demo-local.key" - }, - "url": "https://logging.ingestion.us-east-1.msap.io/ingestion/api/v1/logging" - }, - "metering": { - "certificate": { - "cert": "demo-local.pem", - "key": "demo-local.key" - }, - "url": "https://metering.ingestion.us-east-1.msap.io/ingestion/api/v1/metering" - }, - "mode": "offline", - "monitoring": { - "certificate": { - "cert": "demo-local.pem", - "key": "demo-local.key" - }, - "url": "https://monitoring.ingestion.us-east-1.msap.io/ingestion/api/v1/monitoring" - }, - "runtimeEvents": { - "certificate": { - "cert": "demo-local.pem", - "key": "demo-local.key" - }, - "url": "https://anypoint.mulesoft.com/apiruntime/v1/events" - } - }, - "resourceLimits": { - "apiInstances": 100, - "policies": 400 - }, - "sharedStorage": {}, - "version": "1.1.0" -} ----- - -Extensions:: -+ -[source,ssh] ----- -cat extensions.json ----- -+ -The `extensions.json` file contains all the policies available in Flex Gateway. The file contents resemble the following: -+ ----- -{ - "extends": [ - { - "kind": "Extension", - "labels": { - "flex.mulesoft.com/created-by": "flex-filesystem", - "flex.mulesoft.com/managed-by": "flex-filesystem" - }, - "name": "extension-definition", - "namespace": "default" - }, - { - "kind": "Extension", - "labels": { - "flex.mulesoft.com/created-by": "flex-filesystem", - "flex.mulesoft.com/managed-by": "flex-filesystem" - }, - "name": "extension-qos", - "namespace": "default" - } - ], - "kind": "Extension", - "labels": { - "flex.mulesoft.com/created-by": "flex-filesystem", - "flex.mulesoft.com/managed-by": "flex-filesystem" - }, - "name": "header-injection-definition", - "namespace": "default", - "properties": [ - { - "name": "config", - "properties": [ - { - "items": { - "name": "inboundHeaders", - "properties": [ - { - "name": "key", - "type": "stringOrDataweave" - }, - { - "name": "value", - "type": "stringOrDataweave" - } - ], - "type": "object" - }, - "name": "inboundHeaders", - "type": "array" - }, - { - "items": { - "name": "outboundHeaders", - "properties": [ - { - "name": "key", - "type": "stringOrDataweave" - }, - { - "name": "value", - "type": "stringOrDataweave" - } - ], - "type": "object" - }, - "name": "outboundHeaders", - "type": "array" - } - ], - "type": "object" - } - ] - } ----- -==== - -== Change Verbosity Level - -You can change the amount of information output by the `flexctl dump` CLI. For example, to increase verbosity to a value of `10`, run `flexctl dump` with the following: - -[source,ssh] ----- -flexctl dump -v 10 ----- - -== Change Output Directory - -Additionally, you can change the directory where `flexctl dump` outputs the four files. For example, to output to `/tmp`, run `flexctl dump` with the following: - -[source,ssh] ----- -flexctl dump --output-directory /tmp ----- diff --git a/gateway/1.5/modules/ROOT/pages/flex-troubleshoot-debug-logs.adoc b/gateway/1.5/modules/ROOT/pages/flex-troubleshoot-debug-logs.adoc deleted file mode 100644 index 33071ceea..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-troubleshoot-debug-logs.adoc +++ /dev/null @@ -1,40 +0,0 @@ -= Troubleshoot with Debug Logs -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -When troubleshooting Flex Gateway, set the runtime log level to `debug` for more verbose runtime logs. - -This page explains how to configure debug runtime logs. To configure debug access logs, set the `level` parameter in your xref:policies-included-message-logging.adoc[Message Logging policy] to `DEBUG`. - -== Debug Logs Configuration Example - -For both Connected Mode and Local Mode, configure debug runtime logs using the following YAML configuration file: - -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Configuration -metadata: - name: logging-config -spec: - logging: - runtimeLogs: - logLevel: debug ----- - - -To configure debug runtime logs, use the previous YAML configuration file when prompted for your configuration details in the following tutorials: - -* xref:flex-conn-third-party-logs-config.adoc[Configure External Logs in Connected Mode] -* xref:flex-local-third-party-logs-config.adoc[Configure External Logs in Local Mode] - -If you have already configured a logging configuration file, set `logging.runtimeLogs.logLevel` to `debug` in you current file to enable debug runtime logs. This does not affect the log output location or access logs. - -== View Log Output - -To view runtime log output, see: - -* xref:flex-view-logs-in-monitoring.adoc[View Logs in Connected Mode] -* xref:flex-local-view-logs.adoc[View Logs in Local Mode] diff --git a/gateway/1.5/modules/ROOT/pages/flex-troubleshoot-docker.adoc b/gateway/1.5/modules/ROOT/pages/flex-troubleshoot-docker.adoc deleted file mode 100644 index d641d53cf..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-troubleshoot-docker.adoc +++ /dev/null @@ -1,24 +0,0 @@ -[[docker-troubleshooting]] -= Troubleshoot Docker Command Issues - -//intro -include::partial$troubleshoot.adoc[tags=troubleshoot-docker-intro] - -[[daemon-bad-response]] -== Docker Is Not Started - -//error -include::partial$troubleshoot.adoc[tags=troubleshoot-docker-daemon-bad-response] - -[[bad-request]] -== Reg Facade Error (400 Bad Request) - -//error -include::partial$troubleshoot.adoc[tags=troubleshoot-docker-bad-request] - - -== See Also - -* xref:flex-troubleshoot-requests.adoc[] -* xref:flex-troubleshoot-admin-api.adoc[] -* xref:flex-gateway-set-up.adoc[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-troubleshoot-helm.adoc b/gateway/1.5/modules/ROOT/pages/flex-troubleshoot-helm.adoc deleted file mode 100644 index 7e8cbadc5..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-troubleshoot-helm.adoc +++ /dev/null @@ -1,33 +0,0 @@ -[[helm-troubleshooting-helm]] -= Troubleshoot Helm Command Issues - -[[troubleshoot-helm-intro]] -//intro -include::partial$troubleshoot.adoc[tags=troubleshoot-helm-intro] - -[[troubleshoot-helm-yaml-empty]] -== Upgrade Failed: Execution Error -//error: -include::partial$troubleshoot.adoc[tags=troubleshoot-helm-yaml-empty] - -[[troubleshoot-helm-upgrade-failed]] -== Upgrade Failed: Timed Out -//error: -include::partial$troubleshoot.adoc[tags=troubleshoot-helm-upgrade-failed] - -[[troubleshoot-helm-cluster-unreachable]] -== Kubernetes Cluster Unreachable -//error: -include::partial$troubleshoot.adoc[tags=troubleshoot-helm-cluster-unreachable] - - -[[troubleshoot-helm-openshift-rbac]] -== Failed to Install CRD -//error: -include::partial$troubleshoot.adoc[tags=troubleshoot-helm-openshift-rbac] - - -== See Also - -* xref:flex-gateway-k8-getting-started.adoc[] -* xref:flex-gateway-set-up.adoc[] diff --git a/gateway/1.5/modules/ROOT/pages/flex-troubleshoot-linux-services.adoc b/gateway/1.5/modules/ROOT/pages/flex-troubleshoot-linux-services.adoc deleted file mode 100644 index 9f9ab12ef..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-troubleshoot-linux-services.adoc +++ /dev/null @@ -1,47 +0,0 @@ -= Troubleshooting Linux Services -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -The following topics provide possible causes for service issues and describe how to troubleshoot: - -* <> -* <> - - -[[flex-gateway-service-failed-to-run]] -== Flex Gateway Service Failed to Run - -The `flex-gateway.service` status displays `failed` after running the `systemctl list-units flex-gateway*` command. - -=== Diagnose - -To diagnose the service failure, run the following command: - -[source,ssh] ----- -journalctl -u flex-gateway ----- - -==== Error 1: “Panic: could not read platform configuration” - -If the output of the `journalctl` command includes this line: - -[source,ssh] ----- -flex-agent[3253]: panic: could not read platform configuration: open : no such file or directory ----- - -The problem can be resolved by running `chmod` on the files created during registration. - -[[other-services-failed-to-run]] -== Other Services Failed to Run - -If your error does not appear, attempt to restart Flex Gateway: - -[source,ssh] ----- -sudo ldconfig -sudo systemctl restart flex-gateway ----- diff --git a/gateway/1.5/modules/ROOT/pages/flex-troubleshoot-logging.adoc b/gateway/1.5/modules/ROOT/pages/flex-troubleshoot-logging.adoc deleted file mode 100644 index 702a3d6b5..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-troubleshoot-logging.adoc +++ /dev/null @@ -1,46 +0,0 @@ -= Troubleshooting Logging Issues -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -When configuring logging for Anypoint Flex Gateway, you might encounter logging issues caused by incorrect directory permissions, and so on. The following topics provide possible causes for logging issues and describe how to troubleshoot: - -* <> -* <> - -[[third-party-service]] -== Logs Do Not Appear in a Third-Party Logging Service - -After applying a logging configuration YAML file, logs should begin appearing within a few minutes. If your logs do not appear in your third party logging service: - -. Ensure that your third-party service is running. -. If the service is running, check the runtime logs for potential configuration errors. -+ -You can view the runtime logs for both Flex Gateways running in Connected Mode and Local Mode by following the steps in xref:flex-local-view-logs.adoc[]. Additionally, for Flex Gateways running in Connected Mode, you can xref:flex-view-logs-in-monitoring.adoc[view runtime logs in Anypoint Monitoring]. -+ -Potential configuration errors appear similar to the following: -+ ----- -[flex-gateway-fluent] [2023/09/07 20:17:49] [error] [output:http:http.1] hzk83039.live.dynatrace.com:443, HTTP status=401 -[flex-gateway-fluent] {"error":{"code":401,"message":"Missing authorization parameter."}} -[flex-gateway-fluent] [2023/09/07 20:17:49] [ warn] [engine] failed to flush chunk '20-1694117863.683606251.flb', retry in 7 seconds: task_id=2, input=emitter_for_rewrite_tag.11 > output=http.1 (out_id=1) ----- - -. Whether or not configuration errors appear in the runtime logs, view the /var/tmp/mulesoft/flex-gateway/fluent-bit.conf file to ensure your configuration values are correct. - - - - -[[incorrect-permissions]] -== Logs Do Not Appear when Running in a VM - -Log files do not appear after specifying a target log directory in an access log policy. An example log directory might be `/var/log`. - -=== Cause - -Your log output directory might not have `write` permission. - -=== Solution - -To resolve this issue, grant `write` permission to the output directory. diff --git a/gateway/1.5/modules/ROOT/pages/flex-troubleshoot-reg.adoc b/gateway/1.5/modules/ROOT/pages/flex-troubleshoot-reg.adoc deleted file mode 100644 index 62901c2e9..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-troubleshoot-reg.adoc +++ /dev/null @@ -1,37 +0,0 @@ -= Troubleshooting Registration Issues -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -When registering Anypoint Flex Gateway, you might encounter issues caused by incorrect access permissions, and so on. The following topics provide possible causes for registration issues and describe how to troubleshoot: - -* <> - -[[no-permissions]] -== Performing Registration as a User Without Necessary Access Permissions - -Executing the registration command without having correct permissions can result in an error: ----- -Couldn't execute register command successfully: rpc error: code = Internal desc = handler returned neither error nor response message ----- - -=== Cause - -This issue occurs when the credentials that you provide for registration do not have the required permissions. - -=== Solution - -To resolve this error, perform the following steps: - -. Navigate to *Access Management* as the organization administrator. -. Select *Users* from the main menu. -. Select the target organization user from the *Users* menu. -. From the *Permissions* tab, select *Runtime Manager*. -. Specify the environment in which to apply your permissions. -. Select the following from the *Select access* dropdown menu: -* *Manage servers* -* *Read servers* -. Click the *+* button. - -Re-running the registration command should now result in success. diff --git a/gateway/1.5/modules/ROOT/pages/flex-troubleshoot-requests.adoc b/gateway/1.5/modules/ROOT/pages/flex-troubleshoot-requests.adoc deleted file mode 100644 index 67ca16660..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-troubleshoot-requests.adoc +++ /dev/null @@ -1,89 +0,0 @@ -= Troubleshooting Request Connection -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -When configuring and running Flex Gateway, you might encounter connection issues. - -By making direct requests, you can troubleshoot both the outbound connection between the upstream service and Flex Gateway and the inbound connection between Flex Gateway and the client. Making direct requests isolates Flex Gateway connections allowing you to localize the issue. - -The following diagram demonstrates the difference between inbound and outbound requests. - -image:flex-inbound-outbound-requests.png[Inbound connections are between the client and Flex Gateway and outbound connections are between Flex Gateway and the upstream service, align=center] - -== Outbound Requests Between Flex Gateway and the Upstream Service -Isolating the connection between the upstream service and Flex Gateway enables you to test for connection between the two. - -To make a direct outbound request to the upstream service: - -. Log into the Flex Gateway container or VM: - -* Linux: -+ -[source,ssh] ----- -ssh [-i sshkey.pem] @ ----- - - -* Docker: -+ -[source,ssh] ----- -docker exec -it bash ----- - - -* Kubernetes: -+ -[source,ssh] ----- -kubectl -n exec -it -- bash ----- - -. Make a request to the upstream service: -+ -[source,ssh] ----- -curl -v ----- - -== Inbound Requests Between the Client and Flex Gateway - -Isolating the connection between Flex Gateway and the client enables you to test if the connection issue is due to a load balancer or another system added between Flex Gateway and the client. - -To make a direct inbound request to the client: - -. Log into the Flex Gateway container or VM: - -* Linux: -+ -[source,ssh] ----- -ssh [-i sshkey.pem] @ ----- - - -* Docker: -+ -[source,ssh] ----- -docker exec -it bash ----- - - -* Kubernetes: -+ -[source,ssh] ----- -kubectl -n exec -it -- bash ----- - - -. Make a request to Flex Gateway: -+ -[source,ssh] ----- -curl -v http://localhost:/ ----- \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-troubleshoot.adoc b/gateway/1.5/modules/ROOT/pages/flex-troubleshoot.adoc deleted file mode 100644 index afa61d6a9..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-troubleshoot.adoc +++ /dev/null @@ -1,16 +0,0 @@ -= Troubleshooting -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -When you perform Anypoint Flex Gateway tasks, you might encounter issues or receive error messages. The following topics help you resolve these issues: - -* xref:flex-troubleshoot-debug-logs.adoc[Troubleshoot with Debug Logs] -* xref:flex-troubleshoot-reg.adoc[Troubleshoot Registration Issues] -* xref:flex-troubleshoot-logging.adoc[Troubleshoot Logging Issues] -* xref:flex-troubleshoot-linux-services.adoc[Troubleshoot Linux Services] -* xref:flex-troubleshoot-admin-api.adoc[Troubleshoot with the Admin API] -* xref:flex-troubleshoot-requests.adoc[Troubleshoot Request Connection] -* xref:flex-troubleshoot-docker.adoc[] -* xref:flex-troubleshoot-helm.adoc[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-use-api-alerts.adoc b/gateway/1.5/modules/ROOT/pages/flex-use-api-alerts.adoc deleted file mode 100644 index fb2004118..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-use-api-alerts.adoc +++ /dev/null @@ -1,227 +0,0 @@ -= Using Flex Gateway API Alerts -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Using API alerts for Flex Gateway in Connected Mode, you can add and configure email notifications that flag unusual API behavior, such as: - -* An API response time over 60 seconds -* More than 1000 API requests in 30 seconds - -See <> below. - -[[types-of-api-alerts]] -== Types of API Alerts - -Add any of the following alerts to notify you of the condition described: - -* Total Request Count: Users request access to the API more times than allowed during a specified time. Specify time interval values from 1 through 999999999. To prevent data bursts, intervals are implemented as sliding windows instead of as absolute minute boundaries. See https://www.techopedia.com/definition/869/sliding-window[Sliding Windows]. - -* Average Response Time: The response time of the API exceeds a specified timeout period. - -* Response Codes: Upon receiving a request, the API returns an HTTP code of 400, 401, 403, 404, 408, 500, 502, or 503 or a custom three-digit response. - -* Policy Violation: An infraction of a specified policy governing the API occurs. - -== How API Alerts Work - -API alerts are triggered only when: - -* The API state changes -+ -Note that the first occurrence of a state change might go undetected if a newly created alert does not include defined states. - -* The alert conditions are met for the specified period of time -+ -For example, if an alert is configured to trigger when an API returns an HTTP code of 500 five or more times within a 10-minute period, it does not trigger if the API returns a code of 500 only once within that 10-minute period. - -When configuring an API alert, you can select business group users and users outside your organization to receive email notifications about the alert. Notifications include information about events that trigger alerts as specified by severity level. - -[NOTE] -API Alerts are sent from `no-reply@mulesoft.com`. This cannot be customized. - -* The first email describes the alert: -+ -`Your API, CesarDemoAPI - Basic:151 (Environment: "NewOne"), has received greater than 2 requests within 1 consecutive periods of 1 minutes.` -+ -* Another email notifies you when the alert is resolved: -+ -`Your API Version, jsonplaceholderapi - 1.0.development, is no longer in an alert state. The number of policy violations was not greater than 1 in the last 1 consecutive periods of 1 minutes.` - -After the first set of two notification emails is sent, API Manager stops listening for alerts until the next alert period begins. This technique prevents repeated notification emails. - -== Before You Begin - -To view and delete alerts, ensure that you have: - -* *Manage Alerts* permission to view and delete API alerts. -* *View Alerts* permission for view-only access to alerts. - -[[add-api-alerts]] -== Add API Alerts - -To track and manage APIs, you can add one or more API alerts to your API instances. Add different <> based on your requirements. - -The following table explains the number of active alerts per API instance: - -[%header%autowidth.spread] -|=== -|Subscription | Active Alerts -| Gold | Up to 6 -| Platinum | Up to 6 -| Titanium | Up to 10 -|=== - -All subscriptions enable you to have as many non-active alerts as needed. - -Pausing or deleting an active alert enables you to create new alerts if you have reached the maximum number of active alerts. - -Alerts are enabled by default when created. This setting cannot be modified. - -NOTE: Alerts cannot be added to API instances protected by xref:api-manager::automated-policies-landing-page.adoc[automated policies]. - -To add an API alert: - -. Navigate to *API Manager* > *API Administration* and click the API instance for which you want to add an alert. -. From the left navigation pane, select *Alerts* > *New alert*. -. Specify values for the displayed alert options: -* *Name*: -+ -Type an alert name, for example, `trial-alert`. You can delete an alert anytime if not required. -* *Severity*: -+ -Select a severity for the alert: - -** *Info* -+ -Assign to alerts that do not require immediate attention when triggered. This severity indicates that the metric should be passively monitored. -** *Warning* -+ -Assign to alerts that require prompt attention when triggered. This severity indicates an alert should be closely monitored. -** *Critical* -+ -Assign to alerts that require immediate attention when triggered. This severity indicates an alert should receive an immediate response. -. Specify the alert conditions: -* *Metric* -+ -Condition that triggers the alert. - -* *Logic* -+ -When the alert is triggered, based on the occurrence rate defined in the *When number of occurrences are* and *For at least [number of] minutes* fields. -You can select a maximum of ten response codes for alert conditions. - -. Configure the email notification: - -* *Subject* -+ -Subject of the alert email to send when the alert is triggered. The subject can include variables. See <>. - -* *Message* -+ -Body text for the email to send when the alert is triggered. The message body can include variables. See <>. - -* *Recipients* -+ -Recipients of the alert email. You can select up to 20 platform user IDs and enter up to 20 email addresses. - -. Click *Create*. - -Alerts appear as *Pending* when they are created. After the API receives traffic, the alert changes to a state of *OK*. Depending on the value, the alert transitions to *OK* or *Alerting*. - -=== Alert Email Template - -You can use the following variables in the *Subject* and *Message* fields for basic email alerts. - -For the description of each variable, see <>. - -[%header] -.Variables for Alerts -|=== -| Alert | Applicable Variables - -| *Total Request Count* -.4+a| -* `${severity}` -* `${operator}` -* `${threshold}` -* `${period}` -* `${value}` -* `${condition}` -* `${organization}` -* `${environment}` -* `${apiLink}` -* `${dashboardLink}` -* `${api}` -* `${policy}` - -| *Average Response Time* -| *Response Codes* -| *Policy Violations* - - -|=== - -[[alert-variables]] - -[%header%autowidth.spread] -[[alert-variables]] -.Variable Definitions -|=== -|Variable |Definition -|`${apiLink}`|URL of the triggered API -|`${alertState}`|State of the alert when it was triggered. - -Available values are `OK` or `Alerting`. -|`${comparison}`|* Above, above or equal, equal, below or equal, below -|`${condition}`|Metric for which the alert is triggered -|`${environment}`|Name of the environment in which the resource is deployed -|`${operator}` |An operator, such as `< > =` -|`${organization}` |Name of the organization that owns the alert -|`${period}` |Period of time over which to measure -|`${severity}` | Severity of the alert -|`${threshold}` |Count over the period of time that triggers the alert -|`${value}` | Value of the metric that triggers the alert -|=== - -[[enabling-alerts]] - -== Pause and Edit API Alerts - -Pausing an alert causes the alert to transition to *Paused*. - -You can also edit an existing alert by following these steps: - -. In API Manager, click *API Administration* in the left navigation bar. -. Click the API instance and version that you want to edit and then click *Alerts*. -. Click *Edit* from the three-dots menu (image:three-dots-menu.png[5%,5%]) on the alert you want to edit. -+ -image::flex-alerts-edit.png[Edit alerts] - -== Test API Alerts - -The process for testing API alerts begins with creating a Flex Gateway. Follow these steps to get started with Flex Gateway and test alerts: - -. xref:flex-install.adoc[Download Flex Gateway] -. Register and Run Flex Gateway -+ -* xref:flex-conn-reg-run.adoc[Register and Run in Connected Mode] -* xref:flex-local-reg-run.adoc[Register and Run in Local Mode] -. xref:flex-gateway-publish-apis-conn.adoc[Publish an API in Connected Mode] - - -== View and Delete Alerts - -To view and delete alerts: - -. From API Manager, click *API Administration > API instance*, and select *Alerts*. -+ -image::view-add-alert.png[Viewing and adding alerts] - -+ -. Expand an alert in the list. -+ -Details about the alert options appear. -+ -. Click *Delete* from the three-dots menu (image:three-dots-menu.png[5%,5%]) on the alert you want to delete. You can also delete an alert when editing it. diff --git a/gateway/1.5/modules/ROOT/pages/flex-view-api-metrics.adoc b/gateway/1.5/modules/ROOT/pages/flex-view-api-metrics.adoc deleted file mode 100644 index 910b48995..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-view-api-metrics.adoc +++ /dev/null @@ -1,59 +0,0 @@ -= Viewing Key Metrics for Flex Gateway APIs -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - - -API Manager and Anypoint Monitoring collect metrics on active Flex Gateway API instances. You can view charts related to these metrics and filter the data by date. - -The metrics avaliable in API Manager are considered *Key Metrics* and are described here. *Key Metrics* are available with all Anypoint Platform subscriptions. For additional Flex Gateway API metrics not included in the *Key Metrics* section, use xref:monitoring::api-analytics-dashboard.adoc[Anypoint Monitoring] (Titanium subscriptions only). You can navigate to Anypoint Monitoring by clicking *Anypoint Monitoring* from Anypoint Platform. - - -[NOTE] -==== -The *Mule API Analytics* tab in API Manager is currently not available for Flex Gateway APIs. Use the *Key Metrics* or the additional metrics in Anypoint Monitoring. -==== - - -== Key Metrics - -include::partial$include-nav-steps-api-instance.adoc[] - -To see an API instance in Anypoint Monitoring, from the *Key Metrics* section click *View more metrics in Anypoint Monitoring dashboard* or navigate to Anypoint Monitoring directly. - -The *Key Metrics* section shows four charts. If charts do not appear for your API instance, refresh your browser. - -== Understanding Key Metrics - -The *Key Metrics* section of the API summary contains the following charts: - -Total Requests:: -Sum of requests in the selected time period for the given API. -+ -Data is aggregated in one minute increments. - -Total Policy Violations:: -Sum of requests that return policy violations. -+ -Data is aggregated in one minute increments. - -Total Errors:: -Sum of HTTP response codes that occur in the selected time period. The response codes counted in this metric are 400, 401, 402, 403, 404, 405, 408, 409, 410, 411, 412, 413, 415, 416, 417, 420, 422, 429, 500, 502, 503, 504, 504, 510, and 511. -+ -Data is aggregated in one minute increments. In the chart, HTTP response codes are abbreviated as 4xx and 5xx. - -Average Response Time:: -Average response time of requests in the selected time period for the given API. -+ -Data is aggregated in one minute increments. - - -== Setting the Time Period for Key Metrics - -You can view the data points collected for the last given period of time (such as the last 5 or 30 minutes) or over a given date and time range. Use the drop-down in the calendar icon to select the time period to display. - -== What's Next? - -* Create alerts using the metrics related to an API instance with the xref:flex-use-api-alerts.adoc[Alerts feature in API Manager] or with the xref:monitoring::basic-alerts.adoc[Basic Alerts feature in Anypoint Monitoring]. -* View built-in API dashboards in xref:monitoring::api-analytics-dashboard.adoc[Anypoint Monitoring] where you can see additional metrics, filter data by date, and export data into a CSV (Titanium subscriptions only). diff --git a/gateway/1.5/modules/ROOT/pages/flex-view-api-status.adoc b/gateway/1.5/modules/ROOT/pages/flex-view-api-status.adoc deleted file mode 100644 index 2e0aa51c4..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-view-api-status.adoc +++ /dev/null @@ -1,17 +0,0 @@ -= Viewing the Flex Gateway API Status in Runtime Manager -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -// :page-aliases: runtime-manager::flex-gateway-apis.adoc -:imagesdir: ../assets/images - -To view basic information about APIs associated with Flex Gateway instances: - -. From Anypoint Platform, select *Runtime Manager*. -. Select *Flex Gateway* in the navigation menu. -. Click the name of the gateway whose APIs you want to check. -. Click *APIs*. -+ -For each API, Runtime Manager shows the name, version, instance ID, label, and date on which it was added. - -To see more detailed information and perform actions on your APIs, click *View details* to be redirected to API Manager. \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-view-logs-in-monitoring.adoc b/gateway/1.5/modules/ROOT/pages/flex-view-logs-in-monitoring.adoc deleted file mode 100644 index c99c2db32..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-view-logs-in-monitoring.adoc +++ /dev/null @@ -1,18 +0,0 @@ -= Viewing Logs in Anypoint Monitoring -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -// :page-aliases: runtime-manager::flex-gateway-monitoring.adoc -:imagesdir: ../assets/images - -Anypoint Monitoring shows the details of your Flex Gateway logs. - -To access Anypoint Monitoring from the Runtime Manager Flex Gateway UI: - -. From Anypoint Platform, select *Runtime Manager*. -. Select *Flex Gateway* in the navigation menu. -. Click the name of the gateway to which you want to add an API. -. Click *Logs*. -. Click *View logs in Anypoint Monitoring*. -+ -This action takes you to the Anypoint Monitoring UI. \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/flex-view-replica-status.adoc b/gateway/1.5/modules/ROOT/pages/flex-view-replica-status.adoc deleted file mode 100644 index 01eccf005..000000000 --- a/gateway/1.5/modules/ROOT/pages/flex-view-replica-status.adoc +++ /dev/null @@ -1,52 +0,0 @@ -= Viewing the Replica Status in Runtime Manager -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -// :page-aliases: runtime-manager::flex-gateway-replica-status.adoc -:imagesdir: ../assets/images - -In Runtime Manager, you can view the status of groups of Flex Replicas and individual Flex Replicas. - -== Groups of Flex Replicas - -To view information about the status of groups of Flex Replicas: - -. From Anypoint Platform, select *Runtime Manager*. -. Select *Flex Gateway* in the navigation menu. + -By default, all Flex Gateways regardless of their status are shown. To filter by status, click the *Any Status* arrow and the status you want to filter. - -The *Name* column lists the name and the number of connected replicas. - -The *Status* column shows the connection status for the replicas associated with a particular gateway. - -The following table describes the meaning of each status for a group of replicas: - -[%header,cols="30a,70a"] -|=== -|Status | Group of Replicas -|Connected | At least one replica is connected to the platform and can serve traffic. -|Disconnected | There are no replicas connected to the platform and no information on whether they are serving traffic. -|=== - -== Individual Flex Replicas - -To view information about the status of individual replicas: - -. From Anypoint Platform, select *Runtime Manager*. -. Select *Flex Gateway* in the navigation menu. -. Select the name of the Flex Gateway whose individual replica statuses you want to view. - -The *Status* column in the list of replicas shows the connection status for that particular replica. - -The following table describes the meaning of each status for a single replica: - -[%header,cols="30a,70a"] -|=== -|Status |Single Replica -|Connected | The replica is connected to the platform and can serve traffic. -|Disconnected |The replica is not connected to the platform. There is no information on whether it is serving traffic. Disconnected replicas are deleted after seven days. -|=== - -== See Also - -* xref:flex-view-api-status.adoc[View the API Status in Runtime Manager] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/index.adoc b/gateway/1.5/modules/ROOT/pages/index.adoc deleted file mode 100644 index 2ae3d0173..000000000 --- a/gateway/1.5/modules/ROOT/pages/index.adoc +++ /dev/null @@ -1,156 +0,0 @@ -= Flex Gateway Overview -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -// :page-aliases: gateway::flex-shared-responsibility.adoc, runtime-manager::flex-gateway-about.adoc, runtime-manager::flex-gateway-modes.adoc - -Anypoint Flex Gateway is an Envoy-based, ultrafast lightweight API gateway designed to manage and secure APIs running anywhere. Built to seamlessly integrate with DevOps and CI/CD workflows, Flex Gateway delivers the performance required for the most demanding applications and microservices while providing enterprise security and manageability across any environment. - -The following video provides a quick overview of Flex Gateway: - -++++ -include::_partials/product-spotlight-video.html[] -++++ - -== Flex Gateway Architecture - -Flex Gateway comprises two components that work in tandem: - -* <> -* <> - -The following graphic diagrams the relationship between these components: - -image::gateway-concepts-control-plane-diagram.png["Flex Gateway Concepts diagram,"width=100%] - -[[control_plane]] -=== Control plane - -The control plane is a MuleSoft-hosted platform that centralizes management and observability, enabling you to: - -* Build APIs. -* Add policies. -* Deploy APIs into the runtime. -* Monitor APIs in Anypoint API Manager. -* Configure the runtime in Anypoint Runtime Manager. - -[[runtime]] -=== Runtime - -The gateway runtime is a customer-hosted distributed entity installed in any cloud data center or, for testing purposes, on your local laptop. The runtime receives commands from the control plane and routes and protects the backend APIs. Built with security in mind, Flex Gateway secures communications between the runtime and the control plane through mTLS and HTTPs. - -Fluent Bit implementation enables log output to local files, or to aggregators such as New Relic, Sumo Logic, and Splunk. - -== Replicas -A runtime unit is called a `replica`. While a single runtime can support multiple backend APIs for high availability, it is best to deploy Flex Gateway as a cluster with multiple replicas running in parallel. Using clusters increases gateway performance and robustness, and is recommended for high-performance applications that must scale. - -A single Flex Gateway can support multiple backend APIs. To support more backend APIs, you can deploy multiple replicas or additional Flex Gateways. Increase replica CPU and memory for higher throughput and increased performance. - -You can configure an optional external REDIS storage for features such as distributed rate limiting and distributed caching. Gateway replicas use the REDIS storage as a scratchpad to coordinate rate-limiting across multiple replicas, so customer SLAs are adhered to. - -== Connected Mode vs. Local Mode - -Flex Gateway can be deployed in two ways: - -* <> -* <> - -[[connected_mode]] -=== Connected Mode -In Connected Mode, the gateway is fully connected to the MuleSoft control plane. This connection allows for centralized management, observability, and security. Anypoint API Manager enables full API lifecycle management and policy configuration. Anypoint Runtime Manager enables you to deploy and configure your gateway. - -Choose Connected Mode for a UI-based experience to deploy policies, and for managing and monitoring the gateway. - -[[local_mode]] -=== Local Mode - -You can also configure and manage a standalone gateway that is mostly disconnected from the control plane. Choose Local Mode for this experience. - -[NOTE] -Flex Gateway deployed in Local Mode only connects to the control plane for registration and logging usage metrics. - -In Local Mode, you manage all configuration and policy applications with locally stored declarative configuration files. - -Use Local Mode to build CI/CD pipelines for application deployments. - -=== Summary of Differences - -The following table summarizes the differences between Connected Mode and Local Mode. - -[%header%autowidth.spread,cols="a,a,a"] -|=== -| | Connected Mode | Local Mode - -| *Use Case* -| Centralize management, observability, and security. Flex Gateway connects to the control plane. -| Operate independently of the control plane in a mostly disconnected manner. Manage with locally stored declarative configuration files. Build CI/CD pipelines. - -| *Policy Application* -| Via API Manager -| Via local declarative configuration files - -| *Air-Gapped?* -| No. Flex Gateway is connected to the control plane. -| No. Flex Gateway is managed locally but only connected to the control plane for registration and usage metrics. - -|=== - -== Installation Options - -You can install Flex Gateway in a variety of ways: - -* A standalone single runtime or replica on various Linux environments including Ubuntu, Debian, Amazon Linux, RHEL, and CentOS - -* A standalone runtime in a Docker container - -* A sidecar to a backend application in a Docker container, thereby protecting a single backend application - -* A Kubernetes `Deployment` for high-availability, high-performance use cases - -Use a standalone gateway when protecting a few APIs and the number of transactions is low, with a minimal impetus on high-availability or robustness. Otherwise, use an Ingress controller in Kubernetes. - -== Version Retirement Dates - -For information about Flex Gateway version retirement dates, refer to https://help.mulesoft.com/s/article/MuleSoft-Product-Feature-Retirements[MuleSoft Product Feature Retirements^]. - -== Shared Responsibility - -The successful operation of Flex Gateway is a responsibility shared between you and MuleSoft. - -=== MuleSoft Responsibility - -MuleSoft is responsible for: - -* Providing and supporting Flex Gateway (including the agent, Envoy package, and Fluent Bit package) -* Providing and supporting a base Helm chart for the installation of Flex Gateway in a Kubernetes cluster -* Providing and supporting an online Docker image registry -* Providing and supporting an online package repository for installation on Linux - -=== Your Responsibility - -When running on any target, you are responsible for: - -* Maintaining connectivity to the Anypoint Control Plane -* Not running third-party software that interferes with normal Flex Gateway operation, such as antivirus, DPI, or application security systems - -When running in Kubernetes, you are responsible for: - -* Adapting the base Helm chart for your specific needs -* Managing the Kubernetes `Deployment`, including: -** External load balancing -** Customizations to `Ingress` resources -** Log forwarding -** Monitoring -** Network ports, NAT gateways, and proxies -** Container runtime and networking -** Provisioning and management of the Kubernetes environment, which requires: -*** Your IT team to provision and manage the infrastructure -*** Your network team to configure allowed ports and proxy settings -*** Your security team to verify compliance and obtain security certificates - -See xref:general::usage-reports.adoc[Viewing Usage Reports] for information about your monthly Flex Gateway usage. - -== Next Steps - -* xref:flex-gateway-getting-started.adoc[] diff --git a/gateway/1.5/modules/ROOT/pages/policies-automated-applying.adoc b/gateway/1.5/modules/ROOT/pages/policies-automated-applying.adoc deleted file mode 100644 index a6eda31eb..000000000 --- a/gateway/1.5/modules/ROOT/pages/policies-automated-applying.adoc +++ /dev/null @@ -1,115 +0,0 @@ -= Applying Automated Policies -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -// :page-aliases: api-manager::automated-policy-apply.adoc, policies::policies-automated-applying.adoc - -Users with *Organization Admin*, *Environment Admin*, or with a role to *Manage Policies* in the environment can create, edit and delete Automated Policies. - -// == Task Prerequisites -// -// Before you apply an automated policy, ensure that: -// -// * Mule runtime engine (Mule) is installed with xref:api-manager::api-gateway-capabilities-mule4.adoc[Mule Gateway capabilities] enabled. -// * An xref:api-manager::api-instance-landing-page.adoc[API] configured with a basic endpoint or a proxy endpoint exists in API Manager. -// * A Mule application is deployed with a xref:connectors::http/http-listener-ref.adoc[HTTP(s) based flow], which is linked to the API through Autodiscovery. -// + -// When Autodiscovery is correctly configured in your Mule application, your application’s API is said to be tracked by or paired to API Manager. -// -// Autogenerated proxies handle these prerequisites in most cases. Mule Gateway reconciles the automated policies applied to an API in API Manager during runtime. - -== Apply an Automated Policy in Connected Mode - -To apply an automated policy: - -. In API Manager, select *Automated Policies* from the left navigation menu. -. Click *Apply new automated policy*. -. Select the provided policy that you want to configure as a provided policy. -+ -You can configure any included policies as an automated policy. -+ -See the xref:policies-included-directory.adoc[] to learn how to configure each one of them, or xref:policies-custom-overview.adoc[] to learn how to create one. -// + -// When configuring an automated policy, at the bottom of the policy configuration page, there is a *Rule of Applications* sub-section. This dictates the set of runtimes that will be affected by the policy: -// -// * *Apply to all supported runtimes (4.1.1 and above)*. + -// All API proxies based on Mule 4.1.1 and later will be affected by the policy. -// * *Apply to a specific set of runtimes*. + -// You can configure a range of runtime versions to inherit the automated policy. + -// For example, if the input From is 4.1.2 and the To value is 4.1.4, the automated policy will be applied to all deployed APIs inside this range. An API deployed on 4.1.5 won’t be affected by the policy. -// + -// You can include values such as `4.1.x`. For example, adding a range from 4.1.1 to 4.1.x covers all runtime patch releases. An API Proxy based on 4.1.0 will not be included in this range, because it's lower than the 4.1.1 "from value." -+ -If you are configuring a type of policy that also exists as a provided policy in an API proxy affected by your rule of application, you'll need to solve the conflict before continuing. Refer to the <> section below for more information on how to solve them. -. Click *Apply* - -[TIP] -It’s recommended to apply an automated policy in a lower environment before applying in a production environment and ensure to review that an automated policy doesn't affect the existing API contracts. - -=== Conflict Management - -Since automated policies have priority over API-level policies, when adding an automated policy that it is already applied as an API-level policy, on an API deployed using the selected runtime range, a conflict results. - -When a conflict is detected, a popup with the list of conflicting APIs displays. A message will be shown with the first 10 APIs with conflicts and the total amount. You can use this endpoint to access the list of all APIs: - -[source,CURL,linenums] --- -curl -X GET \ -https://anypoint.mulesoft.com/xapi/v1/automated-policies/{groupId}/{assetId}/conflicting-apis \ --H 'Authorization: Bearer {token}' --- - -To solve conflicts, you can either select the APIs from the list of already configured APIs and manually disable or remove the conflicting policy or choose to override all conflicting policies for the already configured APIs. If this last option is chosen the conflicting policies in the APIs will be disabled. If Automated Policy is removed, the API policy will be re-enabled automatically. - -=== Deploying New APIs - -When managing new APIs, you can see information regarding the status of the automated policies applied to your environment in the *Policies* tab. No automated policies are shown until the application is in Active status. + -After the application is deployed, a list of applied automated policies will be listed in the *Policies* tab of the API. - -Users with *View Policies* role for the environment will able to see the list of automated policies applied. -// + -// If an application is deployed to an environment which has an automated policy that doesn't cover the deployed runtime, for example with an automated policy affecting a runtime range from 4.1.2 to 4.1.4, and a user deploys to a 4.1.5 runtime, a notification will be sent to the organization, and environment administrators, to let them know of this activity. - -=== Viewing Coverage Status - -View the *Coverage status* of an API instance to see if an automated policy covers your API instance or why it doesn't. Typically, instances are not covered due to their runtime type or runtime version. - -To view what API instances are covered by an automated policy: - -. Navigate to *Anypoint Platform* > *API Manager*. -. In API Administration, click *Automated Policies*. -. Click the more options button (image:more-options-menu.png[1%,1%]) of the policy whose coverage you want to view, and then click *See covered APIs*. -. View the API instance's coverage status in the *Coverage status* column. - -NOTE: To filter by coverage status, click the coverage status dropdown and select a coverage status option. - -=== Auditing Applied Policies - -It is possible to audit and get a list of all affected APIs by an automated policy. Reports can be filtered by runtime version, and by an operation. - -To get the list of all automated policies in an environment: - -[source,curl,linenums] --- -curl -X GET \ -https://anypoint.mulesoft.com/apimanager/api/v1/organizations/{organizationId}/automated-policies?environmentId={envId} \ - -H 'Authorization: Bearer {token}' --- - - -To get the list of APIs included in the range of automated policy or APIs where the automated policy is not applied. - -[source,curl,linenums] --- -curl -X GET \ -https://anypoint.mulesoft.com/apimanager/api/v1/organizations/{organizationId}/automated-policies/{automatedPolicyId}/apis \ --H 'Authorization: Bearer {token}' --- - -== Apply an Automated Policy in Local Mode - -For information about applying an automated policy for Flex Gateway running in Local Mode, see xref:flex-local-secure-api-with-auto-policy.adoc[]. - -== See Also - -* xref:policies-automated-overview.adoc[] diff --git a/gateway/1.5/modules/ROOT/pages/policies-automated-overview.adoc b/gateway/1.5/modules/ROOT/pages/policies-automated-overview.adoc deleted file mode 100644 index 5fe7725e6..000000000 --- a/gateway/1.5/modules/ROOT/pages/policies-automated-overview.adoc +++ /dev/null @@ -1,20 +0,0 @@ -= Automated Policies -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -// :page-aliases: api-manager::automated-policies-landing-page.adoc, policies::policies-automated-overview.adoc - -Use automated policies to enforce security and logging requirements by applying the same policies to all APIs running in Flex Gateway. With policy automation, you can quickly design, build, and deploy secure and consistent APIs. - -Automated policies enable you to deploy APIs with confidence because the target environment automatically enforces critical policies, resulting in reduced errors. An administrator no longer needs to remember to insert a policy to enforce common standards manually. - -You can configure all xref:policies-included-directory.adoc[included policies] and xref:policies-custom-overview.adoc[custom policies] as automated policies and apply them to the APIs running in an environment. - -[NOTE] -==== -xref:flex-use-api-alerts.adoc[Alerts] cannot be added to API instances protected by automated policies. -==== - -== See Also - -* xref:policies-automated-applying.adoc[] diff --git a/gateway/1.5/modules/ROOT/pages/policies-custom-flex-getting-started.adoc b/gateway/1.5/modules/ROOT/pages/policies-custom-flex-getting-started.adoc deleted file mode 100644 index 24f8a594c..000000000 --- a/gateway/1.5/modules/ROOT/pages/policies-custom-flex-getting-started.adoc +++ /dev/null @@ -1,209 +0,0 @@ -= Publish a Flex Gateway Custom Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -// :page-aliases: policies::policies-custom-flex-getting-started.adoc - -The following steps are the high-level workflow for publishing custom policies for Anypoint Flex Gateway: - -. Create policy definition files. -. Publish policy definition asset to Exchange. -. Create implementation files. -. Add policy implementation to the published policy definition. - -== Before You Begin - -Before you can publish a custom policy for Flex Gateway, ensure you have administrator or contributor permission for Anypoint Platform. - - -[[create-policy-definition-files]] -== Create Policy Definition Files - -A JSON and a YAML policy definition file must be created before you can upload the policy implementation. The required files are JSON and YAML. - -The JSON file specifies the interface for the policy using JSON schema language. The JSON file is used by API Manager to render the UI. - -The YAML file provides metadata regarding the policy for example, the policy category, interface scope, required characteristics, and RAML/OAS snippets. - -Copy the custom policy definition examples or create the files on your local system. - -=== Create the JSON Schema File - -The JSON schema file specifies the interface for the policy by identifying which properties are required or supported to configure the policy. The file also includes more annotations to refine the type for each property that enables some fields to perform a special behavior in the Anypoint platform. For example, Dataweave validations or secure handling of secrets. - -The JSON file must include the following fields: - -* Top-level @context -+ -References the vocabulary used for the extra type annotations. The aliases used to namespace the vocabulary are a optional. Commonly-used names can be `security` or `config`. -+ -Values for the security and config aliases are: - -** Security: `anypoint://vocabulary/policy.yaml#` -** Config: `anypoint://vocabulary/policyConfigurationsForUI.yaml#`` -* Top-level title -* $schema with a link to the JSON Schema spec (see example) -* Root type of `object` -* Top-level description -* Each property must also include: -+ -** Title -+ -The title is used by API Manager UI to render the field name. -** Description -+ -The description is used by API Manager UI to describe the field. -** Type -+ -Only primitive types are supported, for example `integer`, `string`, `object`, `boolean`, and `array`. - -Each property can include the following: - -* Format -+ -Options are `dataweaveExpression` and `ipRange``. -* Default -+ -Allows the user to enter a default value which is rendered in the UI. -* @context with a @characteristics array -+ -Further refines the type with more annotations with the following options: - -** `config:commaSeparatedValues` -+ -The value of this field results in an array -** `security:sensitive` -Determines whether the property is masked when entering the property in the API Manager UI. - - -The following code is a example of a basic authentication JSON schema: - ----- - - { - "title": "Basic authentication - Simple", - "type": "object", - "description": "Enforces HTTP Basic authentication according to the details configured in the policy.", - "properties": { - "username": { - "title": "User Name", - "type": "string" - }, - "password": { - "title": "User Password", - "type": "string", - "@context": { - "@characteristics": [ - "security:sensitive" - ] - } - } - }, - "required": [ - "username", - "password" - ], - "unevaluatedProperties": false, - "@context": { - "@vocab": "anypoint://vocabulary/policy.yaml#", - "security": "anypoint://vocabulary/policy.yaml#" - }, - "$id": "basic-authentication-simple", - "$schema": "https://json-schema.org/draft/2019-09/schema" -} ----- - -=== Create the Definition Metadata YAML File - -The YAML file provides information about the policy and its requirements. The YAML file is not tied to any specific runtime or binary. - -The file must have these fields configured: - -* Header -+ -Header must be #%Policy Definition 0.1. -* Name -+ -User-friendly name used for to display the policy name in API Manager UI. Must be a string value. -* Description -+ -Must be a string value. - -* Category -+ -Category to which the policy belongs. Used to group and filter policies in API Manager UI. Any string value is valid. For example, `security`, `quality of service`, `compliance`, `troubleshooting`, and `transformation`. - -* Provided Characteristics -+ -A list used to define the characteristics the policy provides. Must be an array of strings. Use `providedCharacteristics: []` to leave empty. - -The following code is an example of a basic authentication definition YAML file: ----- -#%Policy Definition 0.1 -name: Basic authentication - Simple -description: Enforces HTTP Basic authentication according to the details configured in the policy. -category: Security -providedCharacteristics: - - Requires authentication -requiredCharacteristics: [] -interfaceScope: ["api", "resource"] -interfaceTransformation: [] -encryptionSupported: true -violationCategory: authentication ----- - -== Publish Policy Definition Asset to Exchange -After creating the required policy definition files (JSON and YAML), publish the policy definition asset to Exchange. - -See xref:exchange::to-create-an-asset#create-custom-policy-definition-asset[Create a Custom Policy Definition Asset] for more information. - -[[create-implementation-files]] -== Create Implementation Files -The policy implementation files that are required to make the policy available in a runtime are a metadata file and a binary file. The metadata file describes what technology the binary file applies to and from which runtime version. The metadata file must be a YAML file. The binary file contains the policy logic and manages the runtime execution. The file can be a WebAssembly (WASM) for Anypoint Flex Gateway or a JAR file for Mule 4 runtime. - -=== Create Metadata YAML File -The metadata YAML file provides details about the specific implementation of the policy definition. A single policy definition can have several implementations. Each an independent asset in Exchange or different versions of the same Exchange asset. - -The metada YAML file must include the following fields: - -* Header -+ -#%Policy Implementation 1.0 -* Technology -+ -Either `mule4` or `flexGateway`. -* Name -+ -Name of the implementation. -* minRuntimeVersion -+ -A semantic version representing the first runtime version that the implementation binary is compatible with. For example, a mule binary might only be compatible from 4.3.0 onwards. - -The YAML file can also include `Release notes`. - -The following code is an example of a implementation metadata YAML file: - ----- -#%Policy Implementation 1.0 -minRuntimeVersion: 4.1.1 -maxRuntimeVersion: 4.4.0 -technology: mule4 -name: Simple Auth Mule Implementation -releaseNotes: "" - ----- - -=== Create the Implementation Binary Files -The implementation binary file is a JAR file for Mule 4 policies or a WebAssembly WASM file for Anypoint Flex Gateway. These files should support all of the configuration fields and function the way the definition metadata describes. - - -== Add Policy Implementation Files to Published Policy Definition -After the custom policy definition asset is published to Exchange, the next step is to add the policy implementation files to the published policy. This step enables the policy to be available in runtime. The required implementation files are a binary file such as a WebAssembly (WASM) file for Flex Gateway or JAR for Mule 4 runtime and a YAML metadata file. - -Before adding the implementation files, ensure that the policy asset is in the Stable state. - -// See xref:exchange::add-policy-implementation-files-to-published-policy-definition[Add Policy Implementation Files to Published Policy Definition] for more information. - - -== Apply the Policy to an API from Anypoint API Manager -After the implementation files are published, the policy is available to be applied to an API in API Manager. See the Anypoint API Manager documentation for information about applying the policy. diff --git a/gateway/1.5/modules/ROOT/pages/policies-custom-flex-implement-rust.adoc b/gateway/1.5/modules/ROOT/pages/policies-custom-flex-implement-rust.adoc deleted file mode 100644 index 4bb9ccbdf..000000000 --- a/gateway/1.5/modules/ROOT/pages/policies-custom-flex-implement-rust.adoc +++ /dev/null @@ -1,340 +0,0 @@ -= Implement a Flex Gateway Custom Policy in Rust -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -// :page-aliases: policies::policies-custom-flex-implement-rust.adoc - -== Summary - -You can implement custom policies via WebAssembly (WASM) extensions that run on Envoy as custom filters. You implement these policies using the https://github.com/proxy-wasm/proxy-wasm-rust-sdk[WebAssembly for Proxies (Rust SDK)^]. The following examples assume knowledge about Rust and related tools. - -== Lifecycle Events - -Custom policies are based on https://github.com/proxy-wasm/spec[proxy-wasm ABI^], an event-driven, Envoy-agnostic, low-level interface for L4/L7 proxies. This interface specifies how a WASM extension and its host interact, and it includes listenable lifecycle events: HTTP request lifecycle events and also WASM filter lifecycle events. - -The SDK exposes a method to retrieve information related to each lifecycle event. For example, data retrieved from the `on_http_request_headers` event can be used to perform related custom policy logic, which can then inform the runtime if the request should be processed. - -=== HTTP Request Lifecycle Events - -* `on_http_request_headers` -+ -Triggered when the endpoint receives the complete set of HTTP request headers. - -* `on_http_request_body` -+ -Triggered when the endpoint receives the first bytes of the HTTP request. - -* `on_http_response_headers` -+ -Triggered when the endpoint receives the complete set of HTTP response headers. - -* `on_http_response_body` -+ -Triggered when the endpoint receives the first bytes of the HTTP response body. - -=== Filter Lifecycle Events - -* `on_configure` -+ -Triggered when the WASM filter starts with an available configuration. -+ -Flex Gateway serializes policy configuration into JSON, which is used to configure the Envoy WASM filter. You can deserialize and parse this JSON into data that will be used by your custom policy. - -=== Example Lifecycle Events Implementation - -The following Envoy filter template demonstrates how to implement lifecycle events: - ----- -use proxy_wasm::traits::*; -use proxy_wasm::types::*; - -proxy_wasm::main! {{ - proxy_wasm::set_log_level(LogLevel::Trace); - proxy_wasm::set_root_context(|_| -> Box { - Box::new(HttpConfigHeaderRoot { - header_content: String::new(), - }) - }); -}} - -struct HttpConfigHeader { - header_content: String, -} - -impl Context for HttpConfigHeader {} - -impl HttpContext for HttpConfigHeader { - fn on_http_request_headers(&mut self, _num_headers: usize, _end_of_stream: bool) -> Action { - Action::Continue - } - - fn on_http_request_body(&mut self, _body_size: usize, _end_of_stream: bool) -> Action { - Action::Continue - } - - fn on_http_response_headers(&mut self, _num_headers: usize, _end_of_stream: bool) -> Action { - Action::Continue - } - - fn on_http_response_body(&mut self, _body_size: usize, _end_of_stream: bool) -> Action { - Action::Continue - } -} - -struct HttpConfigHeaderRoot { - header_content: String, -} - -impl Context for HttpConfigHeaderRoot {} - -impl RootContext for HttpConfigHeaderRoot { - fn on_configure(&mut self, _: usize) -> bool { - if let Some(config_bytes) = self.get_plugin_configuration() { - self.header_content = String::from_utf8(config_bytes).unwrap() - } - true - } - - fn create_http_context(&self, _: u32) -> Option> { - Some(Box::new(HttpConfigHeader { - header_content: self.header_content.clone(), - })) - } - - fn get_type(&self) -> Option { - Some(ContextType::HttpContext) - } -} ----- - -== Custom Authentication Header Policy Example - -The following tutorial describes how to create an example policy implementation for a xref:policies-custom-flex-getting-started.adoc#create-policy-definition-files[Policy Definition] that has already been published in Exchange. -The example policy blocks requests whose `x-custom-auth` header does not match a user-configured value. - -During the policy development process, you complete the following steps: - -. Create the policy definition JSON file. -. Set up the project. -. Develop the custom policy. - -=== Create the Policy Definition JSON File - -Example policy implementations require a policy definition JSON file. Flex Gateway passes policy configuration as JSON with that policy definition structure to the Envoy WASM filter. - -The example authentication header policy has only one parameter: the value that needs to be passed in the header. The policy definition JSON file should match the following: - ----- -{ - "title": "Custom Auth Header", - "type": "object", - "description": "Enforces HTTP authentication matching x-custom-auth value to what is configured in the policy.", - "properties": { - "secret-value": { - "title": "Custom Auth Header Password", - "type": "string", - "@context": { - "@characteristics": [ - "security:sensitive" - ] - } - } - }, - "required": [ - "secret-value" - ], - "unevaluatedProperties": false, - "@context": { - "@vocab": "anypoint://vocabulary/policy.yaml#", - "security": "anypoint://vocabulary/policy.yaml#" - }, - "$id": "custom-auth-header-simple", - "$schema": "https://json-schema.org/draft/2019-09/schema" -} ----- - -=== Set Up the Project - -. Create the Rust project via the following command: -+ ----- -cargo new flex_custom_policy_example --lib ----- -+ -This creates a `flex_custom_policy_example` directory. - -. Copy the following into `Cargo.toml`, located in the `flex_custom_policy_example` directory: -+ ----- -[package] -name = "flex_custom_policy_example" -version = "0.1.0" -edition = "2021" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[lib] -crate-type = ["cdylib"] -name="flex_custom_policy_example" -path="src/lib.rs" - -[dependencies] -proxy-wasm = { git = "https://github.com/proxy-wasm/proxy-wasm-rust-sdk.git", tag = "v0.2.0" } -serde = { version = "1.0", features = ["derive"] } -serde_json = "1.0" - -[profile.release] -opt-level = "z" -lto = "fat" ----- - -=== Develop the Custom Policy - -. Add the following policy bootstrapping code to a new Rust source file: -+ ----- -use proxy_wasm::traits::*; -use proxy_wasm::types::*; -use serde::Deserialize; - -proxy_wasm::main! {{ - proxy_wasm::set_log_level(LogLevel::Trace); - proxy_wasm::set_root_context(|_| -> Box { - Box::new(CustomAuthRootContext { - config: CustomAuthConfig::default(), - }) - }); -}} ----- -+ -The code is required to deploy your WASM filter to Envoy. The `main` block sets the root context, which is an Envoy entity used to generate the child context for each incoming HTTP request. - -. Add the following root context implementation code: -+ ----- -struct CustomAuthRootContext { - config: CustomAuthConfig, -} - -impl Context for CustomAuthRootContext {} - -impl RootContext for CustomAuthRootContext { - - fn create_http_context(&self, _: u32) -> Option> { - Some(Box::new(CustomAuthHttpContext { - config: self.config.clone(), - })) - } - - fn get_type(&self) -> Option { - Some(ContextType::HttpContext) - } -} ----- -+ -Each Envoy filter is required to provide a root context implementation. The `RootContext` trait contains useful methods you can implement. In this example, HTTP filters implement `create_http_context` and `get_type` so that Envoy can generate the child contexts. - -. Add the following `Struct` to enable parsing this JSON: -+ ----- -#[derive(Default, Clone, Deserialize)] -struct CustomAuthConfig { - - #[serde(alias = "secret-value")] - secret_value: String, -} ----- -+ -Flex Gateway configures your policy with JSON defined in the policy definition. The JSON that needs to be parsed contains a single field called `secret-value`. -+ -. Deserialize the configuration: -+ -After creating the basic policy configuration structure, you must implement the `RootContext` `on_configure` method in order to deserialize it. -+ -Within the implementation of `RootContext` for `CustomAuthRootContext`, add the `on_configure` method, like the following snippet. -+ ----- -impl RootContext for CustomAuthRootContext { - - fn on_configure(&mut self, _: usize) -> bool { - if let Some(config_bytes) = self.get_plugin_configuration() { - self.config = serde_json::from_slice(config_bytes.as_slice()).unwrap(); - } - - true - } - - // Other implemented methods - // ... -} ----- - -. Add the following HTTP context code: -+ ----- -struct CustomAuthHttpContext { - pub config: CustomAuthConfig, -} - -impl Context for CustomAuthHttpContext {} - -impl HttpContext for CustomAuthHttpContext {} ----- -+ -Each incoming request creates a new `CustomAuthHttpContext`, and this `CustomAuthHttpContext` lives as long as the HTTP request lives. This enables you to store request-related state data (but not inter-request state data.) - -. Add the following core policy functionality logic: -+ ----- -impl HttpContext for CustomAuthHttpContext { - fn on_http_request_headers(&mut self, _num_headers: usize, _end_of_stream: bool) -> Action { - - if let Some(value) = self.get_http_request_header("x-custom-auth") { - if self.config.secret_value == value { - return Action::Continue; - } - } - - self.send_http_response(401, Vec::new(), None); - - Action::Pause - } -} ----- -+ -The `proxy-wasm` ABI retrieves the header value of the incoming request and then compares the value against `secret-value`. If `secret-value` matches the header, the implementation returns an `Action::Continue`. Otherwise, it returns `Action::Pause`, and the filter itself emits a response to the calling client using `send_http_response`. -+ -Note: The Rust SDK contains an issue reading non-UTF-8 values with `get_http_request_header`. To work around the issue, use the `get_http_request_headers_bytes` method and read the bytes using the `from_utf8` https://doc.rust-lang.org/std/string/struct.String.html#method.from_utf8[method^]. For example: -+ ----- -let header = self.get_http_request_header_bytes("x-custom-auth").map(String::from_utf8).and_then(Result::ok); ----- - -. Enable compilation by adding `wasm32` as a target: -+ ----- -rustup target add wasm32-wasi ----- -+ -All third-party libraries included in your policy must be compatible with the `wasm32-wasi` Rust compilation target. -+ -[IMPORTANT] -==== -Some libraries might compile properly to the wasm32-wasi target but might not work properly when deployed to Flex Gateway. Example deployment errors when this happens are: - -* `Failed to load Wasm module due to a missing import` -* `Wasm VM failed to initialize Wasm code` -* `Plugin configured to fail closed failed to load` - -To resolve these issues, contact the owners of the third-party library or use a different library. -==== - -. Compile your custom policy via the following command: -+ ----- -cargo build --target wasm32-wasi --release ----- -+ -Compilation outputs a binary `.wasm` file into the `./target/wasm32-wasi/release` directory. -+ -For more information on pushing custom policies to Exchange, refer to xref:policies-custom-flex-getting-started.adoc[Publish a Flex Gateway or Mule 4 Custom Policy]. diff --git a/gateway/1.5/modules/ROOT/pages/policies-custom-overview.adoc b/gateway/1.5/modules/ROOT/pages/policies-custom-overview.adoc deleted file mode 100644 index 4b60eae53..000000000 --- a/gateway/1.5/modules/ROOT/pages/policies-custom-overview.adoc +++ /dev/null @@ -1,15 +0,0 @@ -= Custom Policies -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -// :page-aliases: api-manager::change-custom-policy-mule3.adoc, api-manager::policies-custom-landing-page.adoc, api-manager::policies-custom-overview.adoc, policies::policies-custom-overview.adoc - -Policies enforce regulations to help manage security, control traffic, and improve API adoption. For example, a policy can control authentication, access, and service level agreements (SLAs). You can create custom policies based on your specific business requirements and apply them to APIs to extend existing functionality or define new ones. - -The workflow for creating custom policies for Anypoint Flex Gateway is done in Exchange. The policy is then available to be applied to an API in Anypoint API Manager. - -For more information, refer to the following: - -* xref:policies-custom-flex-implement-rust.adoc[Implement a Flex Gateway Custom Policy in Rust] -* xref:policies-custom-flex-getting-started.adoc[Publish a Flex Gateway Custom Policy] -* xref:flex-local-deploy-custom-policy.adoc[Apply a Flex Gateway Custom Policy in Local Mode] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/policies-flex-dataweave-support.adoc b/gateway/1.5/modules/ROOT/pages/policies-flex-dataweave-support.adoc deleted file mode 100644 index d1a4d22e2..000000000 --- a/gateway/1.5/modules/ROOT/pages/policies-flex-dataweave-support.adoc +++ /dev/null @@ -1,150 +0,0 @@ -= DataWeave Support in Flex Gateway Policies -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -// :page-aliases: policies::policies-flex-dataweave-support.adoc - -xref:dataweave::index.adoc[DataWeave] is the programming language designed by MuleSoft for data transformation. It enables you to build a simple solution for a common integration developer use case: read and parse data from one format, transform the data, and write it out as a different format. - -Flex Gateway supports a subset of DataWeave in policy configuration expressions. DataWeave is not supported in custom policies. - -== Available Types - -* xref:dataweave::dataweave-type-system.adoc#null[`Null`] -* `Boolean` -* `String` -* `Number` (Driven as 64 bits floating points) -* xref:dataweave::dataweave-type-system.adoc#array-type[`Array`] -* xref:dataweave::dataweave-type-system.adoc#object-type[`Object`] (Repeated keys are not available) - -== Available Value Constructors for Types - -* xref:dataweave::dataweave-types.adoc#dw_type_boolean[`Boolean`] -* xref:dataweave::dataweave-types.adoc#dw_type_string[`String`] -* xref:dataweave::dataweave-types.adoc#dw_type_number[`Number`] -* xref:dataweave::dataweave-types.adoc#dw_type_array[`Array`] - -== Unavailable Value Constructors for Types - -* xref:dataweave::dataweave-types.adoc#dw_type_null[`Null`] (Writing a `null` literal is not supported) -* xref:dataweave::dataweave-types.adoc#dw_type_object[`Object`] (Objects can not be defined as literals) - -== Available Flow Control Structures - -* xref:dataweave::dataweave-flow-control.adoc#control_flow_if_else[`if else`] - -== Unavailable Flow Control Structures - -* xref:dataweave::dataweave-flow-control.adoc#control_flow_do[`do`] - -== Available Selectors - -* `Array[Number]` -* `Array[String]` -* `Object[String]` -* `String[Number]` - -== Unavailable Selectors - -* `Object[Number]` - -== Available Equality and Relational Operators - -* xref:dataweave::dw-operators.adoc#equality-and-relational-operators[`==`] -* xref:dataweave::dw-operators.adoc#equality-and-relational-operators[`!=`] -* xref:dataweave::dw-operators.adoc#equality-and-relational-operators[`>=`] -* xref:dataweave::dw-operators.adoc#equality-and-relational-operators[`<=`] - -== Available Logical Operators - -* xref:dataweave::dw-operators.adoc#logical_operators[`not`] -* xref:dataweave::dw-operators.adoc#logical_operators[`and`] -* xref:dataweave::dw-operators.adoc#logical_operators[`or`] - -== Available Functions - -=== `++` - -* xref:dataweave::dw-core-functions-plusplus.adoc#plusplus1[`++(Array, Array): Array`] -* xref:dataweave::dw-core-functions-plusplus.adoc#plusplus2[`++(String, String): String`] - -=== `contains` - -* xref:dataweave::dw-core-functions-contains.adoc#contains1[`contains(Array, Any): Boolean`] -* xref:dataweave::dw-core-functions-contains.adoc#contains2[`contains(String, String): Boolean`] - -=== `lower` - -* xref:dataweave::dw-core-functions-lower.adoc#lower1[`lower(String): String`] -* xref:dataweave::dw-core-functions-lower.adoc#lower2[`lower(Null): Null`] - -=== `splitBy` - -* xref:dataweave::dw-core-functions-splitby.adoc#splitby2[`splitBy(String, String): Array`] - -=== `sizeOf` - -* xref:dataweave::dw-core-functions-sizeof.adoc#sizeof1[`sizeOf(Array): Number`] -* xref:dataweave::dw-core-functions-sizeof.adoc#sizeof2[`sizeOf(Object): Number`] -* xref:dataweave::dw-core-functions-sizeof.adoc#sizeof4[`sizeOf(String): Number`] - -=== `trim` - -* xref:dataweave::dw-core-functions-trim.adoc#trim1[`trim(String): String`] -* xref:dataweave::dw-core-functions-trim.adoc#trim2[`trim(Null): Null`] - -=== `upper` - -* xref:dataweave::dw-core-functions-upper.adoc#upper1[`upper(String): String`] -* xref:dataweave::dw-core-functions-upper.adoc#upper2[`upper(Null): Null`] - -=== `uuid` - -* xref:dataweave::dw-core-functions-uuid.adoc#uuid1[`uuid(): String`] - -=== `dw::core::Strings::substringAfter` - -* xref:dataweave::dw-strings-functions-substringafter.adoc#substringafter1[`substringAfter(String, String): String`] -* xref:dataweave::dw-strings-functions-substringafter.adoc#substringafter2[`substringAfter(Null, String): Null`] - -=== `dw::core::Strings::substringAfterLast` - -* xref:dataweave::dw-strings-functions-substringafterlast.adoc#substringafterlast1[`substringAfterLast(String, String): String`] -* xref:dataweave::dw-strings-functions-substringafterlast.adoc#substringafterlast2[`substringAfterLast(Null, String): Null`] - -=== `dw::core::Strings::substringBefore` - -* xref:dataweave::dw-strings-functions-substringbefore.adoc#substringbefore1[`substringBefore(String, String): String`] -* xref:dataweave::dw-strings-functions-substringbefore.adoc#substringbefore2[`substringBefore(Null, String): Null`] - -=== `dw::core::Strings::substringBeforeLast` - -* xref:dataweave::dw-strings-functions-substringbeforelast.adoc#substringbeforelast1[`substringBeforeLast(text: String, separator: String): String`] -* xref:dataweave::dw-strings-functions-substringbeforelast.adoc#substringbeforelast2[`substringBeforeLast(text: Null, separator: String): Null`] - -== Available Predefined Variables - -* xref:dataweave::dataweave-variables-context.adoc[`attributes`] -** `attributes.headers` -** `attributes.method` (Only available in request context) -** `attributes.queryParams` (Only available in request context) -** `attributes.queryString` (Only available in request context) -** `attributes.requestPath` (Only available in request context) -** `attributes.requestUri` (Only available in request context) -** `attributes.localAddress` (Only available in request context) -** `attributes.remoteAddress` (Only available in request context) -** `attributes.scheme` (Only available in request context) -** `attributes.version` (Only available in request context) -** `attributes.statusCode` (Only available in response context) - -* xref:dataweave::dataweave-variables-context.adoc[`authentication`] -** `authentication.clientId` -** `authentication.clientName` -** `authentication.principal` -** `authentication.properties` - -* xref:dataweave::dataweave-variables-context.adoc[`payload`] -** `payload` - -* xref:dataweave::dataweave-variables-context.adoc[`vars`] -** `vars.claimSet.*` (Only available for JWT Policy configuration) diff --git a/gateway/1.5/modules/ROOT/pages/policies-included-apply.adoc b/gateway/1.5/modules/ROOT/pages/policies-included-apply.adoc deleted file mode 100644 index 57cc11aef..000000000 --- a/gateway/1.5/modules/ROOT/pages/policies-included-apply.adoc +++ /dev/null @@ -1,39 +0,0 @@ -= Apply a Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:keywords: policy, endpoint -// :page-aliases: api-manager::using-policies.adoc, policies::policies-included-apply.adoc - -For Flex Gateway running in Connected Mode, you apply included policies via API Manager: - -// == Prerequisites - -// Before you apply a default policy, ensure that: - -// * Mule runtime engine (Mule) is installed with xref:api-manager::api-gateway-capabilities-mule4.adoc[Mule Gateway capabilities] enabled. -// * API Manager contains an xref:api-manager::api-instance-landing-page.adoc[API] configured with a basic endpoint or a proxy endpoint. -// * A Mule application is deployed with an xref:connectors::http/http-listener-ref.adoc[HTTP-based or HTTPS-based flow] that is linked to the API through autodiscovery. -// + -// When autodiscovery is correctly configured in your Mule application, your application’s API is tracked by or paired to API Manager. - -// Autogenerated proxies follow these prerequisites in most cases. The Mule Gateway then reconciles the automated policies applied to an API in API Manager during runtime. - -// [NOTE] -// ==== -// To apply a policy for Mule Gateway, a Mule application must first be deployed with an xref:connectors::http/http-listener-ref.adoc[HTTP-based or HTTPS-based flow] that is linked to the API through autodiscovery. -// ==== - -. Go to *Anypoint Platform > API Manager*. -. In *API Administration* click the name of the API to which to apply a policy. -. From the left navigation menu, click *Policies*. -. Click *+ Add policy*. -. Select the policy to apply. -. Configure the required configuration parameters. -+ -For policy configuration parameters, see xref:policies-included-directory.adoc[Included Policies Directory]. -. Click *Apply* - -// For Flex Gateway running in Local Mode, you apply policies via an `ApiInstance` YAML resource. For information about applying policies in Local Mode, see the xref:flex-local-configuration-reference-guide.adoc#api-instance[Declarative Configuration Reference Guide]. - -You can apply a policy either to the entire API (default) or to specific methods and resources of an API. \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/policies-included-basic-auth-ldap.adoc b/gateway/1.5/modules/ROOT/pages/policies-included-basic-auth-ldap.adoc deleted file mode 100644 index a8ce57514..000000000 --- a/gateway/1.5/modules/ROOT/pages/policies-included-basic-auth-ldap.adoc +++ /dev/null @@ -1,236 +0,0 @@ -= Basic Authentication: LDAP Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: basic authentication, ldap, api gateway, flex gateway, gateway, policy -// :page-aliases: api-manager::basic-authentication-ldap-concept.adoc, policies::policies-included-basic-auth-ldap.adoc - -[width="100%", cols="5,15"] -|=== ->s| Policy Name | Basic Authentication: LDAP ->s|Summary | Allows access based on the basic authorization mechanism, with user-password defined on LDAP ->s|Category | Security ->s|First Flex Gateway version available | v1.1.0 -.1+>.^s| Returned Status Codes -|401 - Unauthorized or invalid client application credentials -|=== - -== Summary - -The Lightweight Directory Access Protocol (LDAP) authentication policy specifies how to restrict access to an API using LDAP authentication mechanism. - -When an error is encountered, the Basic Authentication - LDAP policy returns an "WWW-Authenticate" HTTP header field using the format:`WWW-Authenticate: Basic realm="mule-realm"`. - -LDAP is an inverted tree, and each leaf has a username-password pair and associated metadata. Each level is like a tree branch. For more information about LDAP, see https://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol[About LDAP^]. - -== Configuring Policy Parameters - -=== Flex Gateway Local Mode - -In Local Mode, you apply the LDAP policy to your API via declarative configuration files. Refer to the following policy definition and table of parameters: - ----- -- policyRef: - name: ldap-authentication-flex - config: - ldapServerURL: // OPTIONAL, default: "ldap://127.0.0.1:389" - ldapServerUserDn: // REQUIRED - ldapServerUserPassword: // REQUIRED - ldapSearchBase: // REQUIRED - ldapSearchFilter: // OPTIONAL, default: "(uid={0})" - ldapSearchInSubtree: // OPTIONAL, default: false ----- - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== - -|Parameter | Required or Optional | Default Value | Description - -| `ldapServerURL` -| Optional -| `ldap://127.0.0.1:389` -| Address and port of the location to the LDAP server - -| `ldapServerUserDn` -| Required -| -| The name of the user or user group with access to traverse and list users of LDAP - -| `ldapServerUserPassword` -| Required -| -| The password for the user or usergroup - -| `ldapSearchBase` -| Required -| -| The place where the LDAP search begins - -| `ldapSearchFilter` -| Required -| -| The criteria for the filter for the Active Directory or the OpenLDAP model - -| `ldapSearchInSubtree` -| Optional -| `false` -| Whether to examine the subtree below the base DN and include the base DN level. Performance will be affected by this. Otherwise, the one-level scope will be used, examining only the level immediately below the base DN -|=== - -==== Resource Configuration Example - ----- -- policyRef: - name: ldap-authentication-flex - config: - dapServerURL: "ldap://localhost:369" - ldapServerUserDn: "cn=admin,dc=example,dc=org" - ldapServerUserPassword: "admin" - ldapSearchBase: "dc=example,dc=org" - ldapSearchFilter: "(uid={0})" - ldapSearchInSubtree: true ----- - -=== Flex Gateway Connected Mode - -When you apply the Basic Authentication - LDAP policy to your API from the UI, you can configure the following parameters to connect to your LDAP or Active Directory: - -[%header%autowidth.spread,cols="a,a,a"] -|=== -| Parameter | Description -|LDAP Server URL -|The URL of your LDAP OR LDAPS server, including the port number. -|LDAP User DN -|The name of the user or user group with access to traverse and list users of LDAP. -|LDAP User Password -|The password for the user or user group. The password must be a secure value that, once specified, is not visible or retrievable. -|LDAP Search Base -|The starting point for the search in the directory tree. -|LDAP Search Filter -|The criteria for the filter for the Active Directory or the OpenLDAP model, as shown in the examples. -|=== - -Note that all parameters are required to successfully configure LDAP or Active Directory. - -== Example Configuration for an Active Directory - -You can configure Active Directory for your LDAP authentication by providing the following values: - -[%header,cols="3*a"] -|=== -|Field |Example Literal String Value |Example Secure Property Placeholder -|LDAP Server URL -|ldap://174.19.33.17:389/ -|${ldap.server.url} -|LDAP Secure Server URL (SSL) -|ldaps://my-company-ldap.cloudhub.io:1010/ -|${ldap.server.url} -|LDAP Server User DN -|CN=Administrator,CN=Users,DC=my-company,DC=com -|${ldap.user.dn} -|LDAP User Password -|somePassword -|${ldap.password} -|LDAP Search Base -|CN=Users,DC=my-company,DC=com -|${ldap.search.base} -|LDAP Search Filter -|(sAMAccountName={0}) -|${ldap.search.filter} -|=== - -The search filter string in the example is specific to Active Directory applications. - -== Example Configuration for OpenLDAP - -You can configure OpenLDAP for your LDAP authentication by providing the following values: - -[%header,cols="3*a"] -|=== -|Field -|Example Literal String Value -|Example Secure Property Placeholder -|LDAP Server URL -| ldap://174.19.33.17:389/ -|${ldap.server.url} -| LDAP Secure Server URL (SSL) -| ldaps://my-company-ldap.cloudhub.io:1010/ -|${ldap.server.url} -|LDAP Server User DN -|cn=Manager,dc=my-company,dc=com -|${ldap.user.dn} -|LDAP User Password -|somePassword -|${ldap.password} -|LDAP Search Base -|ou=people,dc=my-company,dc=com -|${ldap.search.base} -|LDAP Search Filter -|(uid={0}) -|${ldap.search.filter} -|=== - -The search filter string in the example is specific to OpenLDAP applications. - -== How This Policy Works - -The Basic Authentication - LDAP policy intercepts the request to the protected resource and looks for the `Authorization` HTTP header. - -The policy then extracts the username and password encoded in Base64 and then requests the configured LDAP instance to determine if the user credentials are correct in the provided LDAP context. - -You can configure the Basic Authentication: LDAP policy to credentials using the following methods: - -* Search for the valid username and password pair in the level specified. -* Search for the valid username and password pair in the level specified, including lower levels. This search option is comprehensive, however, can result in slow performance. - -=== Search Scope - -Your search scope options differ depending on your policy version. The search scope options are one level for LDAP 1.0.0 and two levels (subtree) for LDAP 1.1.0. - -You can choose between `one level` and `subtree` search scopes by using the `LDAP Search in subtree` option. - -The `LDAP search base` is the starting point for the search in the directory. - -=== One-Level Search Scope - -With this option, the filter affects only the objects immediately subordinate to the `LDAP search base`, and not the `LDAP search base` itself. - -In the following example, the first level has four entries: two users and two groups. These are the only entries that are a part of any search: - -image::search-scope.png[] - -If you set the search filter to `(uid={0})`, only `Jane` and `Paul` are found. The group entries are not considered. - -==== Subtree Search Scope - -With this option, the Basic Authentication - LDAP policy examines the subtree below the `LDAP search base` and also includes the `LDAP search base` level. Notice that performance is affected by this behavior. - -In the previous example, the analyzed area covers the entire organization. The group and user entries are considered at any level of the organization: - -image::search-scope2.png[] - - -== Creating Requests for APIs with Basic Authentication Policies Applied - -After applying the Basic Authentication - LDAP policy to the API, a request to that API must contain the following header: - ----- -Authorization: Basic ----- - -The `username:password` value must be a Base64-encoded string. For example on a Mac OS X or Linux system, the username and password requirement is implemented as: - -`echo -n ':' | base64` - -// Mule runtime engine (Mule) separates the credentials of the header and sends the request to the LDAP server with the search filter. - -From the `username` and search filter, LDAP finds the registered user and then verifies credentials. The valid result is returned: - -image::ldap-verification.png[height=358,width=488] - -The following diagram illustrates an invalid request: - -image::ldap-verification-invalid.png[height=245,width=484] - -The Basic Authentication: LDAP policy throws an HTTP 401 status code to indicate that the authorization header is malformed, not provided, or invalid. diff --git a/gateway/1.5/modules/ROOT/pages/policies-included-basic-auth-simple.adoc b/gateway/1.5/modules/ROOT/pages/policies-included-basic-auth-simple.adoc deleted file mode 100644 index be0226de3..000000000 --- a/gateway/1.5/modules/ROOT/pages/policies-included-basic-auth-simple.adoc +++ /dev/null @@ -1,79 +0,0 @@ -= Basic Authentication: Simple Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: basic authentication, api gateway, flex gateway, gateway, policy -// :page-aliases: api-manager::basic-authentication-simple-concept.adoc, api-manager::basic-authentication-concept.adoc, api-manager::http-basic-authentication-policy.adoc, policies::policies-included-basic-auth-simple.adoc - -[width="100%", cols="5,15"] -|=== ->s| Policy Name | Basic Authentication: Simple ->s|Summary | Allows access based on the basic authorization mechanism, with a single user-password ->s|Category | Security ->s|First Flex Gateway version available | v1.0.0 -.1+>.^s| Returned Status Codes -|400 - Unauthorized or invalid client application credentials in WSDL API using SOAP 1.2 -| | 401 - Unauthorized or invalid client application credentials in HTTP or RAML APIs -| | 500 - Unauthorized or invalid client application credentials in WSDL API using SOAP 1.1 -|=== - -== Summary - -The Basic Authentication: Simple policy protects an API by forcing applications to provide a username and password when making requests. - -The policy follows https://tools.ietf.org/html/rfc7617[basic HTTP authentication standards^]. - -When an error is encountered, the policy returns an "WWW-Authenticate" HTTP header field. - -== Configuring Policy Parameters - -=== Flex Gateway Local Mode - -In Flex Gateway Local Mode, you apply the Basic Authentication: Simple policy to your API via declarative configuration files. Refer to the following policy definition and table of parameters: - ----- -- policyRef: - name: http-basic-authentication-flex - config: - username: // REQUIRED - password: // REQUIRED ----- - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== -|Parameter | Required or Optional | Default Value | Description - -| `username` -| Required -| N/A -| A base-64 encoded string - -| `password` -| Required -| N/A -| A base-64 encoded string - -|=== - -==== Resource Configuration Example - ----- -- policyRef: - name: http-basic-authentication-flex - config: - username: chris - password: admin ----- - -=== Flex Gateway Connected Mode - -When you apply the Basic Authentication: Simple policy to an API, a request to that API must contain the following header: - ----- -Authorization: Basic ----- - -The `username:password` value must be a base64-encoded string. For example on a Mac OS X or Linux system, the username and password requirement is implemented as: - -`echo -n ':' | base64` diff --git a/gateway/1.5/modules/ROOT/pages/policies-included-client-id-enforcement.adoc b/gateway/1.5/modules/ROOT/pages/policies-included-client-id-enforcement.adoc deleted file mode 100644 index db01792e9..000000000 --- a/gateway/1.5/modules/ROOT/pages/policies-included-client-id-enforcement.adoc +++ /dev/null @@ -1,212 +0,0 @@ -= Client ID Enforcement Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: clientid enforcement, api gateway, flex gateway, gateway, policy -// :page-aliases: api-manager::client-id-based-policies.adoc, policies::policies-included-client-id-enforcement.adoc - -[width="100%", cols="5,15"] -|=== ->s| Policy Name | Client ID Enforcement ->s|Summary | Allows access only to authorized client applications ->s|Category | Compliance ->s|First Flex Gateway version available | v1.0.0 -.4+>.^s| Returned Status Codes -|401 - Unauthorized or invalid client application credentials -|500 - Bad response from authorization server, or WSDL SOAP Fault error -|=== - -== Summary - -The Client ID Enforcement policy restricts access to a protected resource by allowing requests only from registered client applications. The policy ensures that the client credentials sent on each request have been approved to consume the API. - -When a client application is registered in Anypoint Platform, a pair of credentials consisting of a client ID and client secret is generated. When the client application requests access to an API, a contract is created between the application and that API. An API that is protected with a Client ID Enforcement policy is accessible only to applications that have an approved contract. - -When you apply a Client ID Enforcement policy, access to your API is tracked by reporting the client ID along with the analytics events. - -Default policies that internally enforce client application credentials include: - -* xref:policies-included-rate-limiting-sla.adoc[] -* xref:policies-included-openid-token-enforcement.adoc[] -* xref:policies-included-jwt-validation.adoc[] - -Although token enforcement policies can optionally skip client validation, it is recommended that you enforce the validation to ensure that the token is associated to an approved contract. - -== Configuring Policy Parameters - -=== Flex Gateway Local Mode - -Client ID Enforcement policy is not supported in Local Mode. - -=== Flex Gateway Connected Mode - -==== Configuring the Parameters - -The following parameters are displayed: - -[%header%autowidth.spread,cols="a,a,a"] -|=== -| Parameter | Description | Required -|Credentials origin -| Specifies from where in the request to extract the values: - -* HTTP Basic Authentication Header: Requires credentials as part of the authorization header. The application consuming the API must use the basic authentication scheme to send the credentials in the requests. -* Custom Expression: Accepts a DataWeave 2.0 expression each for client ID and client secret, indicating where to extract the credentials from the request. Use this option to send the credentials in a custom header or any other format. You can leave the field blank to configure the client secret requirement as optional. -| Must choose from one of the options. -| Client ID Expression -| The DataWeave 2.0 expression to use for obtaining the client ID from API requests. -| Yes. -| Client Secret Expression -| The DataWeave 2.0 expression to use for obtaining the client secret from API requests. -| No. -| Method & Resource conditions: Apply configurations to all API methods & resources -| Choose this option if you require the policy to be applied to all the methods and resources associated with the API. -| Must choose from one of the options. -| Method & Resource conditions: Apply configurations to specific methods & resources -| Choose this option if you require the policy to be applied to only specific methods and resources associated with the API. -| Must choose from one of the options. -|=== - -==== Configuring the Parameters for Anypoint Service Mesh (Non-Mule Applications) - -For Anypoint Service Mesh (non-Mule applications), you configure the Client ID Enforcement policy in the same way, excluding the following differences: - -[%header%autowidth.spread,cols="a,a,a"] -|=== -| Element | Description | Required -| Credentials origin -| Specifies from where in the request to extract the values: - -* `client_id` and `client_secret` Headers: -* HTTP Basic Authentication Header: Requires credentials as part of the authorization header. The application consuming the API must use the basic authentication scheme to send the credentials in the requests. -* Custom Headers: Accepts a header name each for client ID and client secret, indicating from which header to extract the credentials from the request. Use this option to send the credentials in a custom header. - -| Must choose from one of the options. - -|Client ID Header -| The header name to be used to extract the client ID from API requests. -| Yes. - -|Client Secret Header -| The header name to be used to extract the client Secret from API requests -| No. - -|=== - -== How This Policy Works - -Before a client application is allowed to consume an API protected by a Client ID Enforcement policy, the client application must request access to the API. After an approved contract exists between the client application and the API, every request must include the client application credentials in compliance with how the policy is configured. - -For example, if the policy is configured to expect a client ID and client secret as query parameters, the application must send those credentials in the request. To enforce this, add a `client-id-required` RAML trait to the API specification: - ----- -traits: - client-id-required: - queryParameters: - client_id: - type: string - client_secret: - type: string ----- - -Apply the trait to the resources or methods using the `is` RAML attribute: - ----- -/example: - get: - is: [client-id-required] - description: Example description ----- - -== Configuring How the Policy Obtains Credentials - -//You can configure the Client ID Enforcement policy to obtain the client credentials in one of two different ways: by using an HTTP basic authentication header or by using a custom expression. - -You can configure the policy to extract either both the client ID and client secret, or only the client ID from the HTTP request by using a variety of custom DataWeave 2.0 expressions. The following examples use a client ID of '1234' and a client secret of 'abcd'. - - -=== Obtaining Credentials Using HTTP Headers - -Example request using curl: -[source,text] ----- -curl "http://localhost/myResource" -H "client_id:1234" -H "client_secret:abcd" ----- - -Example DataWeave 2.0 expression to be used when configuring the policy: -[source,text] ----- -#[attributes.headers['client_id']] -#[attributes.headers['client_secret']] ----- - -In this example, the policy is configured to expect two headers: client_id and client_secret, with the pair of credentials. The policy is flexible to allow other types of headers also. This is the default configuration for the policy. - -=== Obtaining Credentials Using HTTP Query Parameters - -Example request using curl: -[source,text] ----- -curl "http://localhost/myResource?client_id=1234&client_secret=abcd" ----- - -Example DataWeave 2.0 expression to be used when configuring the policy: -[source,text] ----- -#[attributes.queryParams.'client_id'] -#[attributes.queryParams.'client_secret'] ----- - -In this example, the requester must send the two specified query parameters with the request. Although this is a supported configuration, it poses possible security risks. The recommended method is to use headers. A xref:policies-flex-dataweave-support.adoc[subset] of DataWeave 2.0 is supported. - -=== Obtaining Credentials Using HTTP Request Payload - -Example request using curl: -[source,text] ----- -curl "http://localhost/myResource" -d '{"client_id":"1234", "client_secret":"abcd"}' -X POST ----- - -Example DataWeave 2.0 expression to be used when configuring the policy: -[source,text] ----- -#[payload.client_id] -#[payload.client_secret] ----- - -Although you can configure the policy to obtain the credentials from the request payload, this option is not recommended because it is harder to reflect in the API specification. - -=== Obtaining Credentials Using Basic Authorization header - -Example request using curl: -[source,text] ----- -curl "http://localhost/myResource" -u 1234:abcd ----- - -== Configuring API Specifications - -The Client ID Enforcement policy requires changes in your API specification to implement the credentials requirement. -You can find the RAML or OAS snippet link containing the RAML or OAS code you need to add to the API specification in the corresponding policy. You can access this code from the list of applied policies in the Policies tab of your API specification in API Manager. -//future enhancement: how to update API spec once a policy is applied. - -== Policy Output - -When an HTTP request is performed against a protected resource for which the Client ID Enforcement policy is applied, and the client application credentials are invalid or unauthorized, the HTTP response includes a WWW Authenticate header with the following values: - -[width="100%", cols="2,70"] -|=== ->s| Custom mode | Header 'WWW-Authenticate'='Client-ID-Enforcement' ->s| Basic Auth mode | Header 'WWW-Authenticate'='Basic realm="mule-realm" -|=== - -For SOAP applications, the response is a SOAP error. - - -== See Also - -* xref:api-manager::manage-client-apps-latest-task.adoc[Managing API Instance Contracts on API Manager] -* xref:api-manager::access-client-app-id-task.adoc[Getting Client ID and Client Secret of a Registered Client App] -* xref:api-manager::defining-sla-tiers.adoc[Reviewing SLA Tiers Concepts] - diff --git a/gateway/1.5/modules/ROOT/pages/policies-included-cors.adoc b/gateway/1.5/modules/ROOT/pages/policies-included-cors.adoc deleted file mode 100644 index 02ef534bf..000000000 --- a/gateway/1.5/modules/ROOT/pages/policies-included-cors.adoc +++ /dev/null @@ -1,317 +0,0 @@ -= Cross-Origin Resource Sharing (CORS) Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: cross origin resource sharing, cors, api gateway, flex gateway, gateway, policy -// :page-aliases: api-manager::cors-policy.adoc, api-manager::avoid-restrictions-task.adoc, api-manager::cors-mule4.adoc, api-manager::cors-reference.adoc, policies::policies-included-cors.adoc - -[%autowidth.spread,cols="a,a"] -|=== ->s| Policy name | Cross-Origin Resource Sharing (CORS) ->s| Summary | Enables access to resources residing in external domains ->s| Category | Compliance ->s| First Flex Gateway version available | v1.0.0 -.1+>.^s| Returned Status Codes -| No return codes exist for this policy -|=== - -== Summary - -CORS is a mechanism by which a web application can access resources that are defined in another domain. Browsers implement this standard by default. The CORS policy complies with the https://fetch.spec.whatwg.org/[CORS W3C recommendation^] standards. - -== Configuring Policy Parameters - -=== Flex Gateway Local Mode - -In Local Mode, you apply the CORS policy to your API via declarative configuration files. Refer to the following policy definition and table of parameters: - ----- -- policyRef: - name: cors-flex - config: - originGroups: // OPTIONAL, default: [] - - origins: - accessControlMaxAge: - allowedMethods: - methodName: - - isAllowed: - headers: // OPTIONAL, default: [] - exposedHeaders: // OPTIONAL, default: [] - publicResource: // OPTIONAL, default: true - supportCredentials: // OPTIONAL, default: false ----- - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== -|Parameter | Required or Optional | Default Value | Description - -| `originGroups` -| Optional -| Empty array -| List containing groups of origins - -| `originGroups.origins` -| Optional -| Empty array -| List of origins to be included in the group. For example, `\http://www.the-origin-of-time.com` - -| `originGroups.origins.accessControlMaxAge` -| Optional -| 30 -| Duration in seconds that a preflight response can be cached without sending another preflight request - -| `originGroups.origins.allowedMethods` -| Optional -| CONNECT, DELETE, GET, OPTIONS, PATCH, POST, PUT, TRACE -| Allowed HTTP methods - -| `originGroups.origins.allowedMethods.methodName` -| Required -| N/A -| Method name - -| `originGroups.origins.allowedMethods.methodName.isAllowed` -| Required -| N/A -| A boolean indicating if a method is allowed - -| `originGroups.origins.headers` -| Optional -| Empty array -| HTTP headers used for preflight requests - -| `originGroups.origins.exposedHeaders` -| Optional -| Empty array -| Headers that browser JavaScript is allowed to access - -| `publicResource` -| Optional -| `true` -| A boolean indicating if the CORS configuration is to be applied as a public resource - -| `supportCredentials` -| Optional -| `false` -| A boolean indicating if the policy supports credentials, such as cookies, authorization headers, and TLS client certificates - -|=== - -==== Resource Configuration Example - ----- -- policyRef: - name: cors-flex - config: - publicResource: false - supportCredentials: true - originGroups: - - origins: - - http://www.the-origin-of-time.com - accessControlMaxAge: 30 - allowedMethods: - - isAllowed: true - methodName: POST - - isAllowed: true - methodName: PUT - - isAllowed: true - methodName: GET - - isAllowed: false - methodName: CONNECT - - isAllowed: false - methodName: DELETE - - isAllowed: false - methodName: OPTIONS - - isAllowed: false - methodName: PATCH - - isAllowed: false - methodName: TRACE - headers: - - x-allow-origin - - x-yet-another-valid-header - exposedHeaders: - - x-forwarded-for ----- - -=== Flex Gateway Connected Mode - -When you apply the policy to your API from the UI, the following parameters are displayed: - -[%header%autowidth.spread,cols="a,a,a"] - -|=== -| Element | Description | Required? -| Public resource | Whether the CORS configuration is to be applied as a public resource (default) | Yes -| Default group | Whether the CORS configuration is to be applied only to specific resources (requires unselecting *Public resource*) | No -| Support credentials | Whether the policy supports credentials, such as cookies, authorization headers, and TLS client certificates | No -|=== - -// == Configuration of CORS for non-API Gateway Mule Environments -// -// If your Mule runtime engine (Mule) is not enabled with API gateway capabilities and you need to implement the CORS functionality, you can use the CORS Interceptor. The CORS Interceptor is an element in the HTTP Listener configuration made available in Mule 4.0. -// -// The CORS configuration differs based on whether you leverage the CORS policy capabilities as a public resource or as a selected group of origins. -// -// For the Selected Group of Origins structure, the following example shows the elements that might be configured: -// -// [source, XML,linenums] -// ---- -// -// -// (collection of origins) -// -// -// -// ... -// -// -// -// -// ... -// -// -// -// -// ... -// -// -// -// -// -// -// ---- -// -// For the Public Resource structure, the following example shows the elements that might be configured: -// -// [source, XML,linenums] -// ---- -// -// -// -// -// -// -// -// ---- - -== Why CORS - -CORS enables you to achieve web page security and web integrity in your environment. To know why you might need to apply the CORS policy to your backend, you must first understand _origins_, _cookies_, and how they can be manipulated to violate web page integrity. - -[[origins]] -=== Introduction to the Web Origin Concept - -Origin is a header that specifies the request that initiated the fetch. The origin header includes only the server name (no path information). At a very basic level, an origin consists of: - -* URI scheme: `http://` -* Host name: `www.example.com` -* Port number: `8080` - -For requests between any two <> to be approved, the origins must be equal. Origins are considered equal only if all these three parameters match. For more information, see https://tools.ietf.org/html/rfc6454[RFC 6454 - The Web Origin Concept^]. - -=== HTTP Cookies - -Websites use HTTP cookies to retain stateful information. Most commonly, web servers use authentication cookies to know whether a user is logged in, and to know which account users are logged in to. For more information, see https://www.ietf.org/rfc/rfc6265.txt[RFC 6265^]. - -SOP (same-origin policy) deters malicious attackers from exploiting cookies when one web page invokes another. For example, you might log in to your bank's web page using a cookie that an attacker might be able to obtain and exploit to query the bank’s API on your behalf. - -[[origin]] -With the SOP, scripts can access data from a target web page only if it has the same origin as the caller web page. For more information about origins, see https://en.wikipedia.org/wiki/Same-origin_policy[Wikipedia^]. - -The following example illustrates the origin of the web page, `\http://www.example.com:8080`: - -image:cors-policy-sop-example.png[SOP Example,95%,85%] - -Because the SOP is highly restrictive, access from one suborigin to another or to external hyperlinks do not work on web pages. For example, if an origin `www.testapply.com` has two suborigins, `www.eng.testapply.com` and `www.docs.testapply.com`, communication between the two suborigins is denied. Additionally, any hyperlinks to external websites from any of the suborigins is also denied. - -To circumvent this problem, web browsers implemented the CORS standard, which validates the web server and accepts the request if the validation is successful. - -For example, if your bank implements the CORS server-side protocol on its login server, you can query data only directly from the bank's web page. Any attempt to query the login API from an external (non-bank) domain is denied. - -== How CORS Works - -When your web pages request data, the browser detects whether the request is from within same origin and determines whether to apply the CORS algorithm. If you query data from a web page that is not in your origin, then the CORS policy is applied. - -The CORS algorithm works on the web server and on the client-side for the web page that requested the information. The client-side algorithm in the CORS policy is implemented by: - -* Determining whether the request is complex (and potentially dangerous) and sending a preliminary _preflight_ request to verify whether the server accepts the origin. -* Executing the actual request and validating that the server responds correctly and accepts the origin. - -A _preflight_ is a preliminary request (using OPTIONS as the HTTP method) from the web browser to the backend server to test the identity (origin and a few other headers) of the web page that is trying to perform the request. - -If the backend does not accept the origin, the backend server responds to the request without a specific header (Access-Control-Allow-Origin). The client then understands that the page’s origin is not allowed in that server and does not execute the actual request. - -The following diagram shows the XMLHttpRequest (XHR) in a JavaScript flow for determining whether to execute the actual request: - -image::cors-policy-xhr-diagram.png[] - -As illustrated in the diagram, the request is validated based on the communication between the browser and the server: - -* If the request is considered to be complex (see the previous client-side diagram for XHR), then a preflight request is executed. -+ -If the server does not return the proper CORS response headers for the preflight, the client library (XHR in the previous example) is not allowed to perform the actual request. -* If the preflight response is correct and complete, then the client library executes the actual request, which includes certain CORS headers. -+ -The client library then validates the CORS headers of the response. If some of the required headers are missing, then again the client library is obliged to block the response from reaching the client, which is usually a web page. - -== CORS Components - -You can configure various components of the CORS policy, such as request headers, response headers, public resources and groups, ordering, and wildcards. - -=== CORS Request Headers - -* Origin: The origin making the cross origin request. -+ -* Access-Control-Request-Method: The method that is invoked in the actual request. -+ -This header is sent in the preflight request. -* Access-Control-Request-Headers: Custom headers that are sent in the actual request. -+ -This header is sent in the preflight request. For the GET or HEAD methods, the standard defines a specific list of headers that are considered simple enough to not require a preflight. For custom headers, a preflight is executed for GET and HEAD requests (see the previous XHR example to validate the path in which the client does not have to perform a preflight). - -=== CORS Response Headers - -The headers included in a response depend on whether the request is a preflight or an actual request: - -* `Access-Control-Allow-Origin`: Obligatory in every response. -+ -If this header is not present in the response, the browser or client library blocks the response from reaching the web page. The wildcard “*” can be used to represent any origin. -* `Access-Control-Allow-Methods`: Allowed methods that can be executed. -+ -This header is returned in the OPTIONS request (preflight). The server might respond with a list of allowed methods, delegating the validation task to the client. - -* `Access-Control-Allow-Headers`: Allowed headers in the actual request. -+ -This header works in a manner similar to how Access-Control-Allow-Methods works . -* `Access-Control-Allow-Credentials`: Notifies the client whether the actual request can be made with a cookie. -+ -The `Access-Control-Allow-Credentials` returns a Boolean value. -* `Access-Control-Expose-Headers`: Provides the browser or client library with a list of headers that can be accessed by the web page that executed the request. -+ -The HTTP library performing the CORS request exposes only the headers to the web page, providing further privacy and security. -* `Access-Control-Max-Age`: Specifies the duration (in seconds) in which the browser can avoid performing a second preflight on a request. - -=== Public Resources and Groups - -If you need to bypass the browser SOP, Mulesoft provides you an option to configure a public resource that enables the API gateway policy to mirror the preflight data in the response. This ensures that the actual request is correctly updated with all the CORS headers so that the browser accepts the response. - -If the public resource option is not secure enough for your environment, define multiple groups for the different origins that query your API. Each group applies to a list of origins and can specify different methods, headers, preflight caching time, and expose headers. - -=== Ordering - -The CORS policy is always applied first by the API gateway, before any other policies can be applied. If a protected request using OPTIONS is sent to an application that has the CORS policy applied, the request does not reach the protected resource. According to the https://fetch.spec.whatwg.org/#resource-preflight-requests[CORS specification^], all OPTIONS requests are considered preflight. - -=== Configuration Wildcards - -Wildcards (`*`) are accepted in the Origins and Headers sections of a group configuration. Use wildcards when you need a public resource, but must restrict the accepted HTTP methods. - -If you have configured multiple groups and one of the groups uses a wildcard origin, the non-wildcard settings override the wildcard configurations. - -== FAQs - -*The CORS policy does not seem to be applied.* - -If you use tools such as curl or Postman to test the CORS policy for a complex request, the CORS request headers are not added and the preflight does not occur. - -If no CORS headers are sent or improper headers are used in the request, the API gateway CORS policy does not add any CORS response headers, giving the impression that the policy is not applied. Ensure that you use the libraries that implement the CORS protocol specific to your environment, or review the specification to ensure that you are configuring the correct headers. diff --git a/gateway/1.5/modules/ROOT/pages/policies-included-directory.adoc b/gateway/1.5/modules/ROOT/pages/policies-included-directory.adoc deleted file mode 100644 index 8f3690a0d..000000000 --- a/gateway/1.5/modules/ROOT/pages/policies-included-directory.adoc +++ /dev/null @@ -1,39 +0,0 @@ -= Included Policies Directory -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -== Policies Included in Flex Gateway - -[%header%autowidth.spread] -|=== -|Policy | Summary -| xref:policies-included-basic-auth-ldap.adoc[Basic Authentication: LDAP] | Allows access based on the basic authorization mechanism, with user-password defined on LDAP -| xref:policies-included-basic-auth-simple.adoc[Basic Authentication: Simple] | Allows access based on the basic authorization mechanism, with a single user-password -| xref:policies-included-client-id-enforcement.adoc[Client ID Enforcement] | Allows access only to authorized client applications -| xref:policies-included-cors.adoc[Cross-Origin Resource Sharing (CORS)] | Enables access to resources residing in external domains -| xref:policies-included-header-injection.adoc[Header Injection] | Adds headers to a request or a response -| xref:policies-included-header-removal.adoc[Header Removal] | Removes headers from a request or a response -| xref:policies-included-health-check.adoc[Health Check] | Monitors API upstream health at specific intervals -| xref:policies-included-http-caching.adoc[HTTP Caching] | Caches HTTP responses from an API implementation -| xref:policies-included-ip-allowlist.adoc[IP Allowlist] | Allows a list or range of specified IP addresses to request access -| xref:policies-included-ip-blocklist.adoc[IP Blocklist] | Blocks a single IP address or a range of IP addresses from accessing an API endpoint -| xref:policies-included-json-threat-protection.adoc[JSON Threat Protection] | Protects against malicious JSON in API requests -| xref:policies-included-jwt-validation.adoc[JWT Validation] | Validates a JWT -| xref:policies-included-message-logging.adoc[Message Logging] | Logs custom messages using information from incoming requests, responses from the backend, or information from other policies applied to the same API endpoint -| xref:policies-included-oauth-token-introspection.adoc[OAuth 2.0 Token Introspection] | Allows access only to authorized client applications -| xref:policies-included-openid-token-enforcement.adoc[OpenID Connect Access Token Enforcement] | Allows access only to authorized client applications -| xref:policies-included-rate-limiting.adoc[Rate Limiting] | Monitors access to an API by defining the maximum number of requests processed within a period of time -| xref:policies-included-rate-limiting-sla.adoc[Rate Limiting: SLA-based] | Monitors access to an API by defining the maximum number of requests processed within a timespan, based on SLAs -| xref:policies-included-schema-validation.adoc[Schema Validation] | Validates incoming traffic against a supplied OAS3 schema -| xref:policies-included-spike-control.adoc[Spike Control] | Regulates API traffic -| xref:policies-included-traffic-management.adoc[Traffic Management for Multiple Upstream Services] | Manages API instance traffic to multiple upstream services from a single consumer endpoint -| xref:policies-included-tls.adoc[Transport Layer Security (TLS) - Inbound] | Enables authentication between a client and the API proxy -| xref:policies-included-tls-outbound.adoc[Transport Layer Security (TLS) - Outbound] | Enables two-way authentication between the API proxy and an upstream service -|=== - -== See Also - -* xref:mule-gateway::policies-policy-overview.adoc[] -* xref:policies::policies-availability-by-gateway.adoc[Policy Availability by Gateway] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/policies-included-header-injection.adoc b/gateway/1.5/modules/ROOT/pages/policies-included-header-injection.adoc deleted file mode 100644 index 4b8c829ad..000000000 --- a/gateway/1.5/modules/ROOT/pages/policies-included-header-injection.adoc +++ /dev/null @@ -1,134 +0,0 @@ -= Header Injection Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: header injection, api gateway, flex gateway, gateway, policy -// :page-aliases: api-manager::header-injection-policy.adoc, general:header-inject-remove-task.adoc, policies::policies-included-header-injection.adoc - -[width="100%", cols="5,15"] -|=== ->s|Policy name | Header Injection ->s|Summary | Adds headers to a request or a response ->s|Category | Transformation ->s| First Flex Gateway version available | v1.0.0 -.3+>.^s| Returned Status Codes | - -| 500 - The configuration includes an expression that was not evaluated. -|=== - -== Summary - -The Header Injection policy adds HTTP headers to the request or response of a message. When you configure this policy for your API, you must specify an inbound and outbound map of the headers that you want to add in the message processing in the form of a key-value pair. - -image::header-inject-remove-diagram.png[] - -You can optionally include DataWeave expressions in the value or name of the header. For example, all headers matching the following configured expression are injected to the message: - -`“#[attributes.requestPath]”` - -If the injected header already exists in the message attributes, the policy creates a new header without overriding the value of the existing one. - -[NOTE] -==== -Only certain headers are restricted to support multiple values, and they will be overwritten using configured values. These headers are: `access-control-allow-origin`, `content-type`, `content-length`, `transfer-encoding`. - -To overwrite any other existing message header, remove it before adding your header. See the xref:policies-included-header-removal.adoc[Header Removal] policy. -==== - -== Configuring Policy Parameters - -=== Flex Gateway Local Mode - -In Local Mode, you apply the Header Injection policy to your API via declarative configuration files. Refer to the following policy definition and table of parameters: - ----- -- policyRef: - name: header-injection-flex - config: - inboundHeaders: // OPTIONAL, default: [] - - key: // REQUIRED - value: // REQUIRED - outboundHeaders: // OPTIONAL, default: [] - - key: // REQUIRED - value: // REQUIRED ----- - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== - -|Parameter | Required or Optional | Default Value | Description - -| `inboundHeaders` -| Optional -| Empty array -| List of headers to be injected at the beginning of the message processing. - -| `inboundHeaders.key` -| Required -| N/A -| A string or DataWeave expression for header name - -| `inboundHeaders.value` -| Required -| N/A -| A string or DataWeave expression for header value - -| `outboundHeaders` -| Optional -| Empty array -| List of header to be injected at the end of the message processing. - -| `outboundHeaders.key` -| Required -| N/A -| A string or DataWeave expression for header name - -| `outboundHeaders.value` -| Required -| N/A -| A string or DataWeave expression for header value - -|=== - -[NOTE] -==== -`inboundHeaders` and `outboundHeaders` can not both be empty. -==== - -==== Resource Configuration Example - -In the following example, all the headers matching the configured `#[attributes.requestPath]` expression are injected into the message. - ----- -- policyRef: - name: header-injection-flex - config: - inboundHeaders: - - key: "new-inbound-header" - value: "#[attributes.requestPath]" - outboundHeaders: - - key: "new-outbound-header" - value: "#[attributes.requestPath]" ----- - -=== Flex Gateway Connected Mode - -When you apply the policy to your API from the UI, the following parameters are displayed: - -[%header%autowidth.spread,cols="a,a"] -|=== -| *Parameter* | *Description* -|Inbound Header Map | List of headers to be injected at the beginning of the message processing. -|Inbound Header Key | String or Dataweave expression to be used as header name at the beginning of the message. -|Inbound Header Value | String or Dataweave expression to be used as header value at the beginning of the message. -|Outbound Header Map | List of headers to be injected at the end of the message processing. -|Outbound Header Key | String or Dataweave expression to be used as header name at the end of the message processing. -|Outbound Header Value | String or Dataweave expression to be used as header value at the end of the message processing. -|Method & Resource conditions |The option to add configurations to only a select few or all methods and resources of the API -|=== - -[NOTE] -==== -Header keys should be compliance with https://www.w3.org/Protocols/rfc2616/rfc2616-sec2.html#sec2.2[HTTP 1.1^] standard. -==== diff --git a/gateway/1.5/modules/ROOT/pages/policies-included-header-removal.adoc b/gateway/1.5/modules/ROOT/pages/policies-included-header-removal.adoc deleted file mode 100644 index 092d350dc..000000000 --- a/gateway/1.5/modules/ROOT/pages/policies-included-header-removal.adoc +++ /dev/null @@ -1,107 +0,0 @@ -= Header Removal Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: header removal, api gateway, flex gateway, gateway, policy -// :page-aliases: api-manager::header-removal-policy.adoc, policies::policies-included-header-removal.adoc - -[width="100%", cols="5,15"] -|=== ->s| Policy name | Header Removal ->s|Summary | Removes headers from a request or a response ->s|Category | Transformation ->s| First Flex Gateway version available | v1.0.0 -.1+>.^s| Returned Status Codes -| 500 - The configuration includes an expression that was not evaluated. -|=== - -== Summary - -The Header Removal policy removes all listed headers from a request or a response of a message when you specify an inbound and outbound map of the headers that you want to remove with a key-value pair. - -image::header-inject-remove-diagram.png[] - -You can optionally include DataWeave expressions in the value of the header. For example, all headers matching the following configured expression are injected to the message: - -`“#[attributes.requestPath]”` - -[NOTE] -The following headers may not be removed: -accept, -host, -content-type, -content-length, -date, -transfer-encoding, -connection, - -== Configuring Policy Parameters - -=== Flex Gateway Local Mode - -In Local Mode, you apply the Header Removal policy to your API via declarative configuration files. Refer to the following policy definition and table of parameters: - ----- -- policyRef: - name: header-removal-flex - config: - inboundHeaders: // OPTIONAL, default: [] - outboundHeaders: // OPTIONAL, default: [] ----- - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== - -|Parameter | Required or Optional | Default Value | Description - -| `inboundHeaders` -| Optional -| Empty array -| Map of header names or regular expressions to be removed at the beginning of the message processing, for example, `Cache-Control, Access-Control.*` - -| `outboundHeaders` -| Optional -| Empty array -| Map of header names or regular expressions to be removed at the end of the message processing, for example, `Access-Control-Allow-Credentials` - -[NOTE] -==== -`inboundHeaders` and `outboundHeaders` can not both be empty. -==== - -|=== - -==== Resource Configuration Example - ----- -- policyRef: - name: header-removal-flex - config: - inboundHeaders: - - "Cache-Control" - - "Access-Control.*" - outboundHeaders: - - "Access-Control-Allow-Credentials" ----- - -=== Flex Gateway Connected Mode and Mule Gateway - -When you apply the Header Removal policy to your API from the UI, you can configure the following parameters: - -[%header%autowidth.spread,cols="a,a"] -|=== -| *Parameter* | *Description* -|Inbound Header Map | List of header names or regular expressions (comma separated) to be removed at the beginning of the message processing, for example, `Cache-Control, Access-Control.*` -|Outbound Header Map | List of header names or regular expressions (comma separated) to be removed at the end of the message processing, for example, `Access-Control-Allow-Credentials` -|Method & Resource conditions |The option to add configurations to only a select few or all methods and resources of the API -|=== - -== How This Policy Works - -Because every header that matches a Header Removal policy parameter is removed from the message, you must be careful about how you configure that parameter. - -For example, the following parameter configuration removes any header starting with the word `Access-Control`, such as the `Access-Control-Allow-Credentials` and `Access-Control-Allow-Origin` headers from a message. The configuration also removes the `Cache-Control` header: - -.Inbound Header -image::remove-inbound-header.png[] diff --git a/gateway/1.5/modules/ROOT/pages/policies-included-health-check.adoc b/gateway/1.5/modules/ROOT/pages/policies-included-health-check.adoc deleted file mode 100644 index 8a5dd496e..000000000 --- a/gateway/1.5/modules/ROOT/pages/policies-included-health-check.adoc +++ /dev/null @@ -1,50 +0,0 @@ -= Health Check Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: health check, api gateway, flex gateway, gateway, policy -// :page-aliases: policies::policies-included-health-check.adoc - -[width="100%", cols="5,15"] -|=== ->s|Policy name | Health Check ->s|Summary | Monitors API upstream health at specific intervals ->s|Category | Quality of Service ->s| First Flex Gateway version available | v1.4.0 -.1+>.^s| Returned Status Codes | No return codes exist for this policy. -|=== - -== Summary - -The Health Check policy enables you to check connection attempts to a specific endpoint and sends you an email alert if the connection status changes. - -The Health Check policy monitors your API by making GET requests to the specified API base path. You must specify a base path with a GET request. Requests are made at a fixed schedule every minute with the first request occuring a minute after the policy is applied. - -When you configure Health Check, specify a response code for the GET request that indicates a healthy connection. For example, the status code of an active API should return 200, indicating the API can receive connections. The platform sends an email alert when the status code is not 200. Health Check only validates the response code, so what is returned to the endpoint is unimportant. - -No logging event appears for healthy responses. Flex Gateway logs only unhealthy responses. - -You can use any 1xx, 2xx, 3xx, 4xx, or 5xx response codes. However, if you expect successful connections to your endpoints, 2xx response codes are ideal. Only a number response code is accepted. - -You are required to create an alert for the Health Check policy. Applying the policy navigates you to the Create Alert page, where you must create an alert. For information about how to configure your alert, visit xref:flex-use-api-alerts.adoc[Using Flex Gateway API Alerts]. - -IMPORTANT: Applying the Health Check policy to API Instances with an outbound TLS context also applied causes the Health Check policy to return an unhealthy connection. - -== Configuring Policy Parameters - -=== Flex Gateway Local Mode - -The Health Check policy is not supported in Local Mode. - -=== Flex Gateway Connected Mode - -When you apply the policy to your API from the UI, a list of parameters is displayed: - -[%header%autowidth.spread,cols="a,a,a"] -|=== -| Element | Description | Required? -|Upstream URL | The full URL of the API upstream you are monitoring | Yes -|Base path | The HTTP path of the GET method that is requested during health checks | Yes -|Response code | The expected status code of the GET request specified in the base path. Only a number response code is accepted. | Yes -|=== diff --git a/gateway/1.5/modules/ROOT/pages/policies-included-http-caching.adoc b/gateway/1.5/modules/ROOT/pages/policies-included-http-caching.adoc deleted file mode 100644 index 78acb669f..000000000 --- a/gateway/1.5/modules/ROOT/pages/policies-included-http-caching.adoc +++ /dev/null @@ -1,357 +0,0 @@ -= HTTP Caching Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: http caching, api gateway, flex gateway, gateway, policy -// :page-aliases: api-manager::http-caching-policy.adoc, policies::policies-included-http-caching.adoc - -[width="100%", cols="5,15"] -|=== ->s| Policy Name | HTTP caching ->s|Summary | Caches HTTP responses from an API implementation ->s|Category | Quality of Service ->s| First Flex Gateway version available | v1.0.0 -.1+>.^s| Returned Status Codes -| No return codes exist for this policy -|=== - -== Summary - -The HTTP Caching policy enables you to cache HTTP responses for reuse. Caching these responses speeds up the response time for user requests and reduces the load on the backend. For example, if your backend exposes an endpoint for which the responses to requests are not likely to change, you can reuse the HTTP responses and bypass the backend request processing by using the HTTP Caching policy. - -[[cpp]] -== Configuring Policy Parameters - -=== Flex Gateway Local Mode - -In Local Mode, you apply the HTTP Caching policy to your API via declarative configuration files. Refer to the following policy definition and table of parameters: - ----- -- policyRef: - name: http-caching-flex - config: - httpCachingKey: // OPTIONAL, default: "#[attributes.requestPath]" - maxCacheEntries: // OPTIONAL, default: 10000 - ttl: // OPTIONAL, default: 600 - useHttpCacheHeaders: // OPTIONAL, default: true - invalidationHeader: // OPTIONAL, default: "" - requestExpression: // OPTIONAL, default: "#[attributes.method == 'GET' or attributes.method == 'HEAD']" - responseExpression: // OPTIONAL, default: "#[[200, 203, 204, 206, 300, 301, 404, 405, 410, 414, 501] contains attributes.statusCode]" - distributed: // OPTIONAL, default: false - persistCache: // OPTIONAL, default: false ----- - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== - -|Parameter | Required or Optional | Default Value | Description - -| `httpCachingKey` -| Optional -| `#[attributes.requestPath]` -| A DataWeave expression - -| `maxCacheEntries` -| Optional -| 10000 -| Specifies the maximum number of entries that can be stored in the cache at any given time - -| `ttl` -| Optional -| 600 -| Specifies the amount of time (in seconds) after which a single entry expires from the cache - -| `useHttpCacheHeaders` -| Optional -| true -| Enables the use of Cache-Control header directives - -| `invalidationHeader` -| Optional -| Empty string -| A string specifying the header used to invalidate a single entry or the entire cache - -| `requestExpression` -| Optional -| `#[attributes.method == 'GET' or attributes.method == 'HEAD']` -| The DataWeave expression that is used to decide which requests are to be cached (caches the response only if the condition is true) - -| `responseExpression` -| Optional -| `#[[200, 203, 204, 206, 300, 301, 404, 405, 410, 414, 501] contains attributes.statusCode]` -| The DataWeave expression that is used to decide which responses are to be cached (caches the response only if the condition is true) - -| `distributed` -| Optional -| false -| Configures the cache to be distributed among different nodes in a cluster - -| `persistCache` -| Optional -| false -| Configures the cache to persist between different restarts of the replica - -|=== - -==== Resource Configuration Example - ----- -- policyRef: - name: http-caching-flex - config: - httpCachingKey: "#[attributes.requestPath]" - maxCacheEntries: 10000 - ttl: 500 - useHttpCacheHeaders: false - requestExpression: "#[attributes.method == 'GET' or attributes.method == 'HEAD']" - responseExpression: "#[[200, 203, 204, 206, 300, 301, 404, 405, 410, 414, 501] contains attributes.statusCode]" ----- - -==== Distributed Caching Resource Configuration Example - -Distributed Caching requires Shared Storage to be enabled. For more information about Shared Storage, refer to xref:flex-conn-shared-storage-config.adoc[Configuring Shared Storage for Flex Gateway in Connected Mode]. - ----- - ---- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Configuration -metadata: - name: shared-storage-redis -spec: - sharedStorage: - redis: - address: redis:6379 - user: user - password: pass - DB: 1 - ---- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: ingress-http-caching -spec: - targetRef: - kind: ApiInstance - name: ingress-http - policyRef: - kind: Extension - name: http-caching-flex - config: - httpCachingKey: "#[attributes.method ++ attributes.requestPath]" - useHttpCacheHeaders: true - maxCacheEntries: 100 - ttl: 600 - distributed: true - persistCache: true - invalidationHeader: AGW-CACHE-CONTROL - ----- - -=== Flex Gateway Connected Mode - -When you apply the HTTP Caching policy to your API from the UI, you can configure the following parameters: - -[%header%autowidth.spread,cols="40%,45%, 15%"] -|=== -| *Parameter* | *Description* | *Required?* -| HTTP Caching Key | A DataWeave expression. -Default value: `#[attributes.requestPath]` -| Yes -| Maximum Cache Entries | Specifies the maximum number of entries that can be stored in the cache at any given time. -Default value: `10000` -| Yes -| Entry Time To Live | Specifies the amount of time (in seconds) after which a single entry expires from the cache. -Default value: `600` -| Yes -| Distributed | Configures the cache to be distributed among different nodes in a cluster. -If you are using CloudHub, ensure that you enable Object Store v2 when deploying an application. -Default value: `false` -| Yes -| Persistent Cache | Configures the cache to persist between different restarts of the Flex Gateway instance. -If you are using CloudHub, ensure that you enable Object Store v2 when deploying an application. -Default value: `false` -| Yes -| Follow HTTP Caching directives | Enables the use of Cache-Control header directives. -Default value: `true` -| Yes -| Invalidation Header | Name of the header used to invalidate a single entry or the entire cache. | No -| Conditional Request Caching Expression | The DataWeave expression that is used to decide which requests are to be cached (caches the response only if the condition is true). -Default value: `#[attributes.method == 'GET' or attributes.method == 'HEAD']` -| No -| Conditional Response Caching Expression | The DataWeave expression that is used to decide which responses are to be cached (caches the response only if the condition is true). -Default value: `#[[200, 203, 204, 206, 300, 301, 404, 405, 410, 414, 501] contains attributes.statusCode]` -| No -|=== - -== How This Policy Works - -When an HTTP request reaches an endpoint, what happens next depends on whether that request does not already exist in cache (a cache miss) or whether it does (a cache hit). - -=== Cache Miss - -In a cache miss scenario, the HTTP Caching policy checks whether a response to the submitted request is already cached. The request reaches the backend and the process is initiated only when it's a cache miss. The diagram illustrates the flow of events that occur in this scenario: - -image:http-policy-cache-miss.png[] - -. The client (user) sends a request to the API. -. The request proceeds through other policies in the policy chain before reaching the HTTP Caching policy. -. The HTTP Caching policy checks if the request is already in the object store and, if not, the cache miss process is initiated. -. The request continues throughout the chain of other remaining policies. -. The request reaches the backend and completes all required processing. -. The backend responds and the response travels back through the policy chain. -. The response reaches the HTTP Caching policy. -. Caching hits the object store again and attempts to save the <> of the request for later reuse. -. The response continues through the remaining policies in the policy chain. -. The response is returned to the client. - - -=== Cache Hit - -In a cache hit scenario, the HTTP Caching policy searches for the key in the object store and finds that the response to a request is already cached as a <>. The request does not proceed any further in the policy chain toward the backend, and the cached response is reused. - -Subsequently, all the policies that must be executed in the policy chain after caching are not executed, in case of a cache hit: - -image:http-policy-cache-hit.png[] - -. The client (user) sends a request to the API. -. The request crosses other policies before reaching the HTTP Caching policy. -. The HTTP Caching policy verifies that the request is already in the cache. -. The <> is found in the object store and the stored response is returned. -. The response continues through the rest of the policy chain until it reaches the last one. -. The cached response is returned to the client. - -[[stored_entry]] -=== Stored Entries - -_Stored entries_ are the cached HTTP responses. The cache can store any serializable data or input streams of up to 1 MB. If that value is surpassed, then the reading stops and the value is not stored in such a case. - -[[key]] -=== HTTP Caching Key - -The cache works as a dictionary, where each response stored in the cache is associated with a string called _key_. For example, the expression #[attributes.headers['key']] uses the header called `key` as the entry key. - -=== Cache Size and Entry Expiration - -The cache can hold a specified number of entries at any given time. You can configure this number using the `Maximum Cache Entries` property. Each stored entry is held in the cache memory for a specific period of time, after which the entry expires and must be processed again. This expiration time is called _time to live_ (TTL). - -Another condition that can trigger the expiration of an entry is when the cache reaches the maximum number of items that it can store. When this scenario occurs, the entry is removed by using the FIFO (First-In First-Out) criteria. This means that the earliest entry to reach the cache is removed, even though it hasn't reached the TTL value yet. - -=== Distributed Cache - -Each entry in the cache can be shared between different nodes in a cluster or between several workers in Runtime Manager using the `Distributed` option (see table). If this option is not enabled, then each node is assigned its own cache memory. - -=== Persistent Cache - -A persistent cache enables the stored entries in the cache to persist if the Flex Replica is restarted. - -When you upgrade a version of the instance that has the HTTP Caching policy configured to use the persistent store, the policy tries to maintain the entries stored by the previous version. However in a worst-case scenario, the entries in the cache are invalidated and the cache is re-populated when new requests arrive. This manipulation of the entries in the cache occurs automatically and is invisible to the user. - -== HTTP Caching Directives - -To obtain more control over the cache, the HTTP Caching policy interprets some of the HTTP directives from the https://tools.ietf.org/html/rfc7234[RFC-7234^] protocol by taking the following headers into account: - -* `Cache-Control` -* `Expires` -* `Date` -* `Age` - -=== Cache-Control - -The `Cache-Control` header can exist either in the request or in the response. Possible values for the header, which can be combined separated by commas, include: - - -* In requests: - -** `no-cache` - -The response is not searched for, but is directly stored in the cache. - -** `no-store` - -The response is not stored in the cache. However, if the response is already present in the cache, the policy returns the response. - -* In responses: - -** `no-store`, `no-cache`, `private` - -For each value, the response is not stored in the cache. - -* `max-age=`, `s-maxage=` - -The `` placeholder must be replaced with a valid integer that indicates the time (in seconds) for which the response can remain in the cache. If both parameters are defined, `s-maxage` takes precedence over `max-age`. - -If a global time-to-live (TTL) value is also defined for the policy, these header values override the global TTL configured in the policy if the time specified in the headers is less than the global TTL. - -=== Expires - -If present, this header specifies the date by which the entry in the cache expires. If you specify the `max-age` directive or `s-maxage` directive, this header is ignored. You must define the header value as stated in https://tools.ietf.org/html/rfc1123[RFC-1123^]. - -=== Date - -The `date` header, as defined per https://tools.ietf.org/html/rfc1123[RFC-1123^], specifies the date and time when the response is created. If not defined, the `date` header is added with the time when the request was received. This header is used in conjunction with the values defined in the `max-age` and `s-maxage` directives of the Cache-Control header. - -=== Age - -The `age` header indicates the time (in seconds) elapsed since the origin of the cached response specified in the date header. This header is calculated by the policy and added to each response that is retrieved from the cache. - -The expiration time is calculated using the `cache-control`, `date`, and `expires` headers. However, if the resulting expiration time exceeds the one imposed by the TTL value of the entry, the cache entry expires anyway. - -=== Invalidate - -The `invalidate` header, if configured in the HTTP Caching policy, invalidates the entries in the cache, thereby causing the request to be processed again. You specify the name of the header in the Invalidation Header configuration to turn on the option. The value of the header can take only one of the following options: -`invalidate` - -This option invalidates the entry whose key matches the current request. -`invalidate-all` -This option invalidates all the entries from the cache. - -For example, imagine that the following values are configured in the policy for the request: - -* `HTTP Caching Key`: "#[attributes.requestPath]" -* `Invalidation header`: "myInvalidationHeader" - -The following command invalidates the entry with key “/my/policy" from the cache: - -`curl http:///my/policy -H “myInvalidationHeader:invalidate”` - -The following request invalidates all entries from the cache: - -`curl http:///my/policy -H “myInvalidationHeader:invalidate-all”` - -== Conditional Caching - -Conditional caching enables you to configure a set of conditions that must be met before entries are stored in the cache. If none of the conditional caching parameters are configured, the cache stores the responses for every incoming request. If configured, parameters are evaluated for each request to determine whether the response of the current request must be stored. - -For conditional request expressions, only the responses for incoming requests with HTTP methods `GET` or `HEAD` are cached by default. For conditional response expressions, only status codes specified by https://tools.ietf.org/html/rfc7231#section-6.1[RFC-7231^] are cached by default. - -For more information about the default values, see <>. - -== FAQ - -*What happens when the evaluation of the key results in any error?* - -If the evaluation of the expression for a particular request results in an error, the policy does not take effect and the request continues to the next receptor in the policy chain. - - -*Can I store only part of the response with this policy?* - -No, but you can apply a policy before this one and transform the response to something else. - -*What happens if one parameter is configured to search for the response in the cache and the other parameter is configured for the opposite action?* - -This is the same as configuring the response to be stored in the cache when there is a no-store directive in the Cache-Control header. - -In this situation, the response isn't stored. You must configure both the Cache-Control header and the cache to be able to store and search for the response in the cache. - - -*What happens if I do not define some of the optional parameters?* - -If you have not configured the `invalidation` header, you cannot invalidate the cache in a request. -Additionally, if you have not configured the request expression or response expression, the cache is used for all requests and all the responses are stored in the cache (expression #[true]). - -*Can I modify the Invalidation header values?* - -No, you can modify only the header name. diff --git a/gateway/1.5/modules/ROOT/pages/policies-included-ip-allowlist.adoc b/gateway/1.5/modules/ROOT/pages/policies-included-ip-allowlist.adoc deleted file mode 100644 index 692eda088..000000000 --- a/gateway/1.5/modules/ROOT/pages/policies-included-ip-allowlist.adoc +++ /dev/null @@ -1,109 +0,0 @@ -= IP Allowlist Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: ip, allowlist, validation, api gateway, flex gateway, gateway, policy -// :page-aliases: api-manager::ip-allowlist.adoc, policies::policies-included-ip-allowlist.adoc - -[width="100%", cols="5,15"] -|=== ->s| Policy Name | IP Allowlist ->s|Summary | Allows a list or range of specified IP addresses to request access ->s|Category | Security ->s|First Flex Gateway version available | v1.0.0 -.1+>.^s| Returned Status Codes -| 403 - IP is rejected -|=== - -== Summary - -The IP Allowlist policy allows a list or a range of specified IP addresses access to a protected resource when a match is found between a source IP (specified when configuring the policy) and a list of individual IPs or range of IPs. - -DataWeave 2.0 expressions define the source IP used by the policy to determine whether the IP belongs to the policy's restricted IP list. - -== Configuring Policy Parameters - -=== Flex Gateway Local Mode - -In Local Mode, you apply the IP Allowlist policy to your API via declarative configuration files. Refer to the following policy definition and table of parameters: - ----- -- policyRef: - name: ip-allowlist-flex - config: - ips: // REQUIRED - ipExpression: // OPTIONAL, default: "#[attributes.headers['x-forwarded-for']]" ----- - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== - -|Parameter | Required or Optional | Default Value | Description - -| `ips` -| Required -| N/A -| The list of IP addresses allowed access to the API. You can define one IP or IP range at a time, as many times as required. For more information, see <>. - -| `ipExpression` -| Optional -| `#[attributes.headers['x-forwarded-for']]` -| The DataWeave 2.0 expression to be used for extracting the IP address from this API request - -|=== - -==== Resource Configuration Example - ----- -- policyRef: - name: ip-allowlist-flex - config: - ips: - - "192.168.1.1" - - "192.168.3.1/30" - - "192.168.2" - - "192.160" ----- - -=== Flex Gateway Connected Mode - -When you apply the IP Allowlist policy to your API from the UI, configure the following parameters: - -[%header%autowidth.spread,cols="a,a"] -|=== -| Parameter | Description -|IP expression |The DataWeave 2.0 used for extracting the IP address from this API request. -|Allowlist |The list of IP addresses allowed access to the API. You can define one IP or IP range at a time, as many times as required. For more information, see <>. -|Method & Resource conditions |The option to add configurations either to a select few or to all methods and resources of the API. -|=== - -[[specifying_ip_address]] -== Specifying IP Addresses to Allowlist in Your Policy - -Specify IP addresses to allow access to your policy based on: - -* The IP address of the request -* The origin IP address that is determined by resolving a specific DataWeave expression, such as the https://en.wikipedia.org/wiki/X-Forwarded-For[x-Forwarded-For^] header -* Any other origin. - -=== Allowlisting Access Based on the IP address of the Request - -Allowlist access based on the IP address of the request in any of the following ways: - -* Define a specific IP address by enumerating it in the Allowlist field, for example, `192.168.1.1`. -* Define a subset of addresses by identifying a subnet mask, for example, `192.168.3.1/30`, which includes the consolidated range `192.168.3.01` through `192.168.3.3`. -* Define a whole range of IP addresses by stating the relevant octets of the IP address you want to permit, for example, setting `192.168`, which includes IP addresses from `192.168.0.0` through `192.168.255.255`. - - -=== Allowlisting Access Based on the Origin IP Address of the x-Forwarded-For Header - -If the client connects to your API through an HTTP proxy or a load balancer, you can allowlist the client's specific IP address (the IP address originating the request) instead of the address that appears in the request. - -For example, if you want to allowlist `192.168.2.3`(private IP) and the address of a client connecting through an HTTP proxy is `92.40.1.255` (public IP), the client requests appear with the public address using the proxy. - -Typically, applications use the `X-Forwarded-For` header to identify the origin IP addresses of a request that was redirected to your endpoint. - -You can use a DataWeave 2.0 expression in the policy to instruct the service to look for the IP address in the `x-Forwarded-For` header. - -When you insert the IP address in the IP expression field of the policy parameters, Anypoint Platform is instructed to look for the starting IP address in the concatenated values of the `x-Forwarded-For` header of the request. \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/policies-included-ip-blocklist.adoc b/gateway/1.5/modules/ROOT/pages/policies-included-ip-blocklist.adoc deleted file mode 100644 index f5c6a4403..000000000 --- a/gateway/1.5/modules/ROOT/pages/policies-included-ip-blocklist.adoc +++ /dev/null @@ -1,110 +0,0 @@ -= IP Blocklist Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: ip, blocklist, validation, api gateway, flex gateway, gateway, policy -// :page-aliases: api-manager::ip-blocklist.adoc, policies::policies-included-ip-blocklist.adoc - -[width="100%", cols="5,15"] -|=== ->s| Policy Name | IP Blocklist ->s|Summary | Blocks a single IP address or a range of IP addresses from accessing an API endpoint ->s|Category | Security ->s|First Flex Gateway version available | v1.0.0 -.1+>.^s| Returned Status Codes -| 403 - IP is rejected -|=== - -== Summary - -The IP Blocklist policy controls access to a configured API endpoint from either a single IP address or a range of IP addresses. - -The IP Blocklist policy restricts access to a protected resource when a match is found between a source IP (specified when configuring the policy) and either a list of individual IPs or a range of IPs. - -DataWeave 2.0 expressions define the source IP to be used when the policy tries to determine whether the IP belongs to the restricted IP list defined in the policy. - -== Configuring Policy Parameters - -=== Flex Gateway Local Mode - -In Local Mode, you apply the IP Blocklist policy to your API via declarative configuration files. Refer to the following policy definition and table of parameters: - ----- -- policyRef: - name: ip-blocklist-flex - config: - ips: // REQUIRED - ipExpression: // OPTIONAL, default: "#[attributes.headers['x-forwarded-for']]" ----- - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== - -|Parameter | Required or Optional | Default Value | Description - -| `ips` -| Required -| N/A -| The list of IP addresses blocked from the API. You can define one IP or IP range at a time, as many times as required. For more information, see <>. - -| `ipExpression` -| Optional -| `#[attributes.headers['x-forwarded-for']]` -| The DataWeave 2.0 expression to be used for extracting the IP address from this API request - -|=== - -==== Resource Configuration Example - ----- -- policyRef: - name: ip-blocklist-flex - config: - ips: - - "192.168.1.1" - - "192.168.3.1/30" - - "192.168.2" - - "192.160" ----- - -=== Flex Gateway Connected Mode - -When you apply the IP Blocklist policy to your API from the UI, configure the following parameters: - -[%header%autowidth.spread,cols="a,a"] -|=== -| Parameter | Description -|IP expression |The DataWeave 2.0 expression used for extracting the IP address from this API request. -|Blocklist |The list of IP addresses blocked from the API. You can define one IP or IP range at a time, as many times as required. For more information, see <>. -|Method & Resource conditions |The option to add configurations either to a select few or to all methods and resources of the API. -|=== - -[[specifying_ip_address]] -== Specifying IP Addresses to Blocklist in the Policy - -Specify IP addresses to block in your policy based on: - -* The IP address of the request. -* The origin IP address that is determined by resolving a specific DataWeave expression, such as the https://en.wikipedia.org/wiki/X-Forwarded-For[x-Forwarded-For^] header. -* Any other origin. - -=== Blocklist Access Based on the IP Address of the Request - -Blocklist access based on the IP address of the request in any of the following ways: - -* Define a specific IP address by enumerating it in the white space, for example, `192.168.1.1`. -* Define a subset of addresses by identifying a subnet mask, for example, `192.168.3.1/30` includes the consolidated range `192.168.3.0` through `192.168.3.3`. -* Define a whole range of IP addresses by specifying the relevant octets of the IP address that you want to permit, for example, setting `192.168` will include IP addresses from `192.168.0.0` through `192.168.255.255`. - -=== Blocklist Access Based on the Origin IP Address of the x-Forwarded-For Header - -If the client connects to your API through an HTTP proxy or a load balancer, you can blocklist the client's specific IP address (the IP address originating the request) instead of the address that appears in the request - -For example, if you want to blocklist `192.168.2.3` and the address of a client connecting through an HTTP proxy is `92.40.1.255`, the client requests appear with the public address using the proxy. - -Typically, applications use the `X-Forwarded-For` header to identify the origin IP addresses of a request that was redirected to your endpoint. - -You can use a DataWeave 2.0 expression in the policy to instruct the service to look for the IP address in the `x-Forwarded-For` header. - -When you insert the IP address in the IP expression field of the policy parameters, Anypoint Platform is instructed to look for the starting IP address in the concatenated values of the `x-Forwarded-For` header of the request. \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/policies-included-json-threat-protection.adoc b/gateway/1.5/modules/ROOT/pages/policies-included-json-threat-protection.adoc deleted file mode 100644 index cb49cf1a6..000000000 --- a/gateway/1.5/modules/ROOT/pages/policies-included-json-threat-protection.adoc +++ /dev/null @@ -1,110 +0,0 @@ -= JSON Threat Protection Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: json threat protection, api gateway, flex gateway, gateway, policy -// :page-aliases: api-manager::apply-configure-json-threat-task.adoc, policies::policies-included-json-threat-protection.adoc - -[width="100%", cols="5,15"] -|=== ->s|Policy Name| JSON Threat Protection ->s|Summary| Protects against malicious JSON in API requests ->s|Category| Security ->s|First Flex Gateway version available | v1.4.0 ->s|Returned Status Codes| 400 - Bad Request -|=== - -== Summary - -Applications processing JSON requests are susceptible to attacks characterized by unusual inflation of elements and nesting levels. Attackers use recursive techniques to consume memory resources. Dramatic swings in the size of the application data often signal a security problem. The JSON Threat Protection policy helps protect your applications from such intrusions. - -If you find that attacks on your Anypoint Platform setup are difficult to detect, design your services architecture with layers of protection in addition to JSON Threat Protection. - -== Configuring Policy Parameters - -=== Flex Gateway Local Mode - -In Local Mode, you apply the JSON Threat Protection policy to your API via declarative configuration files. Refer to the following policy definition and table of parameters: - ----- -- policyRef: - name: json-threat-protection-flex - config: - maxContainerDepth: // OPTIONAL - maxObjectEntryCount: // OPTIONAL - maxObjectEntryNameLength: // OPTIONAL - maxArrayElementCount: // OPTIONAL - maxStringValueLength: // OPTIONAL ----- - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== - -|Parameter | Required or Optional | Default Value | Description - -| `maxContainerDepth` -| Optional -| -1 -| Specifies the maximum nested depth. JSON allows you to nest the containers (object and array) in any order to any depth. Specifying -1 indicates that the field value has no limits. - -| `maxObjectEntryCount` -| Optional -| -1 -| Specifies the maximum string length of an object's entry name. Specifying -1 indicates that the field value has no limits. - -| `maxObjectEntryNameLength` -| Optional -| -1 -| Specifies the maximum number of entries in an object. Specifying -1 indicates that the field value has no limits. - -| `maxArrayElementCount` -| Optional -| -1 -| Specifies the maximum number of elements in an array. Specifying -1 indicates that the field value has no limits. - -| `maxStringValueLength` -| Optional -| -1 -| Specifies the maximum string value length. Specifying -1 indicates that the field value has no limits. - -|=== - -==== Resource Configuration Example - -[source,yaml] ----- -- policyRef: - name: json-threat-protection-flex - config: - maxContainerDepth: 10 - maxObjectEntryCount: 10000 - maxObjectEntryNameLength: 80 - maxArrayElementCount: 10000 - maxStringValueLength: 255 ----- - -=== Flex Gateway Connected Mode - -When you apply the JSON Threat Protection policy to your API from the UI, the following parameters are displayed: - -[width="100%", cols="2,6,1,1"] -|=== -s|Field s|Description s|Default s|Required -|Maximum Container Depth|Specifies the maximum nested depth. JSON allows you to nest the containers (object and array) in any order to any depth ^|-1 ^|false -|Maximum String Value Length|Specifies the maximum length of a string value ^|-1 ^|false -|Maximum Object Entry Name Length|Specifies the maximum string length of an object's entry name ^|-1 ^|false -|Maximum Object Entry Count|Specifies the maximum number of entries in an object ^|-1 ^|false -|Maximum Array Element Count|Specifies the maximum number of elements in an array ^|-1 ^|false -|=== - -[NOTE] -==== -A value of -1 indicates that the field value has no limits. -==== - -== Example - -The following screenshot shows an example of the parameters configured for the JSON Threat Protection policy: - -image::json-threat-policy.png[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/policies-included-jwt-validation.adoc b/gateway/1.5/modules/ROOT/pages/policies-included-jwt-validation.adoc deleted file mode 100644 index ceed84053..000000000 --- a/gateway/1.5/modules/ROOT/pages/policies-included-jwt-validation.adoc +++ /dev/null @@ -1,354 +0,0 @@ -= JWT Validation Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: jwt validation, api gateway, flex gateway, gateway, policy -// :page-aliases: api-manager::policy-mule4-jwt-validation.adoc, policies::policies-included-jwt-validation.adoc - -[%autowidth.spread,cols="a,a"] -|=== ->s| Policy name | JWT Validation ->s| Summary | Validates a JWT ->s| Category | Security ->s| First Flex Gateway version available | v1.0.0 -.4+>.^s| Returned Status Codes | -|400 - Token was not provided in the request. - -[%autowidth.spread,cols="a,a"] -!=== -.3+>.^! 401 ! Signature was not validated, or is invalid. ! Some of the required claims are not present or their validation failed. -! Failed to parse the token. -!=== -|=== - -== Summary - -JSON Web Token (JWT) is a URL-secure method of representing claims to be transferred between two parties. The claims in a JWT are encoded as a JSON object that is used as the payload of a JSON Web Signature (JWS), or as a JSON web encryption (JWE) structure in plain text. This enables the claims to be digitally signed and integrity protected with a message authentication code (MAC). Because the token is signed, you can trust the information and its source. - -The JWT Validation policy validates the signature of the token and asserts the values of the claims of all incoming requests by using a JWT with JWS format. The policy does not validate JWT that uses JWE. - -== Configuring Policy Parameters - -=== Flex Gateway Local Mode - -In Local Mode, you apply the JWT Validation policy to your API via declarative configuration files. Refer to the following policy definition and table of parameters: - ----- -- policyRef: - name: jwt-validation-flex - config: ----- - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== - -|Parameter | Required or Optional | Default Value | Description - -| `signingMethod` -| Optional -| `rsa` -| String containing the key signing method. Supported values: `rsa`, `hmac`, `es`, `none` - -| `signingKeyLength` -| Optional -| 256 -| Number indicating key length - -| `textKey` -| Optional -| `your-(256\|384\|512)-bit-secret/your-public-pem-certificate` -| - -| `jwtOrigin` -| Optional -| `httpBearerAuthenticationHeader` -| - -| `jwtKeyOrigin` -| Optional -| `text` -| - -| `jwksUrl` -| Optional -| `http://your-jwks-service.example:80/base/path` -| - -| `jwksServiceTimeToLive` -| Optional -| 60 -| - -| `jwksServiceConnectionTimeout` -| Optional -| 10000 -| - -| `validateAudClaim` -| Optional -| `false` -| - -| `mandatoryAudClaim` -| Optional -| `false` -| - -| `mandatoryNbfClaim` -| Optional -| `false` -| - -| `mandatoryExpClaim` -| Optional -| `false` -| - -| `supportedAudiences` -| Optional -| Empty string -| - -| `validateCustomClaim` -| Optional -| `false` -| - -| `mandatoryCustomClaims` -| Optional -| Empty array -| - -| `nonMandatoryCustomClaims` -| Optional -| Empty array -| - -| `jwtExpression` -| Optional -| `#[attributes.headers['jwt']]` -| - -| `skipClientIdValidation` -| Required -| `true` -| This parameter must be set to `true` in Local Mode. - -| `clientIdExpression` -| Optional -| `#[vars.claimSet.client_id]` -| - -|=== - -// ==== Resource Configuration Example - -// ---- -// - policyRef: -// name: jwt-validation-flex -// config: -// ---- - -=== Flex Gateway Connected Mode - -==== Configuring the Parameters - -When you use the UI to apply the policy to your API, you can configure the following parameters: - -[%header%autowidth.spread,cols="20,50,30"] -|=== -| Element | Description | Example -| JWT Origin | Specifies from where in the request the JWT will be extracted: -* HTTP Bearer Authentication Header -* Custom Expression - -If you set this field to `HTTP Bearer Authentication Header`, the JWT is expected as Bearer. + -If you set this field to `Custom Expression`, provide a DataWeave expression that returns the token. -| -| Token Expression | If you set the JWT Origin to `Custom Expression`, type the DataWeave expression returning the JWT here. -| `#[attributes.headers['jwt']]` + -This expression searches the JWT in the header named `jwt`. - -| JWT Signing Method -| Specify the signing method expected in the incoming JWT. The policy rejects the token if the JWT has a different signing method. -| RSA, HMAC, ES, None - -| JWT Signing Key Length -| Specify the length of the key (in the case of the HMAC algorithm) or the algorithm (in the case of RSA) used for the signing method. + -Ignore this field if you selected *none* as JWT Signing Method. -| 256, 384, 512. For ES method, Flex Gateway only supports 256 key length. - -| JWT Key Origin -| Specifies where to obtain the key for the Signature validation. + -You can provide the key in the policy by selecting the *Text* option or by obtaining it from a *JWKS*. + -Ignore this field if you selected *none* as JWT Signing Method. -| - -| JWT Key -| This field appears if you selected *Text* as JWT Key Origin. + -Use this field to provide the key used to check the signature of the token. + -Ignore this field if you selected *none* as JWT Signing Method. -| Enter a 32, 48, or 64 character string shared secret for HMAC, a 32 character string shared secret for ES, or the PEM Public Key without the header and footer for RSA. - -| JWKS URL -| This field appears if you selected the *JWKS* method as JWT Key Origin. + -Ignore this field if you selected *none* as JWT Signing Method. -| The URL to the JWKS server. - -| JWKS Caching Time To Live -| The amount of time, in minutes, that the JKWS is valid. When the JKWS expires, the policy retrieves it again. The devault value is 60 minutes. + -Ignore this field if you selected *none* as JWT Signing Method. -| This field input is the amount of time, in minutes, during which the policy considers the JWKS valid. - -| JWKS Service connection timeout (milliseconds) -| Sets the maximum time, in milliseconds, to wait for a response when authenticating the access token validation endpoint. + -The default value is 10 seconds. -| - -| Skip Client ID Validation -| If you check this field, the policy does not verify that the client ID extracted from the JWT matches a valid client application of the API. -| - -| Client ID Expression -| If Skip Client Id Validation is not set, the client ID needs to be extracted from the token. -| By default, the value will be extracted using the expression `#[vars.claimSet.client_id]` as specified in the https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-16#section-4.3[Oauth 2.0 token exchange draft^]. - -| Validate Audience Claim -| Indicates that the policy should check for the validity of the audience claim. You can set this "Mandatory" if you select *Audience Claim Mandatory*. -| - -| Validate Expiration Claim -| Indicates that the policy should check for the validity of the expiration claim. You can set this claim as "Mandatory" by selecting *Expiration Claim Mandatory*. -| - -| Validate Not Before Claim -| Indicates that the policy should check for the validity of the Not Before claim. You can set this claim as "Mandatory" by selecting *Not Before Claim Mandatory* -| - -| Validate Custom Claim -| Enables the usage of custom validations in the policy. The JWT will be valid only if all DataWeave expressions are fulfilled. -| The policy provides a _claimSet_ variable that contains all the claims present in the incoming JWT. For example: - -`foo : #[vars.claimSet.foo == 'fooValue']` - -Note that all DataWeave expressions must return a boolean value or they will always fail. -|=== - -==== Configuring the Parameters for Anypoint Service Mesh (Non-Mule Applications) - -For Anypoint Service Mesh (non-Mule applications), you configure the JWT Validation policy in the same way, excluding the following differences: - -* The policy does not accept DataWeave expressions for claim validations. -* The token retrieving and client ID validation parameters differ, as explained in the following table. - -[%header%autowidth.spread,cols="a,a,a"] -|=== -| Element | Description | Example -| JWT Origin -| Specifies from where in the request to extract the JWT: - -* `jwt Header` to extract the JWT from that header -* `HTTP Bearer Authentication Header` for the JWT to be expected as bearer -* `Custom Header` to obtain the name of the header where the JWT is expected as input -| - -| Token Header -| If you set the *JWT Origin* to `Custom Header`, specify the name of the header containing the JWT. -| `myJwtHeader` - -| Client ID Claim -| If *Skip Client Id Validation* is not set, the client ID is extracted from the token. -| By default, this value is extracted from the `client_id` claim. - -|=== - -== How This Policy Works - -The policy validates claims and signatures differently, as explained in this section. - -=== Validating Signatures - -The policy validates the signature of the JWT based on the values specified in the policy configuration. If the algorithm specified in the policy configuration does not match with the token, or if the signature of the token is invalid, all JWTs are rejected by the policy. If no algorithm is specified, the policy matches every signed and unsigned token. - -The algorithms that support signature verification are: - -* *Symmetric algorithms* - HMAC using SHA-256, SHA-384, and SHA-512. -* *Asymmetric algorithms* - ES and RSA using SHA-256, SHA-384, and SHA-512. -* *None* - No signature validation. - -For more information about the algorithms in a JWS structure, refer to the https://tools.ietf.org/html/rfc7518#section-3.1[JWA RFC standard^]. - -=== Validating Claims - -Claim validations enable you to choose the conditions under which a token received in the policy is rejected. The following registered claim validations are provided by default: - -* *aud*: The Audience validation specifies that a token must be rejected if it does not contain at least one of the values defined. -* *exp*: The Expiration validation specifies that a token must be rejected if its date is past the validation date. -* *nbf*: The Not before validation specifies that the token must be rejected if the validation time is before the time the token has. - -In addition to these _provided claims_, you can also specify other claims to use in your validations. For all claims, _Registered_ or _Custom_, you must provide the following details: - -* The name of the claim you want to validate. + -For example *iss*, for the issuer of the token. -* The value used to test. + -You can provide a simple literal value if you only need to verify it, or you can provide a DataWeave expression for more complex comparisons. - -You can define each claim validation as mandatory or non-mandatory. If a claim is defined as mandatory and is not present in the incoming JWT, the policy rejects this token. If a claim is defined as non-mandatory and is not present in the incoming JWT, the policy does not reject the token for that specific validation. + -For both cases, if a claim is present, the policy validates the token value. If the validation fails, the JWT will be rejected. - -=== Propagating Claims - -After the policy parses and validates the JWT, the claims are propagated to downstream policies and flows through the *claims* property in the authentication object. - -To access the claim values you can use the following Dataweave 2.0 expression by replacing `` with the name of the desired claim to access: - -`#[authentication.properties.claims.]` - -The JWT is also propagated downstream, and you can access it by using the following Dataweave 2.0 expression: - -`#[authentication.properties.jwt]` - -=== Retry Mechanism - -If you selected JSON Web Key Set (JWKS) as JWT Key Origin, the policy uses a retry mechanism to handle failed JWKS fetches. Every time the cached JWKS expires or is absent and a new request is initiated, a request is sent to the JWKS service. If the request fails, a sequence of asynchronous requests with an exponential backoff delay is sent to the JWKS service until a new JWKS is obtained and cached again. - -Until the recaching finishes, the expired JWKS is used to process the request, and a `503` error is returned if no request is found. Using an expired JWKS enables you to apply cached values in upcoming requests, even if the previous requests failed. - -== Obtain a Policy Compatible PEM Public Key - -If you have a preexisting RSA key in an unsupported format that you want to use, first covert the key to a PEM public key. The JWT policy uses public RSA key in PEM format. - -*Task Prerequisite* - -Before you convert your existing key: - -. Obtain the `public.pem` key. -. Before you paste the key to the policy configuration, remove the *-----BEGIN PUBLIC KEY-----* header and the *-----END PUBLIC KEY-----* footer. - -The following table provides instructions for how to convert your existing key based on its current format: - -[%header%autowidth.spread,cols="a,a"] -|=== -| Starting Point | Procedure -| No previous certificate | - -. Generate the private RSA key -`openssl genrsa -out key.pem 2048` - -. Extract the public key from the generated private key *key.pem* -`openssl rsa -in key.pem -outform PEM -pubout -out public.pem` - -. The public key will be in the file public.pem -| PEM Certificate -| . Extract the public key from the PEM certificate `openssl x509 -inform pem -in cert.pem -pubkey -noout > public.pem` -. The public key will be in the file public.pem - -| DER Certificate -| . Extract the public key from the DER certificate `openssl x509 -inform der -in cert.crt -pubkey -noout > public.pem` -. The public key will be in the file public.pem -| x5c field from JWKS -| . Copy the first certificate from the chain and decode it `echo \| base64 -D > cert.crt` (replace `` with the copied value) -. Extract the public key from the DER certificate `openssl x509 -inform der -in cert.crt -pubkey -noout > public.pem` -. The public key will be in the file public.pem -|=== diff --git a/gateway/1.5/modules/ROOT/pages/policies-included-message-logging.adoc b/gateway/1.5/modules/ROOT/pages/policies-included-message-logging.adoc deleted file mode 100644 index 634abe520..000000000 --- a/gateway/1.5/modules/ROOT/pages/policies-included-message-logging.adoc +++ /dev/null @@ -1,283 +0,0 @@ -= Message Logging Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: message logging, api gateway, flex gateway, gateway, policy -// :page-aliases: api-manager::message-logging-policy.adoc, policies::policies-included-message-logging.adoc - -[width="100%", cols="5,15"] -|=== ->s| Policy name | Message Logging ->s|Summary | Logs custom messages using information from incoming requests, responses from the backend, or information from other policies applied to the same API endpoint ->s|Category | Troubleshooting ->s|First Flex Gateway version available | v1.0.0 -.1+>.^s| Returned Status Codes -| No return codes exist for this policy -|=== - -== Summary - -The Message Logging policy logs custom messages using information from incoming requests, responses from the backend, or information from other policies applied to the same API endpoint. - -== Prerequisites - -You must have the Anypoint Platform Organization Administrators role or have permission to create or manage APIs. - -== Configuring Policy Parameters - -=== Flex Gateway Local Mode - -In Local Mode, you apply the Message Logging policy to your API via declarative configuration files. Refer to the following policy definition and table of parameters: - ----- -- policyRef: - name: message-logging-flex - config: - loggingConfiguration: - - itemName: // REQUIRED - itemData: //REQUIRED - message: // REQUIRED - conditional: // OPTIONAL - category: // OPTIONAL - level: // REQUIRED - firstSection: // OPTIONAL - secondSection: // OPTIONAL ----- - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== - -|Parameter | Required or Optional | Default Value | Description - -| `loggingConfiguration` -| Required -| N/A -| Array of configurations - -| `loggingConfiguration.itemName` -| Required -| N/A -| Configuration name - -| `loggingConfiguration.itemData.message` -| Required -| N/A -| DataWeave expression that resolves to the message log - -| `loggingConfiguration.itemData.conditional` -| Optional -| `true` -| DataWeave expression that resolves to whether the message should be logged - -| `loggingConfiguration.itemData.category` -| Optional -| Default category -| Log message prefix that indicates the package and class where the log is executed - -| `loggingConfiguration.itemData.level` -| Required -| N/A -| Defines the level of message to log: `INFO`, `WARN`, `ERROR`, or `DEBUG` + -For more information, see <>. - -| `loggingConfiguration.itemData.firstSection` -| Optional -| `false` -| Boolean that indicates if messages are logged before the API endpoint is called, taking into account the order in which this policy is applied - -| `loggingConfiguration.itemData.secondSection` -| Optional -| `false` -| Boolean that indicates if messages are logged after the API endpoint is called, taking into account the order in which this policy is applied - -|=== - -==== Resource Configuration Example - ----- -- policyRef: - name: message-logging-flex - config: - loggingConfiguration: - - itemName: "Config 1" - itemData: - message: "#[payload]" - conditional: "#[attributes.queryParams['QueryParam']=='someValue']" - level: "ERROR" - firstSection: true - - itemName: "Config 2" - itemData: - message: "#['literal string']" - level: "WARN" - secondSection: true - firstSection: true ----- - -=== Flex Gateway Connected Mode - -When you use the UI to apply the Message Logging policy to your API, you can configure the following parameters: - -image::apim-message-logging-policy-ui.png[Message Logging Policy UI] - -[%header%autowidth.spread] -|=== -|Parameter |Description | Required? -|Message |A DataWeave expression to use for extracting the message to be logged -|Required -|Conditional |A DataWeave Boolean expression used to specify whether a message is to be logged |Optional -|Category |A prefix in the log message that indicates the package and class where the log is executed. |Optional -|Level |The level of message to log: INFO, WARN, ERROR, or DEBUG. + -For more information, see <>.|Required -|Before Calling API |Set to cause your logging policy to log messages before the API endpoint is called, taking into account the order in which this policy is applied |Optional -|After Calling API |Set to cause your logging policy to log messages after the API endpoint is called, taking into account the order in which this policy is applied |Optional -|=== - -==== Example of Message Logging Policy Configured from the UI - -To better understand how to use the Message Logging policy, consider a fictional retail clothier named Les Vetments. To successfully run its e-commerce portal, Les Vetments must audit the status code of the requests made on its website. - -For example, if a customer buys or returns a product, or if the company adds or removes a product from its catalog, the transactions must be logged. The IT manager at Les Vetments applies the Message Logging policy to the company APIs to enable logging and viewing any data or transaction changes without making any modifications to the code. - -To log the attributes of the incoming and outgoing HTTP message, Les Vetments applies the Message Logging policy to the API with the following UI configurations: - -* *Message*: #[attributes] -+ -The attributes in the payload must be logged. -* *Conditional*: Blank -+ -Because Les Vetments requires all attributes, no expression to filter messages is specified. -* *Category*: Blank -+ -No prefix is required in the log sentence. -* *Level*: Info -+ -All types of messages are to be logged. The Info log level also includes Warn, Error, or Debug log messages. -* *Before Calling API*: Checked -+ -All transactions that occur before the API is called are to be logged. -* *After calling API*: Checked -+ -All transactions that occur after the API is called are to be logged. - -Following this configuration, whenever customers access the Les Vetments catalogue or add or remove items from their carts, or when an item is added or removed from the Les Vetments catalog, logs are generated: - -[source,text,linenums] ----- -********************************************************************** -* Policy: message-logging-1351146-proxy * -* OS encoding: UTF-8, Mule encoding: UTF-8 * -* * -********************************************************************** -21:56:50.147 11/30/2020 Worker-0 [MuleRuntime].uber.06: [message-logging-771181-proxy].771181-message-logging.CPU_LITE @71625864 INFO -event:184152a0-3370-11eb-b732-0a8c1820c088 org.mule.extension.http.api.HttpRequestAttributes -{ - Request path=/proxy/1 - Raw request path=/proxy/1 - Method=GET - Listener path=/proxy/* - Local Address=/172.25.159.101:8081 - Query String= - Relative Path=/proxy/1 - Masked Request Path=/1 - Remote Address=/18.191.37.179:21836 - Request Uri=/proxy/1 - Raw request Uri=/proxy/1 - Scheme=http - Version=HTTP/1.1 - Headers=[ - host=logging-policy.us-e2.cloudhub.io - x-real-ip=204.14.236.154 - accept=*/* - user-agent=curl/7.54.0 - x-forwarded-for=204.14.236.154 - x-forwarded-port=80 - x-forwarded-proto=http - x-sigsci-agentresponse=200 - x-sigsci-mac=7caf3820a5c07d06ef827f1565678167 - ] - Query Parameters=[] - URI Parameters=[] -} -21:56:50.254 11/30/2020 Worker-0 [MuleRuntime].uber.07: [logging-policy].proxy.CPU_LITE @f0ce617 INFO -event:184152a0-3370-11eb-b732-0a8c1820c088 org.mule.extension.http.api.HttpResponseAttributes -{ - Status Code=200 - Reason Phrase=OK - Headers=[ - date=Tue, 01 Dec 2020 00:56:50 GMT - content-type=application/json; charset=utf-8 - set-cookie=__cfduid=d8afa23a4627ebef39cbc54fea223cb231606784210; expires=Thu, 31-Dec-20 00:56:50 GMT; path=/; domain=.typicode.com; HttpOnly; SameSite=Lax - x-powered-by=Express - x-ratelimit-limit=1000 - x-ratelimit-remaining=999 - x-ratelimit-reset=1606784265 - vary=Origin, Accept-Encoding - access-control-allow-credentials=true - cache-control=max-age=43200 - pragma=no-cache - expires=-1 - x-content-type-options=nosniff - etag=W/"53-hfEnumeNh6YirfjyjaujcOPPT+s" - via=1.1 vegur - cf-cache-status=MISS - accept-ranges=bytes - cf-request-id=06bd666d0a0000386b7a1fc000000001 - expect-ct=max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - report-to={"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report?s=qUAIXoQ7qqqvFzjcwGrmK2r2PcSfDZ75jFJd0Gi0BLBUMHAcnC9wJ9I%2FEHJtk%2Bra%2FXWqkA%2F5%2FlzoWoC6YS2Lew%2BqKgjhaphHqx5WrZ0CKHMalhcM9it%2Fks0qzQGwbsRzQg%3D%3D"}],"group":"cf-nel","max_age":604800} - nel={"report_to":"cf-nel","max_age":604800} - cf-ray=5fa8d9c1a8c6386b-IAD - ] -} -12:18:31.770 11/18/2020 Worker-0 agw-policy-set-deployment.01 INFO -Applied policy message-logging-1351146 version 1.0.0 to API testLoggingNew-v1-v1:16481163 (16481163) in application messagelog ----- - -To log headers, Les Vetments uses the following code snippet in the *Message* field: - -`#[attributes.headers]` - -To customize the log messages based on the event and the action performed, Les Vetments uses the following code snippet in the *Message* field: - -`#['User ' ++ authentication.clientId ++ ' performed action ' ++ attributes.method ++ ' on ' ++ attributes.requestPath ++ ' with Payload: ' ++ payload]` - -== How This Policy Works - -Logging a policy consists of the following sequence: - -. A request is sent to the API. -. The message is logged if the following conditions are true: -** The level and category of the log defined in the policy are included in the logger defined in the configuration file. -** Either the conditional field of the policy was not set, or was set and the condition was met. -. The API response is returned. Message Logging Policy does not interfere with the execution of any policy nor its flow. -. The message appears in the application log. - -== About the Logging Format - -A message log uses the following format: - -` [flex-gateway-envoy][] wasm log .default..default.svc main: [req: ] [accessLog] ` - -* `policy-name`: displays the name of the policy binding: - -* `api-name`: displays the name of the api instance: - -* `request uuid`: displays a unique identifier for the request that triggered the message. - -== Logging States During Events - -Message logging occurs at specific intervals during a request flow: - -* Before logging an API flow: -+ -image::apim-message-logging-policy-states-1.png[State before logging an API flow] -* After logging an API flow: -+ -image::apim-message-logging-policy-states-2.png[State after logging an API flow] -* Error handler after API flow: -+ -image::apim-message-logging-policy-states-3.png[State after the error handler executes] - - -// Severity Level Table -include::partial$logging-severity-level.adoc[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/policies-included-oauth-token-introspection.adoc b/gateway/1.5/modules/ROOT/pages/policies-included-oauth-token-introspection.adoc deleted file mode 100644 index 050c57877..000000000 --- a/gateway/1.5/modules/ROOT/pages/policies-included-oauth-token-introspection.adoc +++ /dev/null @@ -1,122 +0,0 @@ -= OAuth 2.0 Token Introspection Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:keywords: oauth, token, validation, introspection, policy -// :page-aliases: policies::policies-included-oauth-token-introspection.adoc - -[width="100%", cols="5,15"] -|=== ->s| Policy Name | OAuth 2.0 Token Introspection Policy ->s|Summary | Allows access only to authorized client applications ->s|Category | Security ->s| First Flex Gateway version available | v1.3.0 -.4+>.^s| Returned Status Codes -|400 - Invalid token -|401 - Unauthorized access or error when connecting to the authorization server -|403 - Forbidden, invalid client application credentials -|500 - Bad response from authorization server, or WSDL SOAP fault error -|=== - -== Summary - -The OAuth 2.0 Token Introspection policy enables you to configure OAuth 2.0 using any third-party Identify Provider (IdP), such as Okta, AWS, Azure or Google Cloud Platform. The policy allows for tokens based on the OAuth 2.0 Authorization Framework to be authorized without having to register an external IdP server in the Anypoint Platform. - -The policy validates the token sent by the client to the protected API, and allows access to the backend server only if the introspection endpoint authorizes the token. - -== Configuring Policy Parameters - -=== Flex Gateway - -To apply OAuth 2.0 token introspection when using Flex Gateway as your runtime, you must manually configure the policy in a YAML configuration file. Refer to the following policy definition and table of parameters: - ----- -- policyRef: - name: oauth2-token-introspection-flex - config: - introspectionURL: // REQUIRED - authorizationValue: // REQUIRED - validatedTokenTTL: // OPTIONAL - authenticationTimeout: // OPTIONAL - skipClientIdValidation: // REQUIRED - consumerBy: // REQUIRED - exposeHeaders: // OPTIONAL - scopes: // OPTIONAL - scopeValidationCriteria: // OPTIONAL - maxCacheEntries: // OPTIONAL ----- - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== -|Parameter | Required or Optional | Default Value | Description - -| `introspectionURL` -| Required -| -| The third-party token introspection URL - -| `authorizationValue` -| Required -| -| The method to request authorization from the authentication service. Specify either a Basic Auth string with `client_id` and `client_secret`, or a Bearer Token. - -| `validatedTokenTTL` -| Optional -| 600 -| The caching limit for the validated token - -| `authenticationTimeout` -| Optional -| 10000 -| The timeout when sending data to the authentication service - -| `skipClientIdValidation` -| Required -| false -| Enables/disables client ID enforcement support - -| `consumerBy` -| Required -| -| Associate an identity provider's `username` or `client_id` response with a registered platform's `client_id`. Required if `skip_client_id_validation`is `true`. - -| `exposeHeaders` -| Optional -| false -| - -| `scopes` -| Optional -| "" -| A space-delimited list - -| `scopeValidationCriteria` -| Optional -| "AND" -| The criteria to apply to the `scopes` values. Valid parameter values are "AND" or "OR". - -| `maxCacheEntries` -| Optional -| 1000 -| - -|=== - -==== Resource Configuration Example - -[source,yaml] ----- -- policyRef: - name: oauth2-token-introspection-flex - config: - introspectionURL: https://my-introspection.com/introspect - authorizationValue: Basic am9obkBleGFtcGxlLmNvbTphYmMxMjM= - validatedTokenTTL: 600 - authenticationTimeout: 10000 - skipClientIdValidation: false - consumerBy: "client_id" - exposeHeaders: true - scopes: "profile email shopping" - scopeValidationCriteria: "AND" - maxCacheEntries: 1000 ----- diff --git a/gateway/1.5/modules/ROOT/pages/policies-included-openid-token-enforcement.adoc b/gateway/1.5/modules/ROOT/pages/policies-included-openid-token-enforcement.adoc deleted file mode 100644 index 99303d599..000000000 --- a/gateway/1.5/modules/ROOT/pages/policies-included-openid-token-enforcement.adoc +++ /dev/null @@ -1,278 +0,0 @@ -= OpenID Connect OAuth 2.0 Token Enforcement Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: open, id, oauth 2.0, token, enforcement, api gateway, flex gateway, gateway, policy -// :page-aliases: api-manager::policy-openid-connect.adoc, policies::policies-included-openid-token-enforcement.adoc - -[width="100%", cols="5,15"] -|=== ->s| Policy Name | OpenID Connect OAuth 2.0 Token Enforcement ->s|Summary | Allows access only to authorized client applications ->s|Category | Security ->s| First Flex Gateway version available | v1.0.0 -.4+>.^s| Returned Status Codes -|400 - Invalid token -|401 - Unauthorized access or error when connecting to the authorization server -|403 - Forbidden, invalid client application credentials -|500 - Bad response from authorization server -|=== - -== Summary - -The OpenID Connect Access Token Enforcement policy restricts access to a protected resource to only those HTTP requests that provide a valid Oauth2 token belonging to a client application with API access. The policy does not generate tokens but only validates them. - -This policy is available only to an organization that is configured to use the OpenID Connect dynamic client registration as a xref:access-management::configure-client-management-openid-task.adoc[client-management solution]. - -== Configuring Policy Parameters - -=== Flex Gateway Local Mode - -In Local Mode, you apply the OpenID Connect Access Token Enforcement policy to your API via declarative configuration files. Refer to the following policy definition and table of parameters: - ----- -- policyRef: - name: openidconnect-access-token-enforcement-flex - config: - authenticationTimeout: // OPTIONAL, default: 10000 - scopes: // OPTIONAL, default: "" - secureTrustStore: // OPTIONAL, default: false - scopeValidationCriteria: // OPTIONAL, default: "AND" - exposeHeaders: // OPTIONAL, default: false - skipClientIdValidation: // OPTIONAL, default: true - maxFederationExpirationTime: // OPTIONAL, default: -1 - maxCacheSize: // OPTIONAL, default: 1000 ----- - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== - -|Parameter | Required or Optional | Default Value | Description - -| `authenticationTimeout` -| Optional -| 10000 -| - -| `scopes` -| Optional -| An empty string -| A space-separated list of supported scopes: `read` `write` - -| `secureTrustStore` -| Optional -| `false` -| - -| `scopeValidationCriteria` -| Optional -| "AND" -| Determines if the token must contain all defined scopes or just one - -| `exposeHeaders` -| Optional -| `false` -| In a proxy scenario, this specifies whether headers must be exposed in the request to the backend. User properties returned by the federation server are prefixed with 'X-AGW-' and sent as headers to the backend. - -See <> for more information about this parameter. - -| `skipClientIdValidation` -| Optional -| `true` -| Skips the client application's API contract validation. If `true`, Step 4 of the diagram in the <> section is skipped. - -| `maxFederationExpirationTime` -| Optional -| -1 -| Max Expiration time in seconds. - -See <> for more information about this parameter. - -| `maxCacheSize` -| Optional -| 1000 -| Amount of tokens to be cached. - -See <> for more information about this parameter. - -|=== - -==== Resource Configuration Example - ----- -- policyRef: - name: openidconnect-access-token-enforcement-flex - config: - authenticationTimeout: 10000 - scopes: read write - secureTrustStore: false - scopeValidationCriteria: OR - exposeHeaders: true - skipClientIdValidation: false ----- - -=== Flex Gateway Connected Mode - -When you apply the policy to your API from the UI, a list of parameters is displayed: - -==== Configuring Parameters for Flex Gateway - -The following parameters are displayed: - -[%header%autowidth.spread,cols="30,40,30"] -|=== -| Element | Description | Example -| Scopes | Displays a space-separated list of supported scopes. | READ, WRITE, READ and WRITE -| Scope Validation Criteria | Determines if the token must contain all defined scopes or just one. -The values are `Contains all scopes` and `Contains any scope`. | -If the 'Contains all scopes' value is selected, the tokens with the scopes `READ` and `WRITE` are accepted. If the 'Contains any scopes' value is selected, the tokens with the scopes `READ, WRITE, and READ AND WRITE` are accepted. -| Expose Headers | In a proxy scenario, specifies whether headers must be exposed in the request to the backend. User properties returned by the federation server are prefixed with 'X-AGW-' and sent as headers to the backend. | -| Skip Client Id Validation | Skips the client application's API contract validation. | If selected, Step 4 of the diagram in the <> section is skipped. -| Authentication request timeout | Sets the maximum time, in milliseconds, to wait for a response when authenticating with the Access Token validation endpoint. | `10000` -|=== - -==== Configuring Parameters for Non-Mule Applications (Anypoint Service Mesh) - -For non-Mule applications that are managed by Anypoint Service Mesh, the following parameters are displayed: - -[%header%autowidth.spread,cols="30,40,30"] -|=== -| Element | Description | Example -| Scopes | Displays a space-separated list of supported scopes. | `READ`, `WRITE`, `READ AND WRITE` -| Skip Client Id Validation | Skips the client application's API contract validation. | If selected, the Step 4 of the diagram in the <> section is skipped. -|=== - -[[how-this-policy-works]] -== How This Policy Works - -The following diagram illustrates the OpenID Connect Access Token Enforcement policy workflow: - -image:open-id-policy-workflow.png[OpenID Connect OAuth 2.0 Token Enforcement Workflow] - -As shown in the diagram: - -. The user first sends an HTTP request to the API protected by the policy. -. The policy extracts the token from the request and sends it to the validation endpoint to verify the integrity of the token. -. The token validation endpoint returns token metadata, including the client ID of the client application. -. Using a local database updated with contracts previously obtained from Anypoint Platform, the policy verifies whether the client ID has access to the API. -. If all the validations are successfully completed, the request is allowed to reach the backend. - -[[leveraging-TVE-information]] -=== Leveraging Token Validation Endpoint Information - -When a token validation endpoint successfully validates a token, certain information, such as configurable fields from OpenID Connect, are returned to the policy. - -The following example illustrates the token validation response from the authorization server: - -[source,text,linenums] ----- -{ - "uid":"john.doe", - "mail":"john.doe@example.com" - "token_type":"Bearer", - "exp": 1516239022 - "alias" : ["Jhon", "Jhonny", "Mr Doe"], - "address" : { - "city": "london", - "road": “abbey road" - } -} ----- - -The fields returned by the OAuth provider are processed by the policy, propagated throughout the flow, and finally exposed to the backend if the application requesting the access uses an HTTP requester. - -[[token-caching]] -=== Token Caching in Local Mode - -After the system validates a token, that token is cached (by default), until it expires, thereby improving the performance of the policy. In certain cases, such as in the case of revoked tokens, you might want to minimize or even disable caching. - -The validation endpoint sends multiple properties to the policy, including the expiration time of the token. If the expiration information is not available, tokens are not cached. - -To control the time taken to cache the tokens, before you attempt revalidating against the token validation endpoint, configure the following parameter in your declarative configuration file: - ----- - - policyRef: - name: openidconnect-access-token-enforcement-flex - config: - ... - maxFederationExpirationTime: ----- - -Setting this property caches the token for the specified amount of time or until the tokens expire, whichever occurs first. If you have enabled this property and the validation endpoint does not send the expiration information, tokens are not cached. - -To control the number of tokens that can be cached simultaneously, configure the following parameter in your declarative configuration file. - ----- - - policyRef: - name: openidconnect-access-token-enforcement-flex - config: - ... - maxCacheSize: ----- - -[[token-validation-endpoint-authentication]] -=== Token Validation Endpoint Authentication - -To complete validating the provided token, the policy sends a request to the validation endpoint. The policy then obtains the credentials from the client provider configuration in access management, per the Token Introspection Client section of the OAuth 2.0 Authorization Framework specification. These credentials are sent in the request body, as specified in the https://tools.ietf.org/html/rfc6749#section-2.3[Client Authentication section of the OAuth 2.0 Authorization Framework specification^]. - -Other authentication methods for the token validation endpoint are currently not supported. - -== Configuring the Expose Headers Option - -If you configured the `Expose Headers` option in the policy and if the application (for example, out-of-the-box proxies) uses the HTTP requester, the properties are redirected to the backend as headers. - -For each field, the original request to the protected resource is enriched with the HTTP headers using the format: X-AGW- + =. For the example response from the previous section, the following headers are added: - -[source,text,linenums] ----- -X-AGW-uid=john.doe -X-AGW-mail=john.doe@example.com -X-AGW-token_type=Bearer ----- - -The propagated properties do not include the `scope`, and `exp` objects and arrays. - -For further processing within the flow, the original unparsed response from the validation endpoint is made available. The information is stored in an authentication object. - -For example, if a `mail` field is returned to the policy, you can access the value of the field by using the following DataWeave 2.0 expression: - -`#[authentication.properties.userProperties.mail]` - -You can obtain the client ID of the OAuth2 token by using the following DataWeave 2.0 expression: - -`#[authentication.principal]` - -// == Communicating with the Token Validation Endpoint Using a Proxy -// -// You can enable the OpenID Connect OAuth 2.0 Token Enforcement policy to use the gateway proxy settings by specify the following property when starting the Mule runtime engine: -// -// `anypoint.platform.external_authentication_provider_enable_proxy_settings=` -// -// When you enable this property, the policy uses the Mule proxy settings, if you have specified the following parameters: -// -// * `anypoint.platform.proxy_host=localhost` -// * `anypoint.platform.proxy_port=8080` - -== FAQs - -*The OpenID Connect Access Token Enforcement policy does not appear in the list of policies to apply to the API.* - -If the policy does not appear in the policies list, ensure that you have configured the OpenID client provider in Access Management. For information, see xref:access-management::configure-client-management-openid-task.adoc[Configure OpenID Connect Client Management]. If you are using xref:api-manager::configure-multiple-credential-providers.adoc[multiple IdPs], verify that the OpenID connect client is properly configured in the API. - - -*Can I generate OAuth 2.0 tokens with the policy?* - -No. The policy only validates the tokens. - -*How are the OAuth tokens cached?* - -OAuth 2.0 tokens are cached only in memory and are never written to disk. - -*Can I configure the Rate-Limiting SLA policy after I configure the OpenID Connect Access Token Enforcement policy?* - -Yes, you can. Apply the Rate-Limiting SLA policy after the OpenID Connect Access Token Enforcement policy and provide a `Client ID Expression` value using the following DataWeave 2.0 expression: - -`#[authentication.principal]` - -Because the identity of the requester is already validated by the OpenID Connect Access Token Enforcement policy, you can leave the `Client Secret Expression` field empty. diff --git a/gateway/1.5/modules/ROOT/pages/policies-included-rate-limiting-sla.adoc b/gateway/1.5/modules/ROOT/pages/policies-included-rate-limiting-sla.adoc deleted file mode 100644 index ba58dad36..000000000 --- a/gateway/1.5/modules/ROOT/pages/policies-included-rate-limiting-sla.adoc +++ /dev/null @@ -1,199 +0,0 @@ -= Rate Limiting: SLA-Based Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: rate-limiting sla, api gateway, flex gateway, gateway, policy -// :page-aliases: api-manager::rate-limiting-sla-policy.adoc, api-manager::rate-limiting-and-throttling-sla-based-policies.adoc, api-manager::tutorial-manage-an-api.adoc, policies::policies-included-rate-limiting-sla.adoc - -[%autowidth.spread,cols="a,a"] -|=== ->s| Policy name | Rate-limiting SLA ->s| Summary | Monitors access to an API by defining the maximum number of requests processed within a timespan, based on SLAs ->s| Category | Quality of Service ->s| First Flex Gateway version available | v1.2.0 -.4+>.^s| Returned Status Codes -|401 - Request blocked due to invalid client credentials (client ID or client secret) provided -|429 - Quota exceeded; requests blocked until the current window finishes -|=== - -== Summary - -The Rate-Limiting Service Level Agreement (SLA) policy enables you to control incoming traffic to an API by limiting the number of requests that the API can receive within a given timespan. When the limit is reached before the time expires, the policy rejects all requests, thereby avoiding any additional load on the backend API. - -To apply the Rate-Limiting SLA policy to an API, you must first create a contract between the API and a registered client application. The number of requests that an API can receive within a given time is defined in the xref:api-manager::manage-client-apps-latest-task.adoc[contracts] section in API Manager. - -Each request must be identified by a client ID and an optional client secret (depending on the policy configuration). To review how to obtain the client credentials of a registered client application, see xref:api-manager::access-client-app-id-task.adoc[Obtaining Client Credentials of a Registered Application]. - -[NOTE] -==== -A Rate-Limiting SLA policy applied to a Flex Gateway API is scoped to replicas, not the gateway. -==== - -== Configuring Policy Parameters - -=== Flex Gateway Local Mode - -The Rate-Limiting SLA policy is not supported in Local Mode. - -=== Flex Gateway Connected Mode - -When you apply the policy to your API from the UI, a list of parameters are displayed. - -=== Configuring Policy Parameters - -[%header%autowidth.spread,cols="a,a,a"] -|=== -|Parameter | Description | Example -|Client ID Expression | A DataWeave expression that resolves the Client Application’s ID for a Contract of the API | Only one rate-limiting algorithm is created per ID: -`#[attributes.headers['client_id']]` -This example looks for an HTTP header called ‘client_id’ and uses its value. -|Client Secret Expression | A DataWeave expression that resolves the Client application’s client secret for a contract of the API | -This is an optional value. -Example: `#[attributes.headers['client_secret']]` -|Distributed | When using interconnected runtimes with this flag enabled, quota will be shared among all nodes -| Expose Headers| Defines whether to expose the <> as part of the response | Checked or unchecked -|=== - -==== Distributed Rate Limit SLA Resource Configuration Example - -Distributed Rate-Limiting requires Shared Storage to be enabled. For more information about Shared Storage, refer to xref:flex-conn-shared-storage-config.adoc[Configuring Shared Storage for Flex Gateway in Connected Mode]. - -=== Configuring Policy Parameters for Anypoint Service Mesh (Non-Mule Applications) - -The Rate-Limiting SLA policy works in the same way for Anypoint Service Mesh (non-Mule applications), excluding the following differences: - -* The policy does not offer the option to expose headers -* The client ID and client secret retrieving parameters differ, as explained in the following table. - -[%header%autowidth.spread,cols="a,a,a"] -|=== -| Element | Description | Required -| Credentials Origin -| Origin of the client ID and client secret credentials: - -* `client_id` and `client_secret` headers -* Custom headers -| Yes - -| Client ID Header -| The header name from where to extract the client ID in API requests -| Yes, if you set the credentials origin to *Custom Headers* - -| Client Secret Header -| The header name from where to extract the client secret in API requests -| No -|=== - -== How This Policy Works - -The Rate-Limiting SLA policy monitors the number of requests made in the current window (the available quota), allowing the requests to reach the backend only if the available quota is greater than zero. - -Because each client defines a separate available quota for their window, the client application must define an SLA with the API (a contract). Therefore, to verify whether the request is within the SLA limit, you must define a way to obtain the client ID from the request, and optionally the client Secret. - -After a contract is created between a client application and an API, API gateway automatically manages these contracts by monitoring your API Manager configurations. Additionally, API gateway implements high-availability strategies in case of unexpected downtime in the Anypoint Platform management plane. - -To understand how the Rate-Limiting SLA policy works, consider an example in which the configuration of an SLA of 3 requests every 10 seconds for the client with ID “ID#1” allows or restricts the request, based on the quota available in that window: - -image:rate-limiting-sla-general.png[Rate-Limiting SLA Policy,75%,85%] - -In the example: - -* Requests of client with ID “ID#1”: - -In the first window, because the quota is reached with the third request, all subsequent requests are rejected until the window closes. In the second window, only two of the three requests are processed. Because the time elapses in this window, the remaining quota is unused. - -An accepted request passes through the API to the backend. Conversely, a rejected request displays a `429 status for HTTP` (or 400, or 500 if the API is WSDL) and does not reach the backend. - -* Requests of Client with ID “ID#2”: - -Because the client has no contract defined for the API, every request is rejected , and therefore no request is allowed. - -An API might have several contracts, each with its own SLA. The Rate-Limiting SLA policy independently monitors the quota (and windows) available for each client by creating one rate-limiting algorithm per contract. With the first request to the API, algorithms are created using the _lazy creation_ strategy. - -// == Configuring the Policy -// -// When you configure your Rate-Limiting SLA policy, you must consider certain aspects of your environment to help you derive the most value from the policy. - -// === Choosing Between a Cluster or a Standalone Configuration -// -// If you use only one Client application as an authorization mechanism in your server, the same recommendations as in the Rate-Limiting policy applies to your use case. You might have several Mule instances and you might map different client applications to different servers in the load balancer. -// -// In such a scenario, you do not need to use a Mule cluster. Each standalone node creates a rate-limiting algorithm for the clients they exclusively serve. Conversely, you might want to achieve high availability for your servers and have several client applications configured. -// -// Mule clusters count the SLA quota for each client throughout the cluster and thus are a best fit for this use case. The Rate-Limiting SLA policy is designed to work under both balanced and unbalanced workloads. Because the backend does not receive any extra requests, its maximum capacity is not exceeded. -// -// === Choosing Window Sizes for Cluster Nodes -// -// In a cluster configuration, the nodes must share information across the cluster for consistency. The sharing process adds latency that must be taken into account when reviewing performance. -// -// In a worst case scenario, the number of penalized requests with latency due to cluster consistency is constant and independent from the actual size of the configured quota. Consequently, the smaller the window, the greater the percentage of potentially delayed requests. -// -// Therefore, you must set up window sizes greater than one minute in Rate Limiting and Rate-Limiting SLA policy configurations only for a cluster scenario. -// -// === Choosing Persistence for Your Rate-Limiting SLA Policy (Mule only) -// -// You can configure your Rate-Limiting SLA policy to use windows that persist as long as days, months, and years. For example, suppose you want to allow your user to consume 1 million requests per year, but you cannot ensure that the node will be up the entire period or will need maintenance, which may result in restarting the Mule runtime engine. -// -// The algorithm has been running for several months, so the client will lose critical information. Persistence solves this problem by periodically saving the current policy state. In case of a redeployment or a restart, the algorithms are recreated from the last known persisted state or started from a clean state. -// -// Although persistence is enabled by default, you can turn it off by setting the following property to false: -// -// `throttling.persistence_enabled` -// -// You can also tweak the persistence frequency rate, which has a default of 10 seconds: -// -// `throttling.persistent_data_update_freq` -// -// [NOTE] -// ==== -// Persistence is not available on CloudHub. -// ==== - -== FAQ - -*When does the window start?* - -The window starts with the first request after the policy is successfully applied. - -*What type of window does the algorithm use?* - -It uses a fixed window. - -*What happens when the quota is exhausted?* - -The algorithm is created on demand, when the first request is received. This event fixes the time window. Each request consumes the request quota from the current window until the time expires. - -When the request quota is exhausted, the Rate-Limiting SLA policy rejects the request. When the time window closes, the request quota is reset and a new window of the same fixed size starts. - -*What happens if I define multiple limits within an SLA ?* - -The policy creates one algorithm for each Limit with the request quota per time window configuration. Therefore, when multiple limits are configured, every algorithm must have its own available quota within the current window for the request to be accepted. - -[[response-header]] -*What does each response header mean?* - -Each response header has information about the current state of the request: - -* X-Ratelimit-Remaining: The amount of available quota -* X-Ratelimit-Limit: The maximum available requests per window -* X-Ratelimit-Reset: The remaining time, in milliseconds, until a new window starts - -By default, the X-RateLimit headers are disabled in the response. You can enable these headers by selecting *Expose Headers* when you configure the policy. - -[NOTE] -==== -When on distributed mode, the X-Ratelimit-Remaining header is not perfectly synchronized with all the replicas. With multiple replicas on distributed mode, the X-Ratelimit-Remaining header is an estimation of how much quota the replica has available for itself. It does not represent the actual value of the remaining quota available for the API. - -The following describes a valid scenario: - -* Created a SLA tier name "Titanium" having rate limit of "999999999 req per 10 min" -* Sent 1 request to replica 1 -> x-ratelimit-remaining : 999999998 -* Sent 1 request to replica 2 -> x-ratelimit-remaining : 899999998 - -This does not mean that the quota will be surpassed. -==== - -*When should I use Rate Limiting instead of Rate-Limiting SLA or Spike Control?* - -Use Rate Limiting and Rate-Limiting SLA policies for accountability and to enforce a hard limit to a group (using the identifier in Rate Limiting) or to a client application (using Rate Limiting-SLA). If you want to protect your backend, use the Spike Control policy instead. diff --git a/gateway/1.5/modules/ROOT/pages/policies-included-rate-limiting.adoc b/gateway/1.5/modules/ROOT/pages/policies-included-rate-limiting.adoc deleted file mode 100644 index 367488886..000000000 --- a/gateway/1.5/modules/ROOT/pages/policies-included-rate-limiting.adoc +++ /dev/null @@ -1,299 +0,0 @@ -= Rate Limiting Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: rate limiting, api gateway, flex gateway, gateway, policy -// :page-aliases: api-manager::rate-limiting.adoc, api-manager::rate-limiting-and-throttling.adoc, api-manager::to-configure-provider-multiple-workers.adoc, policies::policies-included-rate-limiting.adoc - -[%autowidth.spread,cols="a,a"] -|=== ->s| Policy name | Rate Limiting ->s| Summary | Monitors access to an API by defining the maximum number of requests processed within a period of time ->s| Category | Quality of Service ->s| First Flex Gateway version available | v1.2.0 -.4+>.^s| Returned Status Codes -|429 - Quota exceeded, requests are blocked until the current window finishes -|=== - -== Summary - -The Rate Limiting policy enables you to control the incoming traffic to an API by limiting the number of requests that the API can receive within a given period of time. After the limit is reached, the policy rejects all requests, thereby avoiding any additional load on the backend API. - -When you configure the Rate Limiting policy, you can specify any number of pairs of quota (number of requests) and time window (time period) values. - -[NOTE] -==== -A Rate Limiting policy applied to a Flex Gateway API is scoped to replicas, not the gateway. -==== - -== Configuring Policy Parameters - -=== Flex Gateway Local Mode - -In Local Mode, you apply the Rate Limiting policy to your API via declarative configuration files. Refer to the following policy definition and table of parameters: - ----- -- policyRef: - name: rate-limiting-flex - config: - rateLimits: // REQUIRED - - maximumRequests: // REQUIRED - timePeriodInMilliseconds: // REQUIRED - keySelector: // OPTIONAL - exposeHeaders: // OPTIONAL, default: false - clusterizable: // OPTIONAL, default: true ----- - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== -|Parameter | Required or Optional | Default Value | Description - -| `rateLimits` -| Required -| N/A -| An map containing one or more rate limit specifications - -| `rateLimits.maximumRequests` -| Required -| N/A -| The quota number available per window - -| `rateLimits.timePeriodInMilliseconds` -| Required -| N/A -| The amount of time (a number) for which the quota is to be applied - -| `keySelector` -| Optional -| N/A -| DataWeave expression selector key string that creates a group with independent counters for each value resolved by the expression. - -For example, `#[attributes.queryParams['identifier']]` creates an independent counter group for requests containing an `identifier` query parameter. - -| `exposeHeaders` -| Optional -| `false` -| The boolean option that defines whether to expose the <> as part of the response - -| `clusterizable` -| Optional -| `true` -| Distributed: When using interconnected runtimes with this flag enabled, quota will be shared among all nodes - -|=== - -==== Resource Configuration Example - -The following example defines a rate limit of three requests every six seconds: - ----- -- policyRef: - name: rate-limiting-flex - config: - rateLimits: - - maximumRequests: 3 - timePeriodInMilliseconds: 6000 - keySelector: "#[attributes.method]" - exposeHeaders: true - clusterizable: false ----- - -//#[attributes.queryParams['identifier']] - -The `#[attributes.method]` DataWeave expression creates one group for each available method in HTTP, for example, the policy rate-limits GET requests independently of POST requests. - -==== Distributed Rate Limit Resource Configuration Example - -Distributed Rate Limit requires Shared Storage to be enabled. For more information about Shared Storage, refer to xref:flex-conn-shared-storage-config.adoc[Configuring Shared Storage for Flex Gateway in Connected Mode]. - ----- - ---- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Configuration -metadata: - name: shared-storage-redis -spec: - sharedStorage: - redis: - address: redis:6379 - user: user - password: pass - DB: 1 - ---- -- policyRef: - name: rate-limiting-flex - config: - rateLimits: - - maximumRequests: 3 - timePeriodInMilliseconds: 6000 - keySelector: "#[attributes.method]" - exposeHeaders: true - clusterizable: true ----- - -=== Flex Gateway Connected Mode - -When you apply the Rate Limiting policy to your API from the UI, you can configure the following parameters: - -[%header%autowidth.spread,cols="a,a,a"] -|=== -|Parameter | Description | Example -|Identifier | The selector key using a DataWeave or regular String | `#[attributes.method]` creates one group for each available method in HTTP, for example, the policy rate-limits GET requests independently from POST requests. -|Number of Reqs | The quota available per window | A positive number -|Time Period | The amount of time for which the quota is to be applied | A positive number -|Time Unit | The time in milliseconds, seconds, minutes, or hours | Minutes -|Distributed | When using interconnected runtimes with this flag enabled, quota will be shared among all nodes. | checked or unchecked -| Expose Headers| The option that defines whether to expose the <> as part of the response | checked or unchecked -|=== - -== How This Policy Works - -The Rate Limiting policy monitors the number of requests made in the current window (the available quota), allowing the requests to reach the backend only if the available quota is greater than zero. - -You can configure the policy for multiple groups of requests by using identifiers in the policy configuration. Each group has a separate available quota for its window. - -To understand how the Rate Limiting policy works, consider an example in which the configuration of 3 requests every 10 seconds allows or restricts incoming requests, based on the quota available in that window: - -image::rate-limiting-generic-example.png[Rate Limiting Policy Example,80%] - -In the first window, because the quota is reached with the third request, all subsequent requests are rejected until the window closes. In the second window, only two of the three requests are processed and the quota remaining is dropped after the window time has elapsed. - -An accepted request passes through the API to the backend. Conversely, a rejected request displays 429 status for HTTP (or either 400 or 500 if the API is WSDL) and does not reach the backend. - -A rejected request on the other hand, displays a “429 status for HTTP, ” (or either 400 or 500 if the API is WSDL) and does not reach the backend. - -== Examples - -Consider the previously described configuration of 3 requests every 10 seconds and how it works when the Rate Limiting policy is configured for clusters and uses identifiers. - -=== Configuring Identifiers by Using Regular Strings - -When you use the UI to add identifiers to the policy configuration, you can define groups of requests. The configured limits apply independently to each group. You can also use the identifier `#[attributes.method]` for one bucket per HTTP method in your Rate Limiting policy configuration. - -//If you can split the universe of possible requests into a finite number of groups, you can assign each group with a selector key (String). One Rate Limit algorithm is created per key. - -An `Identifier` in the UI is a non-obligatory parameter. By default, the `Identifier` has no value. Based on whether you accept the default or provide a value, the policy performs in the following ways: - -* Not configured (default) -+ -The Rate Limiting quota applies to every request per bucket or group. -* Configured for an obligatory HTTP header -+ -Each header has its own quota. Header values are case-sensitive. Quotas are created using the _lazy creation_ strategy. -* Configured for a non-obligatory HTTP header -+ -Custom header, payload, query parameter, or expression values each have their own quotas. -+ -The identifier, if not sent in the request, defaults to an empty value, having its own quota. This behavior allows the Rate Limiting policy to be applied to an API consumed by uncontrolled clients, and at the same time accommodates special buckets for the clients sending the identifier. - -The following example shows the order of events that occur over a period of time using the identifier `#[attributes.method]` for a limit of 3 requests every 10 seconds: - -image::rate-limiting-configure-identifiers-example.png[Rate Limiting Configure Identifiers Example,80%] -In the example: - -* Every HTTP method is allowed 3 requests every 10 seconds (in this example, only GET and POST requests are made to the API). -* The Rate Limiting policy works in a fixed-window fashion. -+ -For more information, see the fixed-window size bracket in the diagram. -* The window start times are independent. -* The engine uses a _lazy creation_ strategy that spools a rate-limiting algorithm whenever the first request for a method is received. - -=== Configuring Identifiers by Using DataWeave Expressions - -The rate-limiting engine, which is HTTP agnostic, depends solely on the resolution of the DataWeave expression. You can alter the `Identifier` expression in the UI to cover complex rate-limiting scenarios. - -For example, you can configure a Rate Limiting policy with an identifier that uses one bucket for all Class A and Class C LAN requests and another bucket for everything else. The following image illustrates the second bucket in the previous sentence, which corresponds to 3 requests per 10 seconds quota with the DataWeave expression `#[attributes.queryParam[‘customIdentifier’]]` as the policy identifier: - -image::rate-limiting-configure-identifiers-dataweave.png[Rate Limiting Configure Identifiers with DataWeave,80%] - -In the example: - -* All requests without the identifier are resolved to the empty identifier and therefore use a single rate-limiting algorithm. -* Each different identifier uses a different bucket, each bucket with its own independent quota. - -This configuration creates a false or a true bucket that corresponds to the locality of the IP that made the request. The `false` and `true` values correspond to the domain of boolean values and not HTTP. - -Nevertheless, the policy works correctly because the engine treats the resolved expression as a String. In this case, the value is automatically cast from Boolean to String. You can explicitly define casting in DataWeave by adding `output text/plain ---` to your script. - -[NOTE] -==== -The HTTP RFC header names are case-insensitive. Anypoint Connector for MuleSoft HTTP changes header names to lowercase characters. However, the DataWeave key is case-sensitive. Therefore, when creating the `Identifier` expression, remember to reference headers in lowercase. -==== - -=== Configuring Unbound Identifier Sets - -Every identifier result has one algorithm. You must carefully create a DataWeave expression that does not return an unbound or a very large co-domain, which requires hosting the same number of algorithms in memory (at least a request for every possible identifier has to be made, because algorithms are created using the _lazy creation_ strategy). - -For example, suppose the DataWeave expression uses the IP address as the identifier in a Flex Gateway instance that is public to the internet. If every public IPv4 IP on the internet makes a request to this instance, there will be 3,706,452,992 algorithms running in a single instance. - -At an average of 250 bytes per algorithm, this amounts to approximately 1 terabyte in rate-limit algorithms. Therefore, use a DataWeave expression that resolves to a finite number of identifier to keep the resulting set as small as possible. - -// == Configuring Your Rate Limiting Policy -// -// When you configure your Rate Limiting policy, you must consider certain aspects of your environment to help you derive the most value from the policy. -// -// === Choosing Between a Cluster or a Standalone Configuration -// -// You might have decentralized processing in your environment, with the following setup: -// -// * You have more than one servers for the same API. -// * Each server has its own backend. -// * The number of requests that can be served is limited only by the backend. -// * You require the fastest response time. -// -// In such a scenario, you do not need to run the policy in a clustered setup. Simply set the policy limits of the policy lower than the backend capacity of the weakest of the nodes. Additionally, a load balancer might be useful in case a node goes down. -// -// Alternatively, you might have centralized processing in your environment, with the following setup: -// -// * You have more than one servers for the same API. -// * You have a single backend to which all of the proxies connect. -// * You have a load balancer in front of the proxies -// -// In such a scenario, you do not need a cluster. However, you must then configure the policy to have a value lower than the maximum capacity of the backend. -// -// If your environment does not include load balancers, use a cluster instead of a standalone instance to be certain that your nodes can manage varying levels of traffic. The Rate Limiting policy is designed to work under both balanced and unbalanced workloads. Because the backend does not receive any extra requests, its maximum capacity is not exceeded. -// -// === Choosing Window Sizes for Cluster Nodes -// -// Configure your environment to use processing windows longer than one minute, to prevent the latency potential caused by information sharing among nodes in a cluster. -// -// This configuration recommendation applies to both Rate Limiting and Rate Limiting-SLA policies in a cluster scenario. - -== FAQ - -*When does the window start?* - -The window starts with the first request after the policy is successfully applied. - -*What type of window does the algorithm use?* - -It uses a fixed window. - -*What happens when the quota is exhausted?* - -The algorithm is created on demand, when the first request is received. This event fixes the time window. Each request consumes the request quota from the current window until the time expires. - -When the request quota is exhausted, the Rate Limiting policy rejects the request. When the time window closes, the request quota is reset and a new window of the same fixed size starts. - -*What happens if I define multiple limits?* - -The policy creates one algorithm for each Limit with the request quota per time window configuration. Therefore, when multiple limits are configured, every algorithm must have its own available quota within the current window for the request to be accepted. - -[[response-header]] -*What does each response header mean?* - -Each response header has information about the current state of the request: - -* X-Ratelimit-Remaining: The amount of available quota -* X-Ratelimit-Limit: The maximum available requests per window -* X-Ratelimit-Reset: The remaining time, in milliseconds, until a new window starts - -By default, the X-RateLimit headers are disabled in the response. You can enable these headers by selecting *Expose Headers* when you configure the policy. - -*When should I use Rate Limiting instead of Rate-Limiting SLA or Spike Control?* - -Use Rate Limiting and *Rate-Limiting SLA* policies for accountability and to enforce a hard limit to a group (using the identifier in Rate Limiting) or to a client application (using *Rate-Limiting SLA*). If you want to protect your backend, use the *Spike Control* policy instead. - diff --git a/gateway/1.5/modules/ROOT/pages/policies-included-schema-validation.adoc b/gateway/1.5/modules/ROOT/pages/policies-included-schema-validation.adoc deleted file mode 100644 index 14a2e156b..000000000 --- a/gateway/1.5/modules/ROOT/pages/policies-included-schema-validation.adoc +++ /dev/null @@ -1,128 +0,0 @@ -= Schema Validation Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: oas3, schema validation, api gateway, flex gateway, gateway, policy -// :page-aliases: policies::policies-included-schema-validation.adoc - -[width="100%", cols="5,15"] -|=== ->s|Policy Name| Schema Validation Policy ->s|Summary| Validates incoming traffic against a supplied API schema ->s|Category| Security ->s|First Flex Gateway version available | v1.4.0 ->s|Returned Status Codes| 400 - The request properties do not comply with the API specifications. -|=== - -== Summary - -NOTE: The Schema Validation Policy currently only supports OpenAPI Specification 3.0 (OAS3) schema validations. - -Applications processing REST API requests are susceptible to attacks such as header injection and payload injection. Additional vulnerabilities can lead to the access of sensitive information. The Schema Validation policy protects against such attacks and vulnerabilities by validating traffic against a supplied API specification. - -There are many ways to upload REST API specifications, but using Exchange is the easiest way. To upload an API specification to Exchange, see xref:exchange::to-create-an-asset.adoc[Create an Exchange Asset]. - -Flex Gateway supports schemas defined in JSON or YAML, contained in a single file. - -The Schema Validation policy validates request headers, queries, or path parameters. - -Requests only include support for JSON format with content type `application/json`. - -You configure the policy to perform one of the following actions: - -* Block the request, and then return the 400 error status code. -* Allow the request, log the error, and then return the status code of the request. - - -You can validate content against: - -* The presence of all required properties. -* The presence or absence of additional properties. -* The types of all properties. -+ -For example, if a schema specifies a property as an integer, the request must include an integer and not another type, such as a string. -* The format of the properties. -+ -For example, if the `pattern` keyword is specified, the policy validates the property as a regular expression. - -== Configuring Policy Parameters - -=== Flex Gateway Local Mode - -In Local Mode, you apply the Schema Validation policy to your API via declarative configuration files. Refer to the following policy definition and table of parameters: - ----- -- policyRef: - name: spec-validation-flex - config: - source: // REQUIRED - spec: // REQUIRED - apiBasePath: // OPTIONAL - blockOperation: // REQUIRED - strictParamsValidation: // OPTIONAL ----- - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== - -|Parameter | Required or Optional | Default Value | Description - -| `source` -| Required -| `context` -| Determines if the schema is specified in this YAML resource, or if it's specified in the API Context from Exchange (Connected Mode only). Supported values: `inline` or `context`. You must specify `inline` when configuring the policy in Local Mode. - -| `spec` -| Required -| `""` -| The actual inline specification. You must provide this when configuring the policy in Local Mode. - -| `apiBasePath` -| Optional -| `"/"` -| The base path of the API. You must provide this value when configuring the policy in Local Mode. - -| `blockOperation` -| Required -| `true` -| If `true`, the policy blocks an invalid spec validation. If `false`, the policy only logs an error. - -| `strictParamsValidation` -| Optional -| `false` -| Determines whether to validate query parameters not defined in specification. - -|=== - -==== Resource Configuration Example - -[source,yaml] ----- -- policyRef: - name: spec-validation-flex - config: - source: "inline" - apiBasePath: "/" - blockOperation: true - strictParamsValidation: false - spec: | - { - "openapi": "3.0.2", - ... - } ----- - -=== Flex Gateway Connected Mode - -When you apply the Schema Validation policy to your API from the UI, the following parameters are displayed: - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== -s|Field s|Description s|Default s|Required -| Block request | Select to block an incoming request that does not conform to the API specification. Selecting not to block only logs the request. Choosing to block invalid requests returns a 400 status when the request is invalid. | Block enabled | No -| Strict query parameters validation | Restricts API calls from query parameters not defined in the API Specification | No | No -| Advanced options | | | | -| Policy version | Version of the applied policy | Latest | Yes -| Rule of application | Configures the runtimes the policy is applied to. Schema Validation is currently only available for Flex Gateway. Applying the policy to all runtimes only applies the policy to Flex Gateway APIs. | All runtimes | Yes -|=== diff --git a/gateway/1.5/modules/ROOT/pages/policies-included-spike-control.adoc b/gateway/1.5/modules/ROOT/pages/policies-included-spike-control.adoc deleted file mode 100644 index 4b5f22421..000000000 --- a/gateway/1.5/modules/ROOT/pages/policies-included-spike-control.adoc +++ /dev/null @@ -1,189 +0,0 @@ -= Spike Control Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: spike control, api gateway, flex gateway, gateway, policy -// :page-aliases: api-manager::spike-control-reference.adoc, policies::policies-included-spike-control.adoc - -[%autowidth.spread,cols="a,a"] -|=== ->s| Policy Name | Spike Control ->s|Summary | Regulates API traffic ->s|Category | Quality of Service ->s| First Flex Gateway version available | v1.0.0 -.4+>.^s| Returned Status Codes | -[%autowidth.spread,cols="a,a"] -| 429 - The number of requests by HTTP APIs exceeded the configured limit. Request rejected after specified number of reattempts. -|=== - -== Summary - -The Spike Control policy regulates your API request traffic by limiting the number of messages processed by an API. The policy ensures that the number of messages processed within a specified time does not exceed the limit that you configure. If the number is exceeded, the request is queued for retry based on you have configured the policy. - -== Configuring Policy Parameters - -The Spike Control policy does not perform quota enforcement. The configuration parameters are restricted to protect the API and backend. Therefore, to ensure maximum performance, configure these parameters to the lowest possible value. - -=== Flex Gateway Local Mode - -In Local Mode, you apply the Spike Control policy to your API via declarative configuration files. Refer to the following policy definition and table of parameters: - ----- -- policyRef: - name: spike-control-flex - config: - maximumRequests: // REQUIRED, default: 1 - timePeriodInMilliseconds: // REQUIRED, default: 1000 - delayTimeInMillis: // REQUIRED, default: 1000 - delayAttempts: // REQUIRED, default: 1 - queuingLimit: // OPTIONAL, default: 0 - exposeHeaders: // OPTIONAL, default: false ----- - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== -|Parameter | Required or Optional | Default Value | Description - -| `maximumRequests` -| Required -| 1 -| Number of allowed requests in the time window - -| `timePeriodInMilliseconds` -| Required -| 1000 -| Time window size - -| `delayTimeInMillis` -| Required -| 1000 -| The amount of time for which each request is retained before retrying, in the event there is no quota remaining - -| `delayAttempts` -| Required -| 1 -| The number of times a request is retried before it is rejected - -| `queuingLimit` -| Optional -| 0 -| The number of requests that can be queued at the any given time - -| `exposeHeaders` -| Optional -| `false` -| Enable it only for internal APIs. Allows the policy to return information about the algorithm behavior in the X-RateLimit headers - -|=== - -==== Resource Configuration Example - ----- -- policyRef: - name: spike-control-flex - config: - queuingLimit: 0 - exposeHeaders: true - delayTimeInMillis: 1000 - timePeriodInMilliseconds: 1000 - delayAttempts: 1 - maximumRequests: 100000 ----- - -=== Flex Gateway Connected Mode - -When you apply the policy to your API from the UI, the following parameters are displayed: - -[%header%autowidth.spread,cols="a,a,a"] -|=== -| Element | Description | Required -| Number of Reqs | The number of requests allowed (in milliseconds) in the specified window | Yes -|Time Period | The number of milliseconds, within which a request must be processed | Yes -| Delay Time in Milliseconds | The amount of time for which each request is retained before retrying (in milliseconds) in case there is no quota remaining | Yes -| Delay Attempts | The number of times a request is retried before it is rejected | Yes -| Queuing Limit | The number of requests that can be queued at the any given time | No -| Expose Headers | Enable it only for internal APIs, allows the policy to return information about the algorithm behavior in the X-RateLimit headers | No -| Method & Resource conditions | The option to add configurations to only a select few or all methods and resources of the API | Yes -|=== - -To enforce request quotas, see the xref:policies-included-rate-limiting-sla.adoc[] and xref:policies-included-rate-limiting.adoc[]. - -== How This Policy Works - -The Spike Control policy uses a _Sliding Window Algorithm_ which reduces spikes in traffic and protects the gateway instance. The window self-adjusts its display size to accommodate results over time. - -If the current window has no remaining request quota, without closing the connection to the client, the Spike Control policy allows requests to be queued for processing later. For your policy to queue the requests, you must configure the policy parameters, as shown in the following example: - -* `Time Period`: 1 second -* `Number of Reqs`: 2 -* `Delay Time in Milliseconds`: 499 milliseconds -* `Delay Attempts`: 1 -* `Queuing Limit`: 5 - -Queuing a request requires retaining a thread and an HTTP connection. When you specify a `Queuing Limit` for the policy, the parameter protects the gateway from running out of resources and ensures that the API does not fail in case of an attack. - -== Request Timelines - -The following diagram illustrates the lifespan of each request accepted by the algorithm, using the configuration defined in the previous section: - -image::spike-control.png[Accepted,Rejected, Queued Requests Timeline] - -. The first two requests are accepted and the available quota is now 0. -+ -The quota increases to 1 after one second (the `window size` value) passes from request #1. -. Request #3 arrives. -+ -Because no quota is available, the request is queued for 499 milliseconds. -. Request #4 arrives. -+ -Because there still is no quota available, the request is queued for 499 milliseconds. -. Shortly before request #3 is retried, request #1 ages a second and its quota is released because it falls out of the window. -. Quota is now 1, and request #3 is reprocessed successfully. -+ -Quota returns to 0 until request #2 ages 1 second. -. Request #4 delay concludes and it must be reprocessed. -+ -Request #4 is rejected. Requests #2 and #3 have not aged a second yet and there is no quota available. Request #4 have no more delays. -. Request #5 arrives. -+ -Because request #2 has already aged more than a second, the request is accepted. - -This example illustrates request delays and how queuing regulates spikes in traffic. In high-contention scenarios, the backend continues to function properly (it serves no more than X requests in the last Y milliseconds). - -Users querying the API might still see their requests being served, but with higher latency. The exact configuration for the policy depends exclusively on your API and its throughput. - -== FAQ - -*When does the sliding window start?* - -The window starts with the first request after the policy is successfully applied. - -*What type of window does the algorithm use?* - -The algorithm uses a sliding window that monitors transactions for the amount of time that you configure in the policy. - -*What happens when the quota is exhausted?* - -When the request quota is exhausted, the Spike Control policy queues the request and retries as configured. The request is rejected if no quota is remaining after several retries. Quota for other requests is available only after the first request exceeds the time limit configured in the policy; in this way, requests are processed in cycles. - -*Can I configure multiple windows?* - -No. The Spike Control policy ensures that the backend server does not serve more requests than it can handle. If you need accountability, use either Rate-Limiting SLA or Rate Limit policies instead. - -[[response-header]] -*What does each response header mean?* - -Each response header has information about the current state of the request: - -* X-Ratelimit-Remaining: The amount of quota currently available -* X-Ratelimit-Limit: The maximum available requests per window -* X-Ratelimit-Reset: The remaining time, in milliseconds, until the oldest request ages enough to fall outside of the sliding window. -+ -If quota is still available, the header is set to 0 (zero) because the algorithm can still serve new requests. - -By default, the X-RateLimit headers are disabled in the response. You can enable these headers by selecting *Expose Headers* when you configure the policy. - -*When should I use Rate Limiting instead of Rate Limiting SLA or Spike Control?* - -Use Rate Limiting and Rate-Limiting SLA policies for accountability and to enforce a hard limit to a group (using the identifier in Rate Limiting) or to a client application (using Rate Limiting-SLA). If you want to protect your backend, use the Spike Control policy instead. \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/policies-included-tls-outbound.adoc b/gateway/1.5/modules/ROOT/pages/policies-included-tls-outbound.adoc deleted file mode 100644 index 0d4403d1f..000000000 --- a/gateway/1.5/modules/ROOT/pages/policies-included-tls-outbound.adoc +++ /dev/null @@ -1,144 +0,0 @@ -= Transport Layer Security Policy - Outbound -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: tls, mtls, transport layer security, outbound tls, api gateway, flex gateway, gateway, policy -// :page-aliases: policies::policies-included-tls-outbound.adoc - -[%autowidth.spread,cols="a,a"] -|=== ->s| Policy Name | Transport Layer Security (TLS) - Outbound ->s|Summary | Enables two-way authentication between the API proxy and an upstream service ->s|Category | Security ->s| First Flex version available | v1.4.0 -.4+>.^s| Returned Status Codes | No return codes exist for this policy. -[%autowidth.spread,cols="a,a"] -| -|=== - -[NOTE] -==== -The following document applies only to Flex Gateway running in Local Mode. To configure TLS in Connected Mode, see xref:flex-conn-tls-config.adoc[]. -==== - -== Summary -Flex Gateway supports outbound Transport Layer Security (TLS) and outbound mutual authentication TLS (mTLS) in Local Mode. - -To apply outbound TLS in Local Mode, use the xref:flex-local-tls-config.adoc[Configuring TLS Context for Flex Gateway in Local Mode] tutorial and refer to the following configuration files in this documentation. - -You can configure an outbound TLS context to enable authentication between an API instance and an upstream service by binding the TLS policy to the upstream service. - -include::partial$task-tls-config.adoc[tags=outboundAllInstances] - -[NOTE] -==== -TLS policies do not support policy ordering. -==== - -[NOTE] -==== -Upstream certificates must include the Subject Alternative Name (SAN) extension. The Common Name (CN) field is deprecated. - -Flex Gateway supports the SAN extension of type `dNSName`. -==== - -== Configuring Policy Parameters - -To enable outbound TLS between an API instance and an upstream service when using Flex Gateway as your runtime, you must manually configure the TLS context -in a YAML configuration file. - -Refer to the following policy definition and table of parameters: - ----- -- policyRef: - name: tls-outbound - config: - skipValidation: // REQUIRED - certificate: // REQUIRED - key: // REQUIRED - crt: // REQUIRED - alpn: // OPTIONAL - minversion: // OPTIONAL - maxversion: // OPTIONAL - ciphers: // OPTIONAL ----- - -Not including optional parameters in your configuration file applies the parameters default values to your TLS context. - -When configuring the `ciphers` parameter, ensure that your API upstream supports the listed ciphers. For the supported ciphers, see <>. - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== -|Parameter | Required or Optional | Default Value | Description - -| `skipValidation` -| Required -| false -| Skipping validation disables outbound mTLS - -| `trustedCA` -| Optional, unless `skipValidation` is false -| N/A -| The client certificate used in mTLS - -| `certificate` -| Required -| N/A -| A TLS certificate key pair. To comply with security standards, all certificates must be 2048 bits or longer. - -| `certificate.key` -| Required -| N/A -| The private key part of the certificate - -| `certificate.crt` -| Required -| N/A -| The public key part of the certificate - -| `alpn` -| Optional -| `h2` and `http/1.1` -| A prioritized list of supported application level protocols; for example, h2, http/1.1, and so forth. - -| `minversion` -| Optional -| `1.2` -| The minimum TLS version allowed - -| `maxversion` -| Optional -| `1.3` -| The maximum TLS version allowed - -| `ciphers` -| Optional -| For the default and other supported ciphers, see <>. -| A list of supported TLS ciphers (IANA format). - -|=== - -=== Resource Configuration Examples - -You can format the YAML file to configure TLS or mTLS for a upstream service. - -// sample config outbound TLS applied to a specific instance -include::partial$task-tls-config.adoc[tags=sample-config-outbound-instance-intro] -// sample config outbound TLS applied to a specific instance -include::partial$task-tls-config.adoc[tags=sample-config-outbound-instance] - -// sample config outbound mTLS applied to a specific instance -include::partial$task-tls-config.adoc[tags=sample-config-mtls-outbound-intro] -// sample config outbound mTLS applied to a specific instance -include::partial$task-tls-config.adoc[tags=sample-config-mtls-outbound] - -include::partial$flex-tls-cipher.adoc[tags=cipherSupportLocal;outboundImportantLocal;local-ciphers] - - - - -== See Also -* xref:flex-conn-tls-config.adoc[] -* xref:flex-local-tls-config.adoc[] -* xref:policies-included-tls.adoc[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/policies-included-tls.adoc b/gateway/1.5/modules/ROOT/pages/policies-included-tls.adoc deleted file mode 100644 index e876d25af..000000000 --- a/gateway/1.5/modules/ROOT/pages/policies-included-tls.adoc +++ /dev/null @@ -1,148 +0,0 @@ -= Transport Layer Security Policy - Inbound -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: tls, mtls, transport layer security, inbound tls, api gateway, flex gateway, gateway, policy -// :page-aliases: policies::policies-included-tls.adoc - -[%autowidth.spread,cols="a,a"] -|=== ->s| Policy Name | Transport Layer Security (TLS) - Inbound ->s|Summary | Enables authentication between a client and the API proxy ->s|Category | Security ->s| First Flex Gateway version available | v1.0.0 (inbound mTLS: v1.3.0) -.4+>.^s| Returned Status Codes | No return codes exist for this policy. -[%autowidth.spread,cols="a,a"] -| -|=== - -[NOTE] -==== -The following document applies only to Flex Gateway running in Local Mode. To configure TLS in Connected Mode, see xref:flex-conn-tls-config.adoc[]. -==== - -== Summary -Flex Gateway supports inbound Transport Layer Security (TLS) and inbound mutual authentication TLS (mTLS) in Local Mode. - -To apply inbound TLS in Local Mode, use the xref:flex-local-tls-config.adoc[Configuring TLS Context for Flex Gateway in Local Mode] tutorial and refer to the following configuration files in this documentation. - -You can configure an inbound TLS context to enable authentication between a client and the API instance (HTTPS) by binding the TLS policy to your API instance or to all instances in your Flex Gateway. - -include::partial$task-tls-config.adoc[tags=port-sharing-inbound] - -[NOTE] -==== -TLS policies do not support policy ordering. -==== - -== Configuring Policy Parameters - -To use HTTPS as your schema -when creating an API instance using Flex Gateway as your runtime, you must manually configure the TLS context -in a YAML configuration file. - -Refer to the following policy definition and table of parameters: - ----- -- policyRef: - name: tls - config: - requireClientCertificate: // OPTIONAL - trustedCA: // OPTIONAL - certificate: // REQUIRED - key: // REQUIRED - crt: // REQUIRED - alpn: // OPTIONAL - minversion: // OPTIONAL - maxversion: // OPTIONAL - ciphers: // OPTIONAL ----- - -Not including optional parameters in your configuration file applies the parameters default values to your TLS context. - -When configuring the `ciphers` parameter, see <> for the supported ciphers. - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== -| Parameter | Required or Optional | Default Value | Description - -| `requireClientCertificate` -| Optional -| false -| Enables/disables inbound mTLS - -| `trustedCA` -| Optional, unless `requireClientCertificate` is true -| N/A -| The client certificate used in mTLS - -| `certificate` -| Required -| N/A -| A TLS certificate key pair. To comply with security standards, all certificates must be 2048 bits or longer. - -| `certificate.key` -| Required -| N/A -| The private key part of the certificate - -| `certificate.crt` -| Required -| N/A -| The public key part of the certificate - -| `alpn` -| Optional -| `h2` and `http/1.1` -| A prioritized list of supported application level protocols; for example, h2, http/1.1, and so forth. - -| `minversion` -| Optional -| `1.2` -| The minimum TLS version allowed - -| `maxversion` -| Optional -| `1.3` -| The maximum TLS version allowed - -| `ciphers` -| Optional -| For the default and other supported ciphers, see <>. -| A list of supported TLS ciphers (IANA format). For the supported ciphers, see <>. - -|=== - -=== Resource Configuration Examples - -You can format the YAML file to configure TLS or mTLS either for a specific API instance or for all API instances running on your Flex Gateway. - -==== Apply TLS Configuration to All API Instances - -// sample config applied to all apis on gateway intro -include::partial$task-tls-config.adoc[tags=sample-config-all-intro] -//sample config applied to all apis on gateway -include::partial$task-tls-config.adoc[tags=sample-config-all] - -==== Apply TLS Configuration to a Specific API Instance - -//sample config applied a specific api intro -include::partial$task-tls-config.adoc[tags=sample-config-instance-intro] -//sample config applied to a specific api -include::partial$task-tls-config.adoc[tags=sample-config-instance] - -==== Apply mTLS Inbound Configuration to a Specific API Instance - -//sample mtls config applied a specific api intro -include::partial$task-tls-config.adoc[tags=sample-config-mtls-intro] -//sample mtls config applied to a specific api -include::partial$task-tls-config.adoc[tags=sample-config-mtls] - -include::partial$flex-tls-cipher.adoc[tags=cipherSupportLocal;local-ciphers] - - -== See Also -* xref:flex-conn-tls-config.adoc[] -* xref:flex-local-tls-config.adoc[] -* xref:policies-included-tls-outbound.adoc[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/policies-included-traffic-management.adoc b/gateway/1.5/modules/ROOT/pages/policies-included-traffic-management.adoc deleted file mode 100644 index 0f6376744..000000000 --- a/gateway/1.5/modules/ROOT/pages/policies-included-traffic-management.adoc +++ /dev/null @@ -1,156 +0,0 @@ -= Traffic Management for Multiple Upstream Services Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: route weight, traffic management, multiple upstream services - -[%autowidth.spread,cols="a,a"] -|=== ->s| Policy Name | Traffic Management for Multiple Upstream Services ->s|Summary | Manages API instance traffic to multiple upstream services from a single consumer endpoint ->s| First Flex Gateway version available | v1.5.0 -.4+>.^s| Returned Status Codes | No return codes exist for this policy. -[%autowidth.spread,cols="a,a"] -| -|=== - -[NOTE] -==== -The following information applies only to Flex Gateway running in Local Mode. To configure multiple upstream services for Flex Gateway running in Connected Mode, see xref:api-manager::create-instance-task-flex.adoc#traffic-management[Multiple Upstream Services for Flex Gateway Running in Connected Mode]. -==== - -== Summary - -Flex Gateway running in Local Mode supports API instances that expose multiple upstream services through a single consumer endpoint. - -Flex Gateway manages request traffic by using different routes that can each direct traffic to multiple upstream services. Flex Gateway directs traffic to the routes by using the route order and the individual route's rules. Additionally, you can add a weighted percentage to each upstream service within a route to manage the percentage of requests sent to the upstream service. - -API instances with multiple upstream services in Local Mode are configured by using `PolicyBinding` YAML configuration resources. Each `route-weighted` resource defines a single route. To add additional routes, add multiple `route-weighted` resources. - -For a tutorial about how to publish an API instance with this policy applied, see xref:flex-local-publish-api-multiple-services.adoc[]. - -NOTE: Deploying APIs with multiple upstream services does not affect the xref:policies-included-tls-outbound.adoc[Outbound Transport Layer Security policy]. You can apply an Outbound TLS policy to each upstream service. - -== Configuring Policy Parameters - -Refer to the following policy definition and table of parameters: - ----- -policyRef: - name: route-weighted -config: - routes: - - weight: // REQUIRED, max_value=100, min_value=1 - destinationPath: // OPTIONAL, default: "/" - destinationRef: - name: // REQUIRED -rules: - - path: // OPTIONAL, Example: (.*) - methods: // OPTIONAL, Example: GET|POST - headers: - : // OPTIONAL - host: // OPTIONAL ----- - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== -| Parameter | Required or Optional | Default Value | Description - -| `routes` -| Required -| Empty -| Array of API upstream services. + -At least one upstream is required. - -| `routes.weight` -| Required -| N/A -| Weight of total requests sent to this upstream service. + - The percentage of traffic sent to that upstream service is the upstream service's weight divided by total weight of all upstream services. - -| `routes.destinationPath` -| Required -| N/A -| Path of the upstream service - -| `routes.destinationRef.name` -| Required -| N/A -| Name of the upstream service as defined in the `Service` configuration resource - -| `rules` -| Optional -| Empty -| Array of rulesets for this route. + -Each route can support multiple rulesets. - -| `rules.path` -| Optional -| Empty -| Request path that the route can service. + -You can define only one “URI Template Regex" path for each ruleset. Only requests with the defined path are sent to this route. - -| `rules.methods` -| Optional -| Empty -| Array that defines the types of request methods that the route can service. + -You can select multiple methods for each ruleset. Only requests that are one of the defined methods are sent to this route. Supported values are `GET`, `POST`, `PUT`, `PATCH`, `DELETE`, `OPTIONS`, `HEAD`, `TRACE`, and `CONNECT`. - -| `rules.headers` -| Optional -| Empty -| Array that defines what headers and regular expression value must be present for this route to service the request. + -Only requests that meet all of the specified header requirements are sent to this route. Additional headers present in the request that are not specifically defined in the rules are ignored. - -| `rules.host` -| Optional -| Empty -| Request host URL that the route can service. + -You can define only one host URL for each ruleset. Only requests made from the defined host are sent to this route. - -|=== - -== How This Policy Works - -The Traffic Management policy directs traffic to different sets of upstream services by using multiple routes with a defined route order and individual rulesets to direct traffic to different sets of upstream services. - -In the following diagram, different routes manage requests to flight information databases and to a customer service application. Route one has two upstream services defined, which directs 70% of requests to a stable database and 30% of requests to a beta database. - -image:multiple-upstreams.png[Flex Gateway manages the traffic to multiple upstream services.] - -To achieve this configuration, bind two `route-weighted` resources to the exposed API instance. One `route-weighted` resource directs traffic to the flight information database, and the other `route-weighted` resource directs traffic to the customer service application. - -=== Upstream Services - -You can use multiple upstream services in a single route to direct requests to similar services. For example, to test the performance of a new beta upstream service without sending all traffic to the new service, you can direct half of the traffic to a stable upstream service and half to the new upstream service. - -The upstream service within the route that each request is sent to is random and independent of any previous request. The `routes.weight` value defines the chance of a request being sent to a particular upstream service. The percentage of traffic sent to that upstream service is the upstream's `routes.weight` divided by the total weight of all upstream services. For example, if there are two upstream services with weight `1`, each receives 50% of the traffic to that route. If the weight values are `1` and `3`, one route would receive 25% of traffic and the other 75%. - -Because any upstream service within a route can receive any request, all upstream services within the same route must adhere to the same API contract. - - -=== Route Rules - -You can direct requests to different routes by using route rules. Requests must meet the rules for only one of the rulesets in the route. - -Rulesets refer to any combination of the four rules: `path`, `method`, `headers`, and `host`. You can use multiple rulesets to support different combinations of rules. - -All rules are optional. If a rule is not included in a ruleset, that rule is ignored. For example, not specifying a host means that the route can service any host if the request meets the other route rules. Not defining any rule means that the route can service every request. - -If a request does not meet the rules for any route, Flex Gateway returns a `404` error code. - -=== Route Order - -In addition to using route rules, you can direct requests to different routes by using policy ordering. - -To order policies, see xref:policies-reorder.adoc[] - -Setting the policy order sets the order in which traffic is directed to the routes. Flex Gateway directs requests to the first route if the request meets one of the route rulesets. Therefore, route ordering is very important when a request can meet the route rules of multiple routes. - -For example, in a configuration in which route one has the `GET` method defined as a rule and route two has no route rules defined, all `GET` requests are sent to route one and all other requests are sent to route two. If the route order was reversed and route one had no route rules, Flex Gateway would direct all requests to route one before any `GET` requests could reach route two. - - -== See Also - -* xref:flex-local-publish-api-multiple-services.adoc[] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/policies-reorder.adoc b/gateway/1.5/modules/ROOT/pages/policies-reorder.adoc deleted file mode 100644 index 2c1a8ec81..000000000 --- a/gateway/1.5/modules/ROOT/pages/policies-reorder.adoc +++ /dev/null @@ -1,38 +0,0 @@ -= Reordering Policies -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -// :page-aliases: api-manager::re-order-policies-task.adoc, policies-included-reorder.adoc, policies::policies-included-reorder.adoc, policies::policies-reorder.adoc - -To execute certain policies before others, you can configure the order of execution of included and custom API-level policies. However, you cannot configure API-level policies to execute before automated policies. - -For Flex Gateway running in Connected Mode, you reorder policies via API Manager. For Flex Gateway running in Local Mode you order policies via a `PolicyBinding` YAML resource. - -IMPORTANT: You cannot configure the execution order of the xref:policies-included-cors.adoc[Cross-Origin Resource Sharing (CORS) policy]. The CORS policy executes before automated and API-level policies. - -== Flex Gateway in Connected Mode - -To reorder policies in Flex Gateway running in Connected Mode: - -. Go to *Anypoint Platform > API Manager*. - -. In *API Administration*, click the name of the API instance whose policies you want to reorder. - -. From the left navigation menu, click *Policies*. - -. From the top of the list of the applied policies, click *Reorder policies*. - -. From the *Reorder Applied Policies* section, use the up and down arrows to rearrange the order of policies. - -. Click *Apply order*. - -== Flex Gateway in Local Mode -In Flex Gateway running in Local Mode, you configure policy ordering via a `PolicyBinding` YAML resource. - -When defining a policy using a `PolicyBinding` YAML resource, edit the `order` parameter to match when you want the policy to execute. Ensure that you do not assign the same order number to different policies. - -For information about Local Mode policy order, see the xref:flex-local-configuration-reference-guide.adoc#policy-binding[Declarative Configuration Reference Guide]. - -== See Also - -* xref:policies-included-directory.adoc[Included Policies Directory] \ No newline at end of file diff --git a/gateway/1.5/modules/ROOT/pages/policies-resource-level-overview.adoc b/gateway/1.5/modules/ROOT/pages/policies-resource-level-overview.adoc deleted file mode 100644 index 29cddcc7a..000000000 --- a/gateway/1.5/modules/ROOT/pages/policies-resource-level-overview.adoc +++ /dev/null @@ -1,64 +0,0 @@ -= Resource-Level Policies -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:keywords: policy, custom, ootb, offline, resource level -// :page-aliases: api-manager::policies-policy-level.adoc, api-manager::resource-level-policies-about.adoc, api-manager::resource-level-policy-reference.adoc, policies::policies-resource-level-overview.adoc - - -Unless otherwise configured, policies are by default applied to the entire API. However, you can implement an additional level of policy granularity, one in which access is controlled based on a criteria. Policies with this granularity are called _resource-level policies_. - -At the resource level of granularity, policies are applied to only those requests that match the criteria. All policies, except the Cross-Origin Resource Sharing (CORS) policy, are resource-level. - -For Flex Gateway running in Connected Mode, you configure resource-level policies in API Manager. - -For information about configuring resource-level policies for Flex Gateway running in Local Mode, refer to xref:flex-local-secure-api-with-auto-policy.adoc[]. - -// In Mule 4, resource-level policies support HTTP-based APIs in addition to RAML APIs. -// You can apply multiple conditions to filter your resources and HTTP methods using the xref:policies-resource-level-config-uri-regex.adoc[URI template regex] to any number of methods in your API. - -// == Usage Scenarios for Implementing Resource-Level Policies -// -// You can use resource-level policies in many ways. Here are just a few: -// -// * Apply policies to specific resources. -// * Secure a subset of an API. -// * Set different limits on resources. - -// If you have a RAML or OAS specification attached to your API, you can use the *Preview Resource Matching* option to determine which resources are affected by your filters: -// -// image::users-api-cropped.png[API Console displays resources and methods,height=329,width=732] -// -// A resource-level policy supports regular Java expressions. For example, you can use a wildcard to apply a policy to multiple resources. When you apply the policy to the API, specify the resources to which it applies: -// -// image::rlp-conditions.png[] - -// == Guidelines for Implementing Resource-Level Policies -// -// When implementing resource-level policies: -// -// * Do not use a placeholder, such as {userid}, in the regular expression. -// + -// Using a placeholder in an expression fails because the placeholder does not match the actual node. In the example placeholder {userid}, the node looks something like this: -// + -// `/api/users/671962fc-f076-4b19-bc38-45ba3a4e4095/permissions/1234` -// + -// 671962fc-f076-4b19-bc38-45ba3a4e4095 is the user ID. -// + -// 1234 is the ID of a permission. -// -// To apply a policy to resource `/api/users/{userid}` that represents a single user and all resource nodes, use the following expression: -// -// The `userid` represents a single user and all resource nodes: -// `/api/users/.*` -// -// To apply a policy to only the permissions resources `/api/users/{userId/permissions}` and `/api/users/{userid}/permissions/{permissionId}`, use the following expression: -// -// `/api/users/.*/permissions.*` - -// == See Also -// -// * xref:policies-resource-level-config-uri-regex.adoc[Configure URI Template Regex] -// * xref:policies-resource-level-disable-outbound.adoc[] - - diff --git a/gateway/1.6/antora.yml b/gateway/1.6/antora.yml deleted file mode 100644 index 32e2bb0c9..000000000 --- a/gateway/1.6/antora.yml +++ /dev/null @@ -1,14 +0,0 @@ -name: gateway -title: 'Flex Gateway' -version: '1.6' -display_version: '1.6' -asciidoc: - attributes: - gateway-ver-var: '1.6.0' - fluentbit-ver-var: v2.0 - fluentbit-url-ver-var: '2.0' - image-owner-lc: mulesoft - gateway-api-max: 600 - supportStatus: eolScheduledVersion -nav: -- modules/ROOT/nav.adoc diff --git a/gateway/1.6/modules/ROOT/_attributes.adoc b/gateway/1.6/modules/ROOT/_attributes.adoc deleted file mode 100644 index cb0860e63..000000000 --- a/gateway/1.6/modules/ROOT/_attributes.adoc +++ /dev/null @@ -1,4 +0,0 @@ -:attachmentsdir: {moduledir}/assets/attachments -:partialsdir: {moduledir}/pages/_partials -:imagesdir: {moduledir}/assets/images -:examplesdir: {moduledir}/examples \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-egress-deployment.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/ad-egress-deployment.graffle deleted file mode 100644 index 7eccb1831..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-egress-deployment.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-external-non-org-mtls.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/ad-external-non-org-mtls.graffle deleted file mode 100644 index 0f51822e1..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-external-non-org-mtls.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-external-org-mtls.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/ad-external-org-mtls.graffle deleted file mode 100644 index f50036515..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-external-org-mtls.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-ingress-controller.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/ad-ingress-controller.graffle deleted file mode 100644 index d90b66b6b..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-ingress-controller.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-ingress-deployment.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/ad-ingress-deployment.graffle deleted file mode 100644 index 4bfd769d7..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-ingress-deployment.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-intergration-use-cases.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/ad-intergration-use-cases.graffle deleted file mode 100644 index 7fc92d0de..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-intergration-use-cases.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-internal-org-mtls.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/ad-internal-org-mtls.graffle deleted file mode 100644 index d9d811c0e..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-internal-org-mtls.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-sidecar-deployment.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/ad-sidecar-deployment.graffle deleted file mode 100644 index 47bee9adf..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-sidecar-deployment.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-standalone-deployment.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/ad-standalone-deployment.graffle deleted file mode 100644 index 7c7e5bfbc..000000000 --- a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-standalone-deployment.graffle +++ /dev/null @@ -1,20194 +0,0 @@ - - - - - !Preview - - data - - /9j/4AAQSkZJRgABAQAASABIAAD/4QBARXhpZgAATU0AKgAAAAgAAYdpAAQA - AAABAAAAGgAAAAAAAqACAAQAAAABAAAIAKADAAQAAAABAAAF0gAAAAD/4g/Q - SUNDX1BST0ZJTEUAAQEAAA/AYXBwbAIQAABtbnRyUkdCIFhZWiAH5wAFABoA - CgABABZhY3NwQVBQTAAAAABBUFBMAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAA - AADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAABFkZXNjAAABUAAAAGJkc2NtAAABtAAABJxjcHJ0AAAGUAAA - ACN3dHB0AAAGdAAAABRyWFlaAAAGiAAAABRnWFlaAAAGnAAAABRiWFlaAAAG - sAAAABRyVFJDAAAGxAAACAxhYXJnAAAO0AAAACB2Y2d0AAAO8AAAADBuZGlu - AAAPIAAAAD5tbW9kAAAPYAAAACh2Y2dwAAAPiAAAADhiVFJDAAAGxAAACAxn - VFJDAAAGxAAACAxhYWJnAAAO0AAAACBhYWdnAAAO0AAAACBkZXNjAAAAAAAA - AAhEaXNwbGF5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - bWx1YwAAAAAAAAAmAAAADGhySFIAAAAUAAAB2GtvS1IAAAAMAAAB7G5iTk8A - AAASAAAB+GlkAAAAAAASAAACCmh1SFUAAAAUAAACHGNzQ1oAAAAWAAACMGRh - REsAAAAcAAACRm5sTkwAAAAWAAACYmZpRkkAAAAQAAACeGl0SVQAAAAYAAAC - iGVzRVMAAAAWAAACoHJvUk8AAAASAAACtmZyQ0EAAAAWAAACyGFyAAAAAAAU - AAAC3nVrVUEAAAAcAAAC8mhlSUwAAAAWAAADDnpoVFcAAAAKAAADJHZpVk4A - AAAOAAADLnNrU0sAAAAWAAADPHpoQ04AAAAKAAADJHJ1UlUAAAAkAAADUmVu - R0IAAAAUAAADdmZyRlIAAAAWAAADim1zAAAAAAASAAADoGhpSU4AAAASAAAD - snRoVEgAAAAMAAADxGNhRVMAAAAYAAAD0GVuQVUAAAAUAAADdmVzWEwAAAAS - AAACtmRlREUAAAAQAAAD6GVuVVMAAAASAAAD+HB0QlIAAAAYAAAECnBsUEwA - AAASAAAEImVsR1IAAAAiAAAENHN2U0UAAAAQAAAEVnRyVFIAAAAUAAAEZnB0 - UFQAAAAWAAAEemphSlAAAAAMAAAEkABMAEMARAAgAHUAIABiAG8AagBpzuy3 - 7AAgAEwAQwBEAEYAYQByAGcAZQAtAEwAQwBEAEwAQwBEACAAVwBhAHIAbgBh - AFMAegDtAG4AZQBzACAATABDAEQAQgBhAHIAZQB2AG4A/QAgAEwAQwBEAEwA - QwBEAC0AZgBhAHIAdgBlAHMAawDmAHIAbQBLAGwAZQB1AHIAZQBuAC0ATABD - AEQAVgDkAHIAaQAtAEwAQwBEAEwAQwBEACAAYQAgAGMAbwBsAG8AcgBpAEwA - QwBEACAAYQAgAGMAbwBsAG8AcgBMAEMARAAgAGMAbwBsAG8AcgBBAEMATAAg - AGMAbwB1AGwAZQB1AHIgDwBMAEMARAAgBkUGRAZIBkYGKQQaBD4EOwRMBD4E - QAQ+BDIEOAQ5ACAATABDAEQgDwBMAEMARAAgBeYF0QXiBdUF4AXZX2mCcgBM - AEMARABMAEMARAAgAE0A4AB1AEYAYQByAGUAYgBuAP0AIABMAEMARAQmBDIE - NQRCBD0EPgQ5ACAEFgQaAC0ENAQ4BEEEPwQ7BDUEOQBDAG8AbABvAHUAcgAg - AEwAQwBEAEwAQwBEACAAYwBvAHUAbABlAHUAcgBXAGEAcgBuAGEAIABMAEMA - RAkwCQIJFwlACSgAIABMAEMARABMAEMARAAgDioONQBMAEMARAAgAGUAbgAg - AGMAbwBsAG8AcgBGAGEAcgBiAC0ATABDAEQAQwBvAGwAbwByACAATABDAEQA - TABDAEQAIABDAG8AbABvAHIAaQBkAG8ASwBvAGwAbwByACAATABDAEQDiAOz - A8cDwQPJA7wDtwAgA78DuAPMA70DtwAgAEwAQwBEAEYA5AByAGcALQBMAEMA - RABSAGUAbgBrAGwAaQAgAEwAQwBEAEwAQwBEACAAYQAgAGMAbwByAGUAczCr - MOkw/ABMAEMARHRleHQAAAAAQ29weXJpZ2h0IEFwcGxlIEluYy4sIDIwMjMA - AFhZWiAAAAAAAADzUQABAAAAARbMWFlaIAAAAAAAAIPfAAA9v////7tYWVog - AAAAAAAASr8AALE3AAAKuVhZWiAAAAAAAAAoOAAAEQsAAMi5Y3VydgAAAAAA - AAQAAAAABQAKAA8AFAAZAB4AIwAoAC0AMgA2ADsAQABFAEoATwBUAFkAXgBj - AGgAbQByAHcAfACBAIYAiwCQAJUAmgCfAKMAqACtALIAtwC8AMEAxgDLANAA - 1QDbAOAA5QDrAPAA9gD7AQEBBwENARMBGQEfASUBKwEyATgBPgFFAUwBUgFZ - AWABZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJAdEB2QHhAekB8gH6AgMC - DAIUAh0CJgIvAjgCQQJLAlQCXQJnAnECegKEAo4CmAKiAqwCtgLBAssC1QLg - AusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOKA5YDogOuA7oDxwPTA+AD - 7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTwBP4FDQUc - BSsFOgVJBVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZqBnsG - jAadBq8GwAbRBuMG9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgf - CDIIRghaCG4IggiWCKoIvgjSCOcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ - +woRCicKPQpUCmoKgQqYCq4KxQrcCvMLCwsiCzkLUQtpC4ALmAuwC8gL4Qv5 - DBIMKgxDDFwMdQyODKcMwAzZDPMNDQ0mDUANWg10DY4NqQ3DDd4N+A4TDi4O - SQ5kDn8Omw62DtIO7g8JDyUPQQ9eD3oPlg+zD88P7BAJECYQQxBhEH4QmxC5 - ENcQ9RETETERTxFtEYwRqhHJEegSBxImEkUSZBKEEqMSwxLjEwMTIxNDE2MT - gxOkE8UT5RQGFCcUSRRqFIsUrRTOFPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZs - Fo8WshbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiKGK8Y1Rj6GSAZRRlrGZEZ - txndGgQaKhpRGncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyjHMwc9R0e - HUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg - 8CEcIUghdSGhIc4h+yInIlUigiKvIt0jCiM4I2YjlCPCI/AkHyRNJHwkqyTa - JQklOCVoJZclxyX3JicmVyaHJrcm6CcYJ0kneierJ9woDSg/KHEooijUKQYp - OClrKZ0p0CoCKjUqaCqbKs8rAis2K2krnSvRLAUsOSxuLKIs1y0MLUEtdi2r - LeEuFi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDbMRIxSjGCMbox8jIqMmMy - mzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbpNyQ3YDec - N9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zstO2s7qjvoPCc8ZTykPOM9 - Ij1hPaE94D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBCckK1 - QvdDOkN9Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI - 10kdSWNJqUnwSjdKfUrESwxLU0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08A - T0lPk0/dUCdQcVC7UQZRUFGbUeZSMVJ8UsdTE1NfU6pT9lRCVI9U21UoVXVV - wlYPVlxWqVb3V0RXklfgWC9YfVjLWRpZaVm4WgdaVlqmWvVbRVuVW+VcNVyG - XNZdJ114XcleGl5sXr1fD19hX7NgBWBXYKpg/GFPYaJh9WJJYpxi8GNDY5dj - 62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg/aJZo7GlDaZpp8WpIap9q92tP - a6dr/2xXbK9tCG1gbbluEm5rbsRvHm94b9FwK3CGcOBxOnGVcfByS3KmcwFz - XXO4dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gReG54zHkqeYl553pGeqV7BHtj - e8J8IXyBfOF9QX2hfgF+Yn7CfyN/hH/lgEeAqIEKgWuBzYIwgpKC9INXg7qE - HYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmIzokziZmJ/opkisqLMIuWi/yMY4zK - jTGNmI3/jmaOzo82j56QBpBukNaRP5GokhGSepLjk02TtpQglIqU9JVflcmW - NJaflwqXdZfgmEyYuJkkmZCZ/JpomtWbQpuvnByciZz3nWSd0p5Anq6fHZ+L - n/qgaaDYoUehtqImopajBqN2o+akVqTHpTilqaYapoum/adup+CoUqjEqTep - qaocqo+rAqt1q+msXKzQrUStuK4trqGvFq+LsACwdbDqsWCx1rJLssKzOLOu - tCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1uy67p7whvJu9Fb2Pvgq+ - hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/yD3IvMk6 - ybnKOMq3yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHTRNPG1EnU - y9VO1dHWVdbY11zX4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A2 - 4L3hROHM4lPi2+Nj4+vkc+T85YTmDeaW5x/nqegy6LzpRunQ6lvq5etw6/vs - hu0R7ZzuKO6070DvzPBY8OXxcvH/8ozzGfOn9DT0wvVQ9d72bfb794r4Gfio - +Tj5x/pX+uf7d/wH/Jj9Kf26/kv+3P9t//9wYXJhAAAAAAADAAAAAmZmAADy - pwAADVkAABPQAAAKW3ZjZ3QAAAAAAAAAAQABAAAAAAAAAAEAAAABAAAAAAAA - AAEAAAABAAAAAAAAAAEAAG5kaW4AAAAAAAAANgAArhQAAFHsAABD1wAAsKQA - ACZmAAAPXAAAUA0AAFQ5AAIzMwACMzMAAjMzAAAAAAAAAABtbW9kAAAAAAAA - BhAAAKBO/WJtYgAAAAAAAAAAAAAAAAAAAAAAAAAAdmNncAAAAAAAAwAAAAJm - ZgADAAAAAmZmAAMAAAACZmYAAAACMzM0AAAAAAIzMzQAAAAAAjMzNAD/wAAR - CAXSCAADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcI - CQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKB - kaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpT - VFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm - p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP0 - 9fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREA - AgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMz - UvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpj - ZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0 - tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9sA - QwACAgICAgIDAgIDBQMDAwUGBQUFBQYIBgYGBgYICggICAgICAoKCgoKCgoK - DAwMDAwMDg4ODg4PDw8PDw8PDw8P/9sAQwECAgIEBAQHBAQHEAsJCxAQEBAQ - EBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ - /90ABACA/9oADAMBAAIRAxEAPwD9/KKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD/9D9/KKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigD/9H9/KKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD/9L90YLjWTqN - 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 - T5dT086xBOJ1MaxMC3YEmnaxqmnz6bPFDOruwGAO/IoAtpda1sXFknQf8tBW - bpc+qKLryLVXzPIWy4GG4yPfHrWums6WEUG5ToKzNK1OwhF35s6rvuJGXPdT - jBoAjuJ9UOqWrvaqJQr7V3jBGOee2Kl1O41VrCdZ7RUQrywkBwPpSXGp2D6t - aTrOpjRZAx7DI4qbVdV06bTp4op1Z2XAA70ASw3OsiGMLZIRtGD5g9KoadPq - iyXhhtVcmZi2XAw2Bx71qwaxpiwxq1yoIUA/lWfpup6fFLeGSdVEkzMue4wO - aAIrqfVDqViz2qrIvm7F3ghsrzk9sCp9QuNWaxnWW0REKNkiQHAx6U271PT3 - 1OwmSdSkXm7j6blwKsalq2nS2FxFHcKzMjAAdyRQAlrc6wLWER2aMoRcHzAM - jHFU7CfVFur0xWqszSDeC4G046e9aNpq+mJaQo9woZUUEehAqlp+p2EV3fPJ - OqrJICp9RigCO9n1RryyaS1VXVm2DeDuOOee1Wr251drOcSWaKhjbJ8wHAxy - cVDfanYSXtjIk6ssbsWPoCKuX2r6bJZXEaXClmjcAepINAEFjc6utlbrFZoy - CNdpMgGRjg4qtZz6oL+9aO1VnYpvXeBt+Xjnvmr9hq2mxWNvHJcKrJGgI9CB - VWy1PT49Qv5XnUJIY9p9cLg0ARahPqjXFmZbVUZZcqA4O446e1Xbm51g28oe - zRVKNk+YOBiq2o6nYS3Fk0c6sI5csR2GKv3Wr6Y9tKi3CksjAD3IoApabcas - thAsNoroEGCZAMj6VDbT6oNTvWS1VpGEe9d4AXA4575q3pmq6dDp9vFLcKrq - gBB7GoLXU7BNUvZmnUJIItp7HA5oAj1KfVGa0861VMTqVw4OW5wPatCW51kx - uGskAwc/vBVTU9T0+Z7MxTq3lzozY7AZya0ZdZ0sxOBcqSQaAM3SrjVU0+BY - LRZIwOGMgBPPpUcM+qDVbh1tVMpRNy7xgDsc1Y0nVNPg06CKWdVdVwQe3NMg - 1PT11a5nadRG6IAexI60ARapPqjpb+faqgE6FcPnLdh+NaZutawf9CT/AL+C - qGranYTpbCKdWKTxscdgM5Nap1nS8H/SUoAx9Hn1RNOhW3tVkjGcMXAJ+Y9q - RJ9U/teVxaqZTEoK7xgDPXNTaLqmn2+mQQzTqjruyD2+Y0kep6eNZlnM6+W0 - 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 - 0fYbv+2RD9tff5G7ftGcbsY/rRpF9dxWQSOyeVdzHcGAHJNH267/ALZE32J9 - /kbdm4ZxuznP6UAGsWV3DYO8t68qgr8pUAcsK0/7Nv8A/oIyf98rWZrF9dy2 - DpLZPEpK/MWBHDD0rT/tK/8A+gdJ/wB9LQBmaTZXctvI0d68QErjAUHJB6/j - RJZXY1eKI3rlzExD7RkDPSjSr27it5FjsnlBkc5DAYJPT8KJL27OrxSmycOI - mATcMkZ60ALrFjdxadNJJevKoxlSoAPzCtEabf4H/Exk/wC+VrO1i+u5dOmj - ksniU4yxYED5hWiNSv8AA/4l0n/fS0AZumWN3Itx5d68e2d1OFByR3/Giaxu - xqltEb1y7I5D7RkY7fjRpl9dxrceXZPJundjhgME9vwomvrs6pbSmycOqOAm - 4ZOe/wCFAD9UsbyLT55JL55FC8qVAB5q5Fp18YkI1CQAgcbV9Kp6pfXkunzx - yWLxqV5YsCBzVyLUb4RIBp8hAA53L6UAUNNsruR7sJevHsnZThR8xGOTRc2N - 2upWUbXrsziTDbRlcDnH1o029u43uylk8m+dmOGHyk44NFzfXbalZSNZOrIJ - MLuGWyOcfSgCbUbC8jsZ3e+eRVQkqVGD7VPbaffNbxMuoSKCikDavHHSoNRv - 7ySxnR7F41ZCCxYYHvU9tqF8tvEq6fIwCKAdy88daAKVhY3b3F4qXroUkwSF - HzHHU0XljdpfWSNeu7Oz7WKjK4Xt9aLC+u0uLxksncvJkgMPlOOhovL67e+s - naydGRn2qWGWyvb6UAWb7T71LK4d793VY2JUqMEAHilstPvXs4HS/kRWjUhQ - owAR0pL7UL17K4R7B0Vo2BYsMAEHmlstQvUs4ESwkdVjUBgwwQB1oAq2Vldv - e3qLeujIy7mCjLZHei+sbtLmzV713LyEAlR8px1FFle3aXt66WTuzsu5Qwyu - B3ovr67e5s2eydCkhIBYfMcdBQBcutPvltpma/kYBGJG0c8dKi0+wvZLGB0v - njVkUhQowOOlS3WoXzW0ytYSKCjAncOOOtRaff3sdjAiWLyKqKAwYYPHWgCC - 1sbttSvo1vXVk8rcwUZbK8Z+lGo2N3HJZh715C8ygEqPlPqKLW+u11K+kWyd - mfytyhhlcLxn60ajfXcklmXsnjKTKQCw+Y+goAvzadfCFydQkICnjavPFVNL - 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 - 12dXSU2ThxCRs3DJG7rmgA1ixu4dNmklvXlUbcqVAB+YVp/2bf8A/QRk/wC+ - VrM1i+u5tNmjlsniU7csWBA+YVp/2lf/APQOk/76WgDM0uxu5Y5zHevGFmcE - BQckd/xomsrsarbxG9cu0bkPtGQB2o0u+u4o5xHZPIGmckhgME9vwomvbs6r - bymycOsbgJuGSD3oAfqtjeRafNJJevKoAypUAHkVdj06+MakahIMgcbVqlqt - 9eS6fNHJZPEpAyxYEDkVdj1G+EagafIcAc7loAz9NsbuQ3fl3rx7J3U4UfMR - jk/Wi4sbtdTs42vXZnEmG2jK4HOPrRpt9dxm78uyeTfO7HDD5SccH6UXF9dt - qdnI1k6sgkwu4ZbI5x9KAJdSsLyOwneS+eRVUkqVGDVi306+aCNhqEigqDja - vHFV9Sv7ySwnSSxeNWUgsWGBVi31G+WCNRp8jAKBncvPFAFLT7K7kmvAl68Z - SUgkKPmOOpou7K7TULGNr12ZzJtYqMrhecfWjT727jmvClk8heUkgMPlOOho - u727fULGRrJ1ZDJtUsMtlecfSgCxf6fepZTu9+7qqMSpUYIx0p9pp969pCy3 - 8iAopACjgY6Uy/1C9eynR7B0VkYFiwwBjrT7TUL1LSFVsJHARQCGHIx1oAqW - Vjdvd3qJeuhR1BIUfNx1NF9Y3aXdkr3ruXcgEqPlOOoosr67S7vXSydy7qSA - w+XjoaL6+u3u7JnsnQo5IBYfMcdBQBbu9PvUtJna/kcKjEgqOQB0plhYXslj - A6X7orIpChRgDHSn3eoXr2kyNYSIGRgSWHAI60ywv72OxgRLB3VUUBgwwRjr - QBXtLK7fUb6Nb11ZDHuYKMtleM/SjULG7jmsw967l5QASo+U46ii0vbtNRvp - FsnZnMe5QwyuF4z9aNQvruSazL2ToUlBALD5jjoKAL0+nXywSMdQkYBTxtXn - iq2m2F5JYQPHfPGrKCFCggVZn1G+aCRTp8igqedy8cVW02/vI7CBI7F5FVQA - wYAGgCK3sbttTu41vXVkWPL7RlsjjP0o1Oyu4zaeZevJvnRRlQNpOfmH0ot7 - 67XU7uRbJ2Z1jym4ZXA4z9aNTvbuQ2nmWTx7J0YZYHcRn5R9aANCTTr4IxOo - SHg/wrVHSbG8l06GSO9eJSDhQoIHJq9JqN8UYHT5Bwf4lqjpN9eRadDHHZPK - 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 - lhYyS3okgRgk7KuVBwMDgUXmn2Kapp8SwIEk83cAowcLkZ+ldeCx9fDz9pQm - 4vydjDEYWnWjy1YprzPljVf2YPD6Ryz6X4pZAgJVJIklY47ZV0/lVKL9lqzk - iSRvGMaFlBINoOMjp/r6+vNS06wj0+4kjt41ZUYghQCDiprPTNPe0gdraMsy - KSSo5JFfTw8Qc3irKv8A+Sx/+RPFlwrgG7+z/F/5nxvB+y/azSzRv4uSMRNt - BNoPmGOo/f0T/sv2sU8ES+LkdZSQWFoMLgZyf3/evrrT7Cxku75XgRgkgCgq - OBjtRfafYpfWCJAiq7uGAUYOF71f/EQ84/5/f+Sx/wDkRf6p5f8A8+/xl/mf - JU37LdnFDJKvjGNyikhRaDJIHT/X96SD9lyzmgjlbxjGjOoYqbQZBI6f6/tX - 2Ffabp6WVw6W0assbkEKMggGm6fpunyWFs728bM0aEkqMkkCj/iIecf8/v8A - yWP/AMiH+qeX/wDPv8Zf5nx1D+y/ay3E8LeLkRYioDG0GHyM8fv+1Fx+y/aw - yQoni5JBK20kWg+Uep/f19d2NhZPqN/G8CFY2j2gqMDK84o1Kwso7mxWOBFD - y4YBRyMdDR/xEPOP+f3/AJLH/wCRD/VPL/8An3+Mv8z5Ll/Zaso43dfGUbFQ - SALQc47f6+mW37LtpPbxzP4wjjZwCVNoMj2/19fY11pmnrbTMttGCEYg7R6V - X0vTrCXTreSS3jZmQEkqCTR/xEPOP+f3/ksf/kQ/1Ty//n3+Mv8AM+Pov2X7 - WS6ngbxcirFtw5tBhtwycfv+1Fz+y/awGEJ4uSTzHCHFoPlB/iP789K+urSw - sW1W+iaBCiCLaCowMqc4o1TT7GJ7IRwIu+4RWwoGQc8Gj/iIecf8/v8AyWP/ - AMiH+qeX/wDPv8Zf5nya/wCyzZKjMPGUZIBOPsg5/wDJioLT9l60uLdJpPF8 - cTOMlTaDI/8AI4r7Lm0vThC5FtGCFP8ACPSqOkafYy6bBJLbxuzLySoJPNH/ - ABEPOP8An9/5LH/5EP8AVPL/APn3+Mv8z5AT9l+1e7ktz4uRUjVSH+yDDZ7f - 6/tRdfsv2tuIzH4uSXe6ocWg+UH+L/XnpX13BYWTaxdQmBCiohC7RgE0avYW - USWxigRd1xGpwoGQc5FH/EQ84/5/f+Sx/wDkQ/1Ty/8A59/jL/M+Tj+yxY/9 - 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 - c980usHWf7Om+1CDyuN2zdu+8OmeOtI+sWB1eK5DN5axMpO1upPpil1jWLC6 - 06aCF2LtjGVYdGB7igDSB8Q4HFr/AOP1maWdZ2XH2YQY8992/d97vjHb0rSG - v6ZgfO3/AHw3+FZul6xYW6XAlcjfO7jCseD06CgAm/tn+1bbeIPO2Ptxu247 - 571Jqp1r+z5/tIt/K2/Ns37sZ7Z4qObWLB9VtrhXPlojgna3U9OMU/VdZ0+4 - 0+eGJ2LuMDKsO/uKALsR1/yk2i2xtGM784xWfpp1nfd/ZxBnz237t33uM4x2 - q/Fr2mLEil2yAB9xvT6VQ03WLCB7syOR5s7OvyseDj2oALk6z/adl5gg83Em - zG7b05z3+mKn1E659hn88W/l7Du27849s1Bc6xYSalZTqzbIhJuO1v4hgVNq - Ot6fPYzwxuxZ0IHyMOfyoAntjr32eLyxbbdi4zvzjHGapWB1n7ReeSIN3mfP - u3Y3Y7Y7fWrttrumx28SM7ZVFB+RuoH0qlYaxYQ3F48jMBLJuX5WPGPpQAXh - 1n7fY+aIPM3Ps27tv3ed34dMVZvjrv2K484W3l+W27bvzjHOM96rXmsWEt/Z - TI5KxFy3yt3XA7VZvtc06ayuIo3Ys8bKPkYckfSgBbI679jg8oW2zy127t+c - Y4zjvVWyOs/bb3yhB5m5d+7djOONuP61as9c06Kzgid2DJGoPyN1A+lVbLWL - CK9vZXdgsrKV+Vuwx6UAF8dZ+02fnCDf5h2bd2M4757fSrl0de+zTeYLbZsb - ON+cY5xVO+1iwmubOSNmKxSEt8rDjH0q5da7psltNGjtuZGA+RupH0oAi086 - 59hg8gW/l7F27t+cY4zioLU6z/aV95Yg83915md237vG3v065qfT9b0+Cxgh - kdgyIoPyMeQPpUFrrFhHqV9O7nZN5W35W/hXB4xQAaidZ8yz88QZ85dm3d97 - tnPar8x1/wAmTeLbbtOcb84xVDUdYsJ5LNo2YiKZWb5WHA/Cr82vaa8Miq7Z - KkD5G9PpQBV0w639gg+zi38vb8u7fux744qKA6z/AGpdbBB521N+d23GOMd/ - rUmma1p9vYQQyuwdFwflY/yFRwaxYJql1cM7bJFQKdrdhzxigA1M6zi1+0CD - /Xx7du77/OM57etaTnxBsbItcYP9+s3U9YsLgWvlMx8ueN2+Vh8oznqK0X1/ - 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 - R9mfCH9qU6mbTwt43igtrs4jhvc+XDIegEo6Ix/vD5fZe/1naz6p/aV48duj - SMI9w38DjjB75r8Ta+/f2WvjAL4T+B/FV0WuoYlNjNISTJFEMGInuUHK/wCy - CP4efo8lzqU5KjWevR/ofX8OcRyqSWHxDu3s/wBGfW2pTaqzWnnWyIROpXD5 - y3OAa0JbjW/LfdaRgYOf3lU9T1XT5mszFOreXOjN14UZyelaEutaW0TqLhSS - D6/4V9WfdGdpU+rLp8CwWyPGBwS+CefSvJ/iO9w+pQNdII5Np4ByO3evXNJ1 - bToNOghmnVXVcEHPHP0ryT4k3EN1qcE1u4dChGR7YoKiN8CtOsVz5SBh59se - Tj5hv2j8ea9oNxrmD/okf/fyvGfAk8UUVyJGCn7RbN/wFd+T+Ga9rOt6Vg/6 - Sv6/4UCZk6PNqqadCtvbI8Yzhi+CfmPakSbVf7XlYWyeaYlBXfxtz1zUmjar - p9vpsMM06o67sg54+Yn0oj1XTxrEtwZ18toVUNz1B6UCI9Vm1VrdBcWyIvmJ - gh8854Faf2jXP+fSP/v5VDV9V0+4t40hnViJUYgZ6A89q1P7b0r/AJ+V/X/C - gDH0ibVVsVFvbI6bmwS+D9454o87Vf7ZL/Zk87yMbd/G3d1z9ak0bVdPt7BI - ppwjhnODnuxNJ/amn/22bnz18r7Ps3c43b84/KgBmrzaq9kRc2yIm5eQ+TnP - Faf2jXP+fSP/AL+Vn6zqmn3FiYoZ1dtyHAz2IrV/tvSv+flf1/woAx9Jm1Vb - Zhb2yOvmPyXxznkUNNqv9ro5t087ySAu/jbu65qTSNV0+3tWSacKxkc4OehP - FD6rp51mO4E6+WISpbnruzjpQBHrE2qvpsy3NskcZ25YPkj5h2+taf2jXP8A - n0j/AO/lUNa1XT7nTJoYJ1d224Az2YH0rU/tvSv+flf1/wAKAMfS5tVWOfyL - ZHBmcnL4w3cUTTaqdVt2a2QSiN9q7+CO/NP0nVNPgjnE06qWmdhnPIPQ9KJt - V09tXt7hZ1MaRuCeeCenagA1WfVm0+Zbi2RIyBkh8kcjtV2O41vy122kZGBj - 95VXV9W06406eGGdWdgMAZ55HtV+PWtKEaA3C5AHr/hQBlabNqqm78i2R8zu - Wy+MNxkCi4m1U6nZs9sglAk2rv4PHOT2xUml6rp8JvPNnVfMuHdevKnGDRc6 - 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 - WZo95fxWCJDZGVQW+YOo/iPY10H9p6d/z9Rf99r/AI1kaHfWUOnJHLPGjBn4 - ZgDyx9aAK32y/wD7ZMv2JvM8jbs3rnbuzuz09qNXvL+WyKTWTRLuU7i6noRx - x61Z+3WX9umbz4/L+zbd24YzvzjOetGt31lLYFIp43behwGBPDD3oAtf2hqf - /QNb/v4tZmk3l/FbMsNk0q+Y5yHUck8jn0roP7T07/n6i/77X/GsjRr6yitG - WWeND5jnBYDgn60AVmvL86ukpsmEghI2b15G7rnpXzPJ99vqa+oXvrI63HMJ - 49ggI3bhjO7pnNfL0n+sb6mgqJ9TQahqYhjA05j8o/5aL6VR0u8v445xFZNK - DM5JDqME9Rz6VtQalpwgjBuovuj+NfT61naPfWUUVwJZ40LTyEZYDIPQ9aCS - tLeX51WCQ2TCRY3ATevIPfPtT9Vvb+TT5klsWiQgZYupxyOwqaa+sjrNvKJ4 - yixuC24YBPvmn6zf2MumTxxXEbswGAHBJ5HbNAEkeoamEUDTmIwOfMWs/Tby - /jN35Vk0m6d2b51G1jjK/hW5HqWnCNQbqLoP41/xrM0q+soze+ZcRrvuZGGW - AyDjBHPSgCtcXl+2p2kjWRV1Em1N6/Nkc89sVLqV7qElhOktg0aFTlt6nH4V - JdX1k2rWUqzxlEWTJDDAyOMnNTarf2MmnXEcdxGzMhAAcEn9aAG29/qSwRqu - nMwCjB8xeeKpafeX6TXhjsmkLyksN6jacdPetm21HT1tola5iBCKCN6+n1rP - 0y+so575pJ41DzErlgMjHUc0AVru8v21Cxd7JkdDJtXep3ZXnntirF/fai9l - OklgyKyMC29TgY64pb2+sn1LT5EnjKoZNxDDAyvGeatajqFhJYXKJcxszRsA - A4JJx9aAK9pf6itpCqaezqEUA+YoyMdaqWV5fpd3rJZM7O6ll3qNpx0961rL - UbBLO3R7mMMsagguMggD3qlYX1kl7fu9xGqu6lSWABGO3NAFa+vL97uyZ7Io - yOSq71O446e1W7u/1FrSZX09kUowJ8xTgY603UL6ye9sHSeNlR2LEMCAMd+a - u3uo2D2dwiXMZZo2AAcZJIPvQBRsL7UUsYEjsGkVUUBt6jIx1xVe0vL9dQvn - SxZncx7l3qNuF4575rS03ULCPT7ZHuI1ZY1BBcAg4+tVrK+sk1PUJGuIwrmL - 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 - TadBLLArOy5JPepprbWRDIWvUI2nI8selVNLt9VbT4Ggu1SMrwpjBx+NAC2+ - mae2rXcLQKURYyo7DI5o1XTNPhFp5UCrvuI1bHdTnIquq38N/eySXscRijRp - JGUBdoBOTngADqa+a/iF+054V0Cb+z9DuD4ku7eQNugUR2yuv/TY53f8AVlP - rXPiMVTpLmqSscmLx1GhHmrSsfVz6NpYRiLZOhrO0bS9PuNNgmmgV3YHJPfk - 1+d+o/te/E66dhYQWNnEeg8ppHx7szYP/fIrCt/2p/i3awrBBdWqonQfZlPv - 3ryZcR4Zd/uPBlxfg09Lv5H6VxaZYHWJoDApjWJSF7Ak0avplhBBE0MCqWlR - Tj0J5Ffmov7U3xbW4a6F1a+Y6hSfsy9B7UXH7U3xbuVVJrq1YKwYf6Mo5HSl - /rJh/P7hf644Tz+7/gn6g/2LpX/PslZOi6ZYXGnRyzQK7ktkn2Yivzb/AOGr - vjB/z+Wn/gKlQW37U3xbtIRBBdWqoucD7Mp6nPej/WTD+f3B/rjhPP7v+Cfp - YNM0/wDtprfyF8sQBtvbO7GaNY0zT4LPzIYFRt6DI9Cea/NP/hqb4ti5N39q - tfNK7M/Zl+7nPSi4/am+Ld1H5U91asuQcfZlHI5HSj/WTD+f3B/rjhPP7v8A - gn6g/wBi6V/z7JWVo+mafPZl5oFdt7jJ9AeK/Nr/AIau+MH/AD+Wn/gKlQW/ - 7U3xbtY/KgurVVyTj7Mp5PJ60f6yYfz+4P8AXHCef3f8E/SttMsBrS2/kL5Z - gLbe2d2M0utaZp9vp0ssMCo4K4I92Ar80z+1N8Wzci7+1Wvmhdmfsy/dznGK - Ln9qb4t3cLQT3VqyNjI+zKOhz2o/1kw/n9wf644Tz+7/AIJ+oP8AYulf8+yV - laTpmnzwzNLArFZnUZ9AeBX5tf8ADV3xg/5/LT/wFSoIP2pvi3bKyw3VqoZi - x/0ZTyetH+smH8/uD/XHCef3f8E/SyXTNPGsQQCBRG0TEr2JBp2saXp8Gmzy - wwKjqBgjtyK/NFv2pvi21wt0bq18xFKg/Zl6H2ouP2p/i3dQtBPdWrI/UfZl - H8qP9ZMP5/cH+uOE8/u/4J+nyaNpZRSbZOgrM0rTLCYXfmwK2y4kVc9lGMCv - zaH7V3xgAAF3acf9OyVDB+1N8W7bzPJurVfNcu3+jKcs3U0f6yYfz+4P9ccJ - 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 - eSBx3pumR6sRdeRNEuJ5A2VJy3GSPaiePVxqlqHmiMpV9pCnAGOc0ATapo2m - 2+nzzQwBXRcg5PH61bh0LSmhjZrcElQTy3p9apanFrAsJzPNE0e35gFIJFW4 - Ytc8mPbPCBtGPlPTFAFLTtI06aS8WWEMI5mVeTwABx1ou9I06PUrGBIQEl83 - cMnnauR3punR6sZLvyZolImbflSctgcj2ouo9XGpWIkmiMh83YQpwPl5z+FA - FnUdF0yGxnligCuiMQcnggfWvmz9o/VbTRfBul6LZIEudZbfKwJz5UIDMMZ/ - idl/IivpHUItZFjOZp4mjCNuAU5Ix2r4d/aVubxvFej2dy6ukWmxugUYx5kj - jn3wor7Tw/wUa2a0lLaN5fctPxsfO8VYh08DPl62X37/AIHznX1f8Afhla3a - Q+N9ehEqPIy2UTj5fk4Mx9cNwvoQT6EfKFfqJ4V0yTSPDehaZDtVYLWJVwO4 - QbifcnJ+tfrHiRnFTDYONKk7Obs35Lf79PkfD8H5fCtiHUmrqP59DqJrK2SG - RlTBCkjk+n1ohsrZ4Y2ZMkqCeT6fWiZLzyZNzqRtOeO2KIUvPJj2uoG0Y47Y - r+fz9VI4bS3aeZGTIQrjk9xRPaW6SQhUwGbB69PzpIluvPm2uoYFc8e1efeL - fiBbaFL9jt2S9vYjyq/cjP8AtH19h+OK3w+GnVlyU1dmGJxVOjDnqOyPSJLK - 1WNmCcgHuf8AGqaf2XFChupI42IBO59v8zXy5q/jbxNrTMLq9eOJv+WcR8tM - emF5P45rlSSTk8k19FR4Zk1787eh8zW4rinanC/q7H2barp9zcTJCySqu3G1 - s4yPY1Nc2luhi2Jjc4B5PQ18Wo7xsHjYqw6EHBFdhpXjzxLpbRj7U11EhB8u - c7xx6E/MPzqa3DM0r05X/AdDiqDdqkLemp9UtY2oUkR9vU/41Da2lvJbo7pk - kc8n/GuO8MeOLXxOhgSRba8AJML9TgclD/EP19q7G1W7NuhjdQuOMivna1Cd - OXJNWZ9PQxEKsVOm7oRLS3N1JGU+VQCBk9/xoubS3jEexMbnUHk9DSIt39pk - Add2Bk44ouVuwI97qfnXGB3rI1LRsbT/AJ5/qf8AGq1paW8lujumWOcnJ9fr - Vgpff89E/Kq1ot2bdDG6hecZHPWgBVtLc3bR7PlCg4yeuaLq0t441KJglgO/ - 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 - t3/6Sy11P7UvhN9A+JT61GhFrr0K3CnHHmxgRyr9eFY/71fpvghjVCpVov7W - 3qrfo2fnefYJzyqNZfZm7+jS/VI9d/ZF8S20Ph3xB4emJ3w3KXSgDORMmw9P - Tyxn6ivb/iJ47h8E/DHU9SidkvVhaG34P+vmJVCD/s53fQGvgb4D+PI/APxB - tL29k8vTtQU2d0SeFSUja5/3HCkn+7mv0n1Dwb4Z8b+HbPTfFFkL+1ifzkjZ - 3VQ43KG+RlzwT19a9rjHBQw2bKvXTdOVpadbbr8PxPsuDcdPE5Q6FBpVIpx1 - 6X2f4/gfFvwp8M/HHw54ejvPBd1YWVrq6rdYuF3ysHA2k5jbAIAIGcc+9J4V - n8WfDv43QHxw8Jk8W8zPbgiF5JJMqwG1fm8xcHj+LPevvGxtoLPUWs7VBFDB - bxxog6Kq8AD2ArnPHPgrwv4qbTb3X7BbqfT5gbdyzo0e8gnBRl7qOvpXF/re - qtSr9YpLlqJpuKXN5a31s7Hb/qg6VOl9XqvmptNXb5fPS2l1c+ZfiV/ZWrft - M+EYtQt1u7N7KNZIpow6sA1ycFGBBHTtX0h4f0LwRo6RXNpolnbXcZJEsVpG - rjnjDKuf1rfvvA/hXUvE1n4xvtPWXWbBBHBcFnDIo3YAUMFP326jvWrof/IN - j+rf+hGvFzLN/a0qNOm2uWPK/N3fn5ntZblHsatapUSfPLmXkrJfoeUfF6/t - 5fAnil03YfSpkGVI561yfwDvIR8FdEtvm3rLcHocf8fMh617nqmlafrtzd6P - qsIuLO8tDFLGSQGRmwRkEH8jVS38OaL4U8OQ6F4etRZ2FvIDHEpZgu9y7csS - eWJPWso5jBYB4Sz5nNS8rJNfeayy6bzBYu65VBx87tp/doYnxJ8XWOjeAPEG - o5dXjsp1TKkDzHQogz7sRX5B198/tcePYrbSbL4e2MgM94y3V2AfuxIf3an/ - AHn+b/gI9a+GtE0i81/WLLQ9PXfc380cEY/2pGCjPsM8+1frvh3gXh8DKvU0 - 53f5L+mfkHiLj1iMfHD09eRW+b/pH6S/s+RRaN8ONA88MGlgmlb5T/y1nd1I - 9tmK9o1XU7W4sZIo924leqkDgg03R9KttCk07RLPiDT7CO3j/wByLCj9BWnr - n/INl+q/+hCvxfMsV7fEVK38zb+9n7VluF9hh6dH+VJfcrB/bVl/t/8AfBry - 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 - jmQxKCnmrwM9c9KNVutRkhiE1j5QEqEHzVbJB4HA7+tAGp/ZM3/P/cf99D/C - svRtOkn0+ORbuaIEt8qsABhj7VqfbtX/AOgZ/wCRk/wrL0a61GPT40gsfOQF - sN5qrn5j2NAANOk/thoPtk2RAG37vm+9jGfSjV9OkhtN7Xk0g3oMMwI5PXpQ - LrUv7YaT7D+98gDZ5q/d3dd3T8KNXutSktNs9j5S70+bzVbnPAwPWgDU/smb - /n/uP++h/hWXpOnSTWhdbyaMb3GFYAcHr0rU+3av/wBAz/yMn+FZek3WpR2h - WCx81d7nd5qrznkYI7UADadJ/bCwfbJsmAtv3Dd97GM46Uaxp0kGnySteTSg - FflZsg5YChrrUf7YWQ2P73yCPL81fu7uu7p+FGsXWpSafIk9j5KErlvNVsfM - OwoA1P7Jm/5/7j/vof4Vl6Vp0k0MrLeTR4lcYVgM4PXp1Nan27V/+gZ/5GT/ - AArL0q61KOGUQ2PmgyuSfNVcEnkc+nrQAS6dINWhh+2TEtGx37huGD0HHSna - vp0sOnTSteTSBQPlZgQeR14pst1qR1aGQ2OJBGwCeavIzyc9Kdq93qUmnTJP - YeUhAy3mq2OR2AoA0E0mYop+33HQfxD/AArN0vTpJRdYvJo9k8i/KwG7GOTx - 1NaSXur7RjTc8D/lsv8AhWbpl1qKC68mx83dcSFv3qrtY4yvPXHrQAXGnSLq - lrCbuZi6udxYblwO3HepdT02WGwnkN5NIFXO1mBB+vFRXF1qJ1S1kax2yKr7 - U81TuBHPPQYqXU7vU3sJ0msPKQry3mq2PwAoAtQ6VK0MbfbpxlQcBhjp9Koa - dp0ksl4BeTJsmZTtYDdwOT71fhvdWEMYXTdwCjB85Rnj6VQ0661JJLwxWPmF - pmLDzVG04HHPX60AF1p0ialYxG8mYyebhiwyuFzxx371PqGmSxWM8hvZ3Cox - 2swweOh4qC6utSbUrF3sdsi+bsTzVO7K8844xU+oXmqPYzrLp/loUYFvNU4G - OuMc0AS2ulyvawuL6ddyKcBhgZHQcVTsdOkkur1BdzJ5cgBIYZbjqeKuWt5q - q2sKpp29QigHzlGRjrjFU7G61FLq9aOx3s0gLDzVG046Z70AF7p0kd7ZIbuZ - zIzAEsMrgduKt3mlyx2c7m9ncLGxwWGDgdDxVS9utRa9smksdjKzbV81TuOO - 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 - MUHVbf8AtkXOyTb5GzGw7s7s9PSjWNVt7mweJEkBLKcshA4YHrQBqeVr3/Pa - D/vlqy9Jj1c28n2eWJV8x87lJOc81qf25a/88pv+/ZrL0nVbe3t5EdJCTK7f - KhPBNAA8er/2vEDLF53lNg7Tt25/nS6xHq406Y3MsTR8ZCqQfvDpSPqtudXi - uNkm1YmXGw5yT6Uusarb3OnTQpHIGbHLIQOGB60AaQi17A/fQf8AfLVmaXHq - 5S4+zyxKPPfduUn5u+PatMa5a4H7ub/v2azNL1W3gS4DpId87sMITwfX3oAJ - o9X/ALVtg8sXmlH2kKdoHfNSarHrA0+c3EsLR7fmCqQevao5tVt21W2nCSbU - RwRsOefQVJqurW8+nzwpHKCy4BZCB19aALkUeu+Um2aDGBj5W9Kz9NTVy935 - EsQInbfuU8txnHtWhFrdqsSKY5uFA/1Z9Kz9N1W3he7LJIfMnZhhCeDjr70A - FzHq41OyEksRlIk2EKcDjnNT6jHrIsZzPLCY9h3BVOce1QXOq276lZThJAsQ - kyChydw7DvU+o6xbTWM8SxyguhAJQgfiaAJraPXDbxFJoQuxcZU5xiqVhHq5 - uLzyZYgwk+fKnBOO1XbbWrVLeJDHLlUUcIccCqVhqtvFcXjskhEkm4YQnHHf - 0oALxNXF/YiWWIyFn2EKcD5ec1Zvo9aFlcGWWEp5bbgFOcY5xVa81W3kv7GV - UkAiZyQUIJyuOB3qzfazbS2VxEscoLxsBlCByO9AC2UetmzgMU0ITy12gqc4 - xxmqtlHq5vb0RSxBwy7yVOCccYq1ZazbR2cEbRykpGoOEJHAqrZarbx3t7Ky - SESspACEkYGOfSgAvk1cXNmJpYixkOzCnAOO9XLqPWxbTGSaErsbOFOcY5qn - farby3Nm6pIBHIScoQTx29auXWtW0ltMgjlBZGHKHHIoAi0+PWjYwGGWER7F - 2gqc4x3qC1j1c6lfCOWISjyt5KnB+XjH4dan0/WLaGxgiaOUlEUHCEjgdjUF - rqtvHqV9MUkKy+VgBCSNq45HagA1FNXEln58sRJmXZtU8N2z7Vfmj1zyZN00 - BXac4VumKoajqtvNJZlUkHlzKxyhGQPT1NX5tbtWhkURy5Kkf6s+lAFXTI9Z - NhAYJYVj2/KGUk496igj1f8AtS6CSxCUKm4lTgjHGKl0zV7eCwgheOUlVwSE - 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 - WLtnOGYdGI6A0iaPYnV5bYq3lrErAbmzkn1zQI1Nc/49Yv8ArtH/ADrZrktV - 0ixt7dHiVgTIinLMeCeeprU/sDTP7jf99t/jQAaB/wAgxP8Aef8A9CNIP+Ri - P/Xr/wCz1maPo9jc2KzSqxYsw4Zh0YjsaP7Isf7ZNrtby/I343Nndux1zmgD - T1//AJBrf76f+hCtquS1jSLG2sjLCrBgyjlmPUgdzWp/YGmf3G/77b/GgA0L - /jzf/rrJ/Oh/+Q/F/wBe7f8AoVZek6RY3Ns0kqsSJHHDMOAeOhofSLEavHbB - W8swlsbmzndjrmgDU8Q/8ge4/wCA/wDoQrZrktZ0ixtdNmnhVg67cZZj1YDo - TWn/AGBpn9xv++2/xoANE/1Nz/18Sfzon/5Dtr/1yeszStIsbiOdpVYlJnUY - ZhwOnQ0TaRYrq1vbBW2PG5PzNnI980Aa+u/8gm5/3R/MVpQ/6pP90fyrmdW0 - ewttPmniVg6AYyzHuOxNXo9B01o1Yo2SB/G3+NAD9H633/X1J/Si7/5DNh/u - y/yFZem6RYzm78xWPlzui4ZhwMY70XOkWKanZwKrbJRIW+Zv4RxzmgDb1n/k - F3P+4at2v/HrD/uL/Kuf1PRbCCwnmjRgyKSMux/rVi30LTngjdkbLKCfnbuP - rQBLpX/HxqH/AF3P8qL/AP5Cum/WX/0GszT9IsZprxZFYiKUqvzMOMfWi70i - xj1CxhRW2SmTd8zfwrkd6AN/VP8AkG3X/XJ/5U+w/wCPG2/65p/6CKxr/RNP - hsp5Y0YMiMR87HkD606z0PTpLSCR0Ys6KT87dSPrQBZ03/j/ANR/66L/AOg0 - al/x/ad/10b/ANBrLstIsZbu9jdWKxOoX5mHBGfWi+0exiu7KNFYLK5DfMx4 - A+tAHRX/APx43P8A1zf/ANBNR6X/AMg21/65r/Ksy70PTorSaREbciMR87dQ - PrTLDRNPmsYJZEYs6KT87Dkj60AW7D/kLal9Yv8A0Gl1X/j40/8A67j+RrLt - NIsZNRvoHVtkJj2/M38S5POeaNQ0exhms1jVgJZQrfMx4x9aAOmuv+PaX/cb - +VVNG/5Bdt/uCqU+hackEjqjZVSR87dh9ar6ZothPYQTSIxZ1BOHYf1oAvWn - /Iav/wDdi/kaTWeth/19R/1rMt9HsX1O7gZW2RrGV+Zv4hzzmjU9Isbc2nlK - w8ydEbLMflOc96AOql/1T/Q1maF/yCbf6H+ZqGTQdNCMQjZAP8bf41R0nR7C - 506GeVWLuDnDMO57A0AaMH/Icuv+uSUa3/qbb/r4j/nWXFpFi2qz25VtiRoQ - NzZyffNGqaRY28cDRKwLzIpyzHgnnqaAOtrG8Pf8giD/AIH/AOhmj+wNM/uN - /wB9t/jWXo2j2N1psU8ysXbdnDMOjEdAaANNP+Rgk/69x/6FRr3/AB5L/wBd - Y/51mLpFidYe2Kt5YhDY3NnO7HXOaNW0ixtrVZIlYMZEHLMeCfc0AdbWLoH/ - ACDh/vv/AOhGl/sDTP7jf99t/jWXpGkWNzZiWZWLbmHDMOhx2NAGmf8AkYR/ - 16/+z0uv/wDILk/3k/8AQhWWdIsf7ZFrtby/I343NnO7HXOaNY0ixtrB5oVY - MCo5Zj1YDuaAOtrG0P8A49Zf+u0n86P7A0z+43/fbf41l6VpFjcQSPKrErK6 - jDMOAeOhoA05f+Q9B/1wb+dO8Qf8gi4+i/8AoQrKk0ixGrxWwVvLaJmI3NnI - Prml1jR7G206aeFWDrjGWY9WA6E0AdWv3R9Kx9F+5d/9fMv9KaugaaQDsb/v - tv8AGs3S9Hsbhbkyqx2TugwzDgdOhoA1Ln/kN2f/AFzkrZrkp9IsU1W2t1Vt - jo5PzN1HTnNbVvo9jazLPCrB1zjLMeox0JoA06KKKACiiigAooooAKKKKAP/ - 0v3PtxrP9p3flmDztse/O7bjHGO/1o1Iazm0+0G3/wBemzbu+/zjOe3rRb6v - ZJqd3cMW2SiML8pz8o54xRqWr2U5tPLLHy50dsqRwM5oA0JB4g2NuNrjBz9+ - qWlDWv7Ph+zG38rB279+7qeuOKuya9pxRgGfkH+Bv8KpaVrFjbafDBKzBkBz - hCe57gUAMiGs/wBqz7TB53lpuzu247Y75o1Qaz5cH2kwY85Nuzd97PGc9vWi - LV7JdVnuCW2PGgHynOR7Uapq9lcRwLEWJSZGOVI4B57UAaePEXra/wDj9Zmj - DWf7Nh+yGDyvm279277xznHHWtP+39N/vP8A98N/hWZo2r2VrpsMExYOu7OF - JHLE9QKABRrP9sPgwef5Iz97Zt3fnnNGrDWfsy/aTBs8xMbN2c5469qF1eyG - sPdEt5ZhC/dOc7s9MUatq9lc2yxxFiRIh5UjgH3oA08eIvW1/wDH6zNIGs/Y - h9lMHl7m+/uznJz0rT/t/Tf7z/8AfDf4VmaRq9lbWQilZg25jwpPUk9qADGs - /wBsjm38/wAj/a2bN355zRrA1n7C/wBqMHl7lzs3bs7hjr70f2vZf2yLrLeX - 5Gz7pzndnpRrGr2V1YvDEWLEqeVI6MD3FAGnjxF62v8A4/WZpX9s/Z5Psxg2 - +Y+d+7O7PPTtWn/b+m/3n/74b/CszSdXsra3kSUsCZHYYUngnjtQAONZ/teL - Jt/P8psfe27c8575pdYGtf2dN9qNv5XG7Zu3feHTPHWkfV7I6vFcgtsWJlPy - nOSfTFLrGsWVzp00ERYu2MZUgcMD1IoA0QPEOBza/wDj9Zul/wBs7Lj7MYMe - e+7fu+93xjt6VpDX9OwPmf8A74b/AArN0vV7K3S4EpYb53cYUng9O1ABN/bP - 9q228wedsfbjdtx3z3p+qDW/7Pn+0m38rb82zfuxntnimTavZPqttcAtsRHB - +U5yfbFP1XWbG40+eGJmLOMDKEd/XFAFyIeIPKTabXGBjO/OKoab/bO+7+zm - DPntv3bvvcZxjtV+LXdOWJFLPkAD7jf4VQ03V7KB7syFh5k7OuFJ4OPagAuR - rP8AaVl5ht/NxJsxu29Od3f6YqbURrn2Gfzzb+XsO7bv3Y9s1Dc6vZSalZTq - W2RCTd8pz8wwOMVNqOtWE9jPDGzbnQgZRh/SgCe2Gv8A2eLyzbbdi4zvzjHG - apWA1n7ReeQbfd5nz7t2N2O2O31q7ba5p8dvEjM+VRQfkbsPpVKw1eyhuLx3 - LYlk3LhSeMfSgAvBrP26y80weZufy9u7bnbzu/DpirN8Nd+xXHnG28vy23bd - +cY5xnvVa81eylvrKZC22JnLfKe64HarN9rdhNZXESM2542A+RhyR9KAFsxr - 32ODyjbbPLXbu35xjjOO9VbIaz9tvfKMHmbl37t2M4424/rVqz1uwis4InZt - yRqD8jHkD6VVstXsor29ldm2yspX5T2GKAC+Gs/abPzjBv8AMOzbuxnHfPb6 - Vcuhr/2abzDbbNjZxvzjHOKp32r2U1zZyIWxFIS3ykcYq5da5p8ltNGrPlkY - D5G6kfSgCLTxrn2GDyDb+XsXbu35xjvioLUaz/aV95Zg83915md237vy7e/T - rmp9P1qwhsYIZGbciKDhGPIH0qC11eyj1K+nYtsm8rb8pz8q4PGOKADURrPm - WfnmDPnLs27vvds57VfmHiDyZN5ttu05xvzjFUNR1eynks2jLYimVmypHA/C - r82u6c8MihnyVI+43p9KAKmmDW/sEH2c2/l7fl3b92PfHFRwDWf7Uuthg87a - m/O7bjHGO/1qTTNZsbewghkZgyLg4Rj/AEqODV7JNUurhmbZIqAfKc8DnigA - 1Mazi1+0G3/18ezbu+/zjOe3rWi48Q7Tk2uMH+/Wdqer2VwLXyyx8ueNzlSO - BnNaL69pxUgM/I/uN/hQBn6QNa/s6H7KbfysHbv37up644pI/wC2f7Wm2mDz - vLXdndt254x3zS6RrFjbadDBKzB1BzhSR1J6gUker2S6tNcktsaNVHynOQfT - FABqv9s+TF9pMG3zUxs3Z3Z4zntWnjxF62v/AI/WZqur2VzDEkRYlZUY5Ujg - HntWn/b+m/3n/wC+G/woAzNHGs/2fH9lNv5WWxv3bvvHOccdaANZ/thsG38/ - yB/e2bd355zRo+r2Vrp8cMxYMpbOFJ6sT2FA1ey/thrrLeWYAn3TnO7PSgA1 - f+2fsg+1GDZvT7m7Oc8da08eIvW1/wDH6zNX1eyubTy4ixbeh5UjgH3Faf8A - b+m/3n/74b/CgDM0j+2fsh+ymDZvf7+7Oc89KG/tn+2FyYPP8g4+9s27vzzm - jSNXsra0McrMG3ueFJ4J9hQ2r2R1hbrLeWICn3TnO7PTFABrA1n+z5PtRt/K - yudm7d94YxnjrWnjxF62v/j9ZmsavZXWnyQwlizFcZUjowPcVp/2/pv95/8A - vhv8KAMzShrPky/Zjb7fNfO/dndnnGO3pXifjv7T/wAJNdfa9nm7Y87M7fuD - GM817ZpWr2VvDKspYFpXYYUngnjtXifju5iu/E11PCSUZY8ZGDwg7GgqJ3nh - r+0P+EJXb5X2XL5zu8z/AFn5da9BQeIdowbXGB/frz7w1f2y+CVsiT5pL8bT - j/WZ69K9BTXtOCgFn4A/gb/CgTM7TBrOLr7Obf8A18m7du+/xnGO3pRONZ/t - S13mDztr7MbtuMc57/SjTNXsrcXXmFh5k8jjCk8HGKJ9Xsn1S1uFZtkauD8p - zyOOKBEmpjW/sE/2g2/l7fm2792PbPFW4R4g8mPYbbbtGM784xVTU9Zsbiwn - hjZizrgZRh/SrcOu6ckMalnyFA+43p9KAKGnDWfMvPIMGfObfu3fewOmO1F0 - NZ/tKx8w2/m/vfLxu2/d53d+nTFGnavZQSXbSFsSzMy4Ungge1F1q9lJqVjO - pbZF5u75Tn5lwOMc0AT6gNc+wz+ebfy9jbtu/OMds1LajXvssPlG22bF2535 - xjjNRahrVhNYzwxs250YDKMOSPpUtrrmnx2sMbM+VRQfkbqB9KAKdiNZ+03n - km33+YN+7djOO2O31ovRrP22y802/mbm2bd2M453Z/pRY6vZQ3N5I5bEsgK/ - KTxii91eylvbKVGbbEzFvlPcYoAtXg177HP5pttnltu2784xzjPeksRrv2K3 - 8k23l+Wu3dvzjHGcd6W81uwls54kZtzxsB8jDkj6UljrdhDZW8Ts25I1B+Rj - yB9KAK1n/bP2698oweZlPM3btudvG3+uaL/+2ftFn55g3eZ8m3djdjvnt9KL - PV7KK+vZnLbZShX5T2XB7UX+r2U1xZvGWxFJubKkcY+lAF25Gv8A2eXzDbbd - jZxvzjHOKg04a59gg+zm38vYNu7fux74qe51zT5LeVFZ8sjAfI3cfSoNO1qw - gsIIZGbciAHCMf6UAQ2w1n+0r3yzb+biPfndt6cbe/1zRqQ1ndafaDb589dm - 3d97nGc9qLbV7KPUr2di2yUR7flOflGDxijUtXsp2tDGWPlzq7ZUjgZoAvyj - xB5T7ja4wc435xVPSxrf9nwfZjb+Vt+Xfv3Yz3xxVyXXdOaJ1DPkgj7jf4VT - 0rWbG30+CGVmDIMHCE9/XFADIf7Z/tW52GDztibs7tuO2O9GqDWdlv8AaTBj - z027N33u2c9vWiHV7JNVubgs2x0QD5TnI9sUapq9lcJbiIsdk6OcqRwOvagD - SI8Q4PNr/wCP1naONa/s6H7Kbfyudu/du+8euOOtaJ1/TsH5n/74b/CsnTte - 0zTdIQ30vkrArM7MCFUAkklugAHegGyRBrP9ry4MHn+UufvbdueMd81+WH7c - Gu6lqHxWsdFvWTZpWnRALHnaHnd3Y89yu0fhX194x/a/+D3hLV7hrG7m8QTC - IRhbBAyBge8rlUI91LV+afxw+J1v8XfiDdeNLXT20yOeKGIQvIJW/dLt3EhV - Az6Y49a+64SyqvDEe2qQajZ2ufnnGmcYeeG9hSqJyurpa6fkeQ0UUV+lH5UF - FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFfqX+xf4q1LVvhPrPhgyRtFoN2xAb - dvWG7G8Be3+sWQ/jX5aV94fsOaoLXUvGuluSFu7O2cADILRO4Gf++zXznFdF - TwM2+ln+J9TwbXcMwgl1uvwv+aP04txr/kR7DbbdoxnfnGO9UtP/ALZ8688g - wbvNO/duxux2x2q7b67p6QRozPlVAPyN2H0qlp+r2UM148hbEspZcKTxj6V+ - PH7eF3/bP9oWPmm383Mnl43bfu87u/TpirF+Nd+xT+cbby9jbtu/OMc4z3qv - d6vZS6hYzIW2xGTd8p7rgcVYv9bsJrKeJGbc6MBlGHJH0oAfaDXvskPlG22b - F2535xjjPvVSyGs/a73yTb7967927Gccbcf1q3aa5p8dpDG7NuRFB+RuoH0q - pZavZRXd7K5bbK6lflJ4Ax6UAF9/bP2uy84wb97bNu7Gcc7s/wBKt3Y177JN - 5pttmxt2N+cY5x71UvtXspruykRm2xOxb5SOCPpVu71zT5LSaNGbc6MB8jdS - PpQAywGu/YYPINt5exdu7fnGOM471XtBrP8AaF95Rt/NzH5md237vG3v065q - xYa3YQ2METs25EUHCMeQPpVe01eyj1C+mcttlMe35T/CuD2oANQGs+dZ+eYN - 3mjZt3Y3Y757VenGv+RJvNtt2nON+cY7VR1DV7KaazaMtiKUM2VI4x9KvT67 - p7wSIrPllIHyN3H0oAraaNc+wQfZzb+XtG3dv3Y98VFbjWf7Tu/LMHnbY9+d - 23GOMd/rUum6zYwWEEMjNuRQDhGP9Kit9Xsk1O7uGLbJVjC/Kc/KOeMUAGpj - Wc2n2gwf69Nm3d9/nGc9vWtCQeINjbja4wc/frP1PV7K4Np5ZY+XOjtlSOBn - NaEmvacUYBn5B/gb/CgClpQ1r+z4fsxt/Kwdu/fu6nrjimRDWf7Vn2mDzvLT - dndtx2x3zT9K1ixttPhglZgyA5whPc9wKZFq9kuqz3BLbHjQD5TnI9qADVBr - PlwfaTBjzk27N33s8Zz29a08eIvW1/8AH6zNU1eyuI4FiLEpMjHKkcA89q0/ - 7f03+8//AHw3+FAGZo41n+zofsht/K+bG/du+8c5xx1oUaz/AGw+DB5/kjP3 - tm3d+ec0aPq9la6dDBMzB13ZwpI5YnqBQur2Q1h7olvLMIX7pzndnpigA1b+ - 2fsq/ajBs8xPubs5zx17Vp48Retr/wCP1matq9lc2qxxFiRIh5UjgH3rT/t/ - Tf7z/wDfDf4UAZmkDWfsQ+ym38vc/wB/dnOTnpRjWf7ZHNv5/kf7WzZu/POa - NI1eytrIRSswbcx4UnqSe1H9r2X9si6y3l+Rs+6c53Z6UAGsf2z9hf7UYPLy - udm7dncMda08eIvW1/8AH6zNY1eyurF4YixYlTypHRge4rT/ALf03+8//fDf - 4UAZmlf2z9nk+zGDb5j537s7s89O1En9s/2vFuMHn+U2Pvbduec980aTq9lb - W8iSlgTI7DCk8E8dqJNXsjq8VyC2xYmU/Kc5J9MUALrA1r+zpvtRt/K43bN2 - 77w6Z461ogeIcDBtf/H6ztY1iyudOmgiLF2xjKkDhgepFaI17TgANz/98N/h - QBm6YNZ23H2c2+PPfdv3fe74x29KJhrP9qW282/nbH243bcd896NM1eyt1uR - KWG+d3GFJ4PSibV7J9UtrgFtkaOD8pzk+2KAH6oNb/s+f7SbfytvzbN+7Ge2 - eKuRDxB5SbTa4wMZ35xVPVNZsbjT54Ymbc64GUYd/pVyLXdOWJFLPkAD7jf4 - UAUNNGs77v7OYM+e2/du+9xnGO1FyNZ/tKy8w2/m4k2Y3benO7v9MUabq9lA - 92ZCw8ydnXCk8HHtRc6vZSalZTqW2RCTd8pz8wwOMUATaiNc+wz+ebfy9h3b - d+7Htmp7Ya/9ni8s223YuM784xxmoNR1qwnsZ4Y2bc6EDKMP6VPba5p8dvEj - M+VRQfkbqB9KAKVgNZ+0XnkGDd5nz7t2N2O2O31ovBrP26y80weZufZt3bc7 - ed34dMUWGr2UNxeO5bEsm5cKTxj6UXmr2Ut9ZTIW2xM5b5T3XHpQBZvhrv2K - 48423l+W27bvzjHOM96WyGvfY4PJNt5flrt3b84xxnHekvtbsJrK4iRm3PGw - HyMOSPpS2Wt2EVnBE7NuSNVPyMeQMelAFWyGs/bb3yTB5m5d+7djOONuP60X - w1n7TZ+cYN/mHZt3Yzjvnt9KLLV7KK9vZXLbZWUr8p7DHpRfavZTXNnIhbEU - hLfKRxigC5dDX/s03mG22bGzjfnGOcVFp41z7DB5Bt/L2Lt3b84x3xUt1rmn - yW00as+WRgPkbqR9Ki0/WrCGxghkZtyIoOEY8gfSgCC1Gs/2lfeWbfzf3XmZ - 3bfu/Lt79OuaNR/tnzLPzzBnzl2bd33u2c9qLXV7KPUr6dmbZL5W35Tn5Vwe - MUajq9lPJZtGWxFMrNlSOB+FAF+YeIPJfebbbtOcb84xVTSxrf8AZ8H2Y2/l - bfl3792PfHFW5td054ZFDPkqR9xvT6VU0vWbG30+CGRmDIuDhGP9KAI4BrP9 - qXWw2/nbU353bcY4x3+tGpjWcWv2g2/+vj2bd33+cZz29aINXsk1S6uGZtki - oB8pzwOeKNT1eyuBa+WWPlzxucqRwM5oA0XHiHacm1xj/brP0ga1/Z0P2U2/ - lYO3fv3dT1xxWg+vacVIDPyP7jf4Vn6RrFjbadDBKzB1BzhSR1J6gUAJH/bP - 9rTbTB53lruzu27c8Y75o1X+2fJi+0mDb5qY2bs7s8Zz2oj1eyXVprkltjRK - o+U5yD6Yo1XV7K5hiSIsSsqMcqRwDz2oA08eIvW1/wDH6zNH/tn+z4/sht/K - y2N+7d9456cda0/7f03+8/8A3w3+FZmj6vZWunxwzFgyls4UnqxPUUAAGs/2 - w2Db+f5A/vbNu7885o1Yaz9k/wBKNvs3p9zdnOeOtA1eyGsNdZbyzAE+6c53 - Z6Uatq9lc2nlRFi29DypHAOe4oA08eIvW1/8frM0kaz9kP2UwbN7/f3Zznnp - Wn/b+m/3n/74b/CszSdXsra0McpYNvc8KTwT7CgAYaz/AGwuTB5/kHH3tm3d - +ec0awNZ/s+T7UbfysrnZu3feGMZ460Nq9kdYW6y3liAp905zuz0xRrGr2V1 - p8kMJYsxXGVI6MD3FAGnjxF62v8A4/WZpQ1nyZfsxg2+a+d+7O7POMdq0/7f - 03+8/wD3w3+FZmlavZW8MqylgWldhhSeCeOgoAJRrP8Aa0O4wed5bbcbtu3P - Oe+adqw1r+zpvtRt/KwN2zfu6jpnimy6vZNq0NyC2xY2U/Kc5J9MU7VtYsbn - TpoIixdgMZUjuO5FAF9B4h2jBtcYH9+s7TBrOLr7OYP9fJv3bvv8Zxjt6Vop - r2nBQCz8AfwN/hWdpmr2VuLrzCw8yeRxhSeDjFABcDWf7Utd5g87a+zG7bjH - Oe/0qTUxrf2Cf7Qbfy9vzbd+7Htnio7jV7J9UtbhS2yNXB+U55HHGKk1PWbG - 4sJ4Y2Ys64GUYf0oAtwjxB5Mew223aMZ35xiqGnDWfMu/INvnzjv3bvvYGcY - 7Vfh13TkhjUs+QoH3G9PpVDTtXsoJLxpC2JZmZcKTwQPagAuhrP9o2PmG383 - 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 - cZ7j0NAHT3H/AB7y/wC638qo6L/yCrb/AHf61Vm0WJYXb7TcHCk8ycdPpVTS - 9Jjn0+CY3EyllzhZMAfQYoAv2v8AyGr3/ci/lRrPSy/6+ov61mQaVG+qXUHn - zAIqHIf5jkdzijU9KjgFrieZt88afM+cZzyPQ+9AHVv9xvoaytB/5BFv9D/6 - EaifRIgpP2m44H/PT/61Z+kaVHcadDM08yFgeFfAHJ6DFAGlD/yHrj/rin86 - Nc/494P+u8f86zI9LjbVprfz5gFjVt2/5jk9CfSjVdLjt4YmE8z7pUX5nyOT - 16daAOtrF8P/APIKi+r/APoRo/sSL/n5uP8Av5/9aszR9LjudPjmaeZCS3CP - gcMR0oA01/5GB/8Ar2H/AKHRr3/Hh/20T/0KswaVH/bDW/nzYEAbdv8Am+9j - GfSjVtKjt7TzBPM53oMM+RyaAOtrF0H/AI8T/wBdJP8A0Kj+xIv+fm4/7+f/ - AFqzNJ0qO4tDIZ5k+dxhXwODQBpt/wAjAn/Xsf8A0Ol8Qf8AIJm+qf8AoQrL - bSoxrC23nzYMBbdv+b72MZx0o1jSo7fT5Jlnmcgrwz5HLAdMUAdbWNon/HvP - /wBd5P50n9iRf8/Nx/38/wDrVmaVpUc8MrGeZdsrr8r4zg9Tx1oA1Jv+Q7b/ - APXF/wCdO17/AJBNx9B/6EKyZNKjXVobfz5iGjY7t/zDB7H0p2raVHb6dNMJ - 5nKgcM+QeR1GKAOpT7i/QVj6L0vv+vqX+lNTRIioP2m45A/5af8A1qztM0uO - cXWZ5l8ueRPlfGcY5PqfegDTuv8AkN2P+5L/ACqfWv8AkFXP+5WLcaXGmqWs - AnmIkVzkv8wwOx7VJqekxwWE8ouJmKrnDSZB+oxQB0dv/wAe8X+6v8qzNJ/1 - 1/8A9fDfyFRQ6LE0MbfabgZUHiT2+lUNO0qOaS8BnmXy5mX5XxnAHJ9TQBqX - 3/IX0z/tt/6BVnVv+QZdf9c2/lWFdaVHHqNjCJ5iJfNyS+SNq54OOPep9Q0i - OGxnlFxOxRGOGkyDgdxigDcsf+PK3/65p/IVn6Z/x+6j/wBdR/KoLXRopLWG - Q3E43IpwJMAZHbiqdjpcct1eoZ5l8uQAEPgnjvxzQBp6j/yEdO/33/8AQava - j/yD7n/rk/8A6Ca5690uOK8soxPMwlZgSXyRgdj2q1eaPFHZzyC4nJSNjgyZ - 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 - PNa/9uaT/wA/C/kay9I1bT7e0Mc0wVt7nGD0J4oAY02q/wBsKxt4/O8ggLv4 - 27uufXNGsTas2nyLc28aR5XJD5P3hjj609tV086ytz5w8oQFd2D97dnFGs6t - p9zp0kMEwd2K4AB7MDQBofaNd/59Yv8AvuszSptWWGUW9vG4Mrk5fGGzyK1/ - 7c0n/n4X8jWXpOq6fbwzLNMFLTOw4PQng0AMlm1b+1oWa3jEojbC7+CM8nNO - 1abVm06Zbi3jSMgZIfJHI7Usuq6e2rw3AmHlrEyk4PUmnavq2nXGmzwwzhnY - DAweeRQBcSfXNoxaxYwP46ztMm1VRdeRbxvmeQtl8YbjIHtWqmuaUEUG4XoO - xrN0vVdPgF35swXzLiR14PKnGDQAy4m1U6pas9vGJQr7V38EY5yak1ObV2sJ - 1nt40jK8kPkgfSkuNV099VtJ1mBjjWQMcHjI4qXVNX02fT54YpwzsuAMHmgC - eGfWxDGFtYiNowd/bFUNOm1ZZLzybeNiZmL5fGGwOBWlBrelLDGrXABCgHg+ - lUNN1bT4ZbxpZgokmZl4PIIHNADLqbVjqNi0lvGJB5uwB+D8vOT2wKn1CbWG - sZxNbRqhRtxD5IGKju9W0+TUrCZJgUi83ccHjcuBU+o6xps1hcRRzhndGAGD - ySKAHWs+tC1hEdtGVCLgl+oxxVOxm1UXV6YreNmMg3gvjBx2q/aa1pcdrDG9 - wAyooIweoFU7DVdPiur2SSYKssgKnB5GKAGXs2qm8sjLbxq4ZtgD5BOOc+lW - ryfWTZziW2jVDG24h8kDHNQX2q6fLe2MscwKxOxY4PAIq3e6zpktnPHHcAs8 - bADB5JBxQBFYz6yLK3EVtGyCNdpL4JGOKrWc2rC/vTHbxtISm8F+B8vGPWrl - hrOmRWNvFJOFZI0BGDwQOarWeq6fHf30rzAJKU2nB5wuDQAy/m1Y3FmZreNW - EnyAPnJx0NXbmfWjbyh7aMKUbJD9Biquoarp81xZPHMGEcu5uDwMVduda0t7 - aVFuAWZGAGD1IoAq6dNrC2EAht42jCDaS+CRUNtNqo1O8ZLeMykR7wX4HHGD - VnTdY02GwgilnCuiAEYPBqG11XT01S9neYBJRHtODztHNADNSm1ZmtPOt41I - nUrh85bnAPtWhLPrflvutYgMHPz1S1PVdPmazMUwby50ZuDwozk1oS63pTRO - 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 - T6UXccY1iwAUYKy9vYVnabppmN3/AKXOmyd1+V8Zxjk8ck0XGmlNTs4ftc7e - YJPmL/MuB2OOM96ANjWI4xplyQoB2HtVq1jj+zQ/IPuL29qw9S0sw2E8v2y4 - fapO1nyp+oxVi30ktBG3225GVBwJOBx24oAdpUaG4v8AKg4nPb2ov40Gq6aA - owTL2/2az9P00yzXi/a508uUrlXwW46njk0XemmPULGL7XO3mGT5i+WXC/wn - HGe9AG3qccY066IUf6t+3tUlhHGbG3JQf6tO3sKyb/SjFZTyfbLh9qMcM+Qc - DoRjpTrPSTJaQP8AbbldyKcCTAGR0HHSgCbTo4zf6gCo4kXt/s0alHGL7TwF - HMjdv9ms6y00yXd7H9rnXy3UZV8Fsj+Ljmi+00x3dkn2udvMcjLPkrx1HHFA - G/fxxixuCEH+rft7Go9LjjOnWxKgny17e1Z93pJjtJn+23LbUY4MmQcDoeOl - MsNKMtjBJ9suE3Ip2q+AMjoBjpQBYsY0Oq6kCowDF2/2aXVY4xPYYUDM47ex - rOtNNL6jfRfa518sx/MHwzZXPzHHOO1GoaaYprNftc7+ZKFyz5K8dRxwaAOj - uY4/s0vyD7jdvaqmjxxnTLYlQTsHaqs+kFYJG+23JwpODJwePpVfTNLM1hBL - 9suE3KDtV8KPoMUAW7WNP7ZvhtGAsXb2pNYjQGxwoGbqPt9az7fTS2p3cP2u - cbFjO4P8zZHc45x2o1PTTCbT/S5333CL8z525zyOOo7GgDppYo/Lf5B0Pas3 - Q44zpVuSoJwe3uaZJpBCMft1ycA/8tP/AK1UdJ0wz6dDL9ruI9wPyo+FHJ6D - FAF6COP+27kbRjyk7Ua1Gght8KB/pEfb3rOi00tqs8P2ucbY1O4P8xz2Jx0o - 1TTTDHAftc8m6ZF+d84yeo46jtQB1XlRf3B+VY3h+OM6RASoJ+ft/tGn/wBj - n/n+uv8Av5/9asvRtNNxpsUv2uePdu+VHwowxHAxQBoJGn9vyDaMfZxxj/ao - 12NBZqQoH72Pt71nrppOsPB9rn4hDb9/z/e6Zx0o1bTTBaq/2ueTMiDDvkcn - r060AdV5UX9wflWLoMaHTwSoJ3v2/wBo1J/Y5/5/rr/v5/8AWrL0jTTPZiT7 - XPH8zDCPgcH6UAaBjT/hIAu0Y+zdMf7dLr0cY0yQhQDuTt/tCs46af7ZFv8A - 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 - tnArXEYIjUEFx6VR067tEvL9nmRQ8gIJYDIx2oAqXt9dve2TtZOjIzEKSMtx - 2q1e6hePZzo1hIgaNgSWGACOtLf3lo9/p7rMhVHfJDAgfL3q5f31k9jcKs8Z - JjcABxknBoAo2OoXiWVuiWEjqsagMGGCAOtVrO+u0v751snZnKZUEZXC9/rW - tp17ZJYWyPPGrLGgILgEHAqpY3loupag7TIFdo9pLDBwvagCpf3t3JcWbPZO - hSXIBI+Y46CrtzqF61vKrWEigowJ3Lxx1pupXlo9zYMkyMFlySGBwMd6v3V9 - ZNazKtxGSUYABx6UAZem395HYQIli8iqgAYMMH3qG2vrtdTvZFsnZnEeVyMr - gcZ+taWlXtnHp1ujzxqwQZBYAioLS8tF1a/kaZAriLBLDBwvODQBU1K+u5Gt - N9k8eydWGSPmIzwK0JdRvjG4OnyAEHnctRareWkj2WyZG23CE4YHA55Nac1/ - YmJwLiMkqf4x6UAYulX13Fp8Ecdk8iqOGDDB5qOG+uxqtxKLJyzIgKZGRjv+ - NX9GvLOPTLdJJ0VgvILAEc15F8QNYuYfEAOmXbxgRLloZCuT9VNA0j07VL27 - lS3Elk8e2dGGSOSO341pnUr7B/4l0n/fS15r4S1G7vdJE2pXjTsL2ML5r7iF - UZJ5Occ9a9YN/Y4P+kR/99igGc/o99dxadDHHZPKozhgQAfmNIl9djV5ZRZO - XMSjZkZAz1q5od5aRaVAkkyIwDZBYA/ePakjvLQa3LKZk2GFRncMZz0zQIqa - tfXctuiyWTxgSIckg5IPT8a1P7Svv+gdJ/30tVtZvLSS2jWOZGIljOAwPANa - /wBvsP8An4j/AO+xQBzuj313FYqkdk8qhm+YEAcsaPtt3/bJm+xPv+z7dmRn - G7O7+lW9DvLSLTkSSZEbc/BYA/eNH2u0/t4y+cmz7NjduGM7+mfWgCpq97dz - WRSSzeJdy/MSCODWp/aV9/0DpP8Avpara5eWkunskcyO25OAwJ+8K1/t9h/z - 8R/99igDndJvruK2ZY7J5R5jnIIHJPT8KHvrs6vHL9icOISNmRkjd1q3ot5a - R2jrJMinzHOCwHBND3lodcjl85NggI3bhjO7pmgCprN9dzabNHJZPEp25YkE - D5hWn/aV9/0DpP8Avpar67eWkulTxxTI7HbgBgT94dq1/t9h/wA/Ef8A32KA - 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 - j7/41l6wmsDT5DdPCY8rkKGz94Y6+9aezxB/z0t/yagDM0rRtNuYZWmh3FZX - UfMw4B46GiXRtNXVobYQ/u3jZiNzdQfXOaNKXWDDL9neEL5r53BvvZ5xjtRI - usf2tCGeHzvLbacNtxnnPvQA7V9G02206aeCHa6AYO5j3A7mtBPD+kFQTB1A - /jb/ABrO1dNYGnTG5eExYGQobPUdM1oImv7RiS3xgdmoAztM0fTbgXXnQ7vL - nkRfmYYUYwODRPo2mpqlrbrDiORXLDc3JA45zmjTE1gi6+zvCP38m7cG+9xn - GO1E66x/alqHeHzdr7SA23GOc0AS6noumW9hPNDDtdFyDuY/zNWodA0l4Y2a - DJKgn529PrVTU01oWE5uHhMe35gobOParcKa95MeyS327RjIbpigChp2jabP - JeLLDuEUzKvzMMAAccGi60bTY9SsYEhxHN5u8bm52rkc5o05dYMl35Dwg+c2 - /cG+9gdPai6XWP7SsRI8JlPm7CA20fLzn8OlAE+oaJpcFjPNFDtdEYg7mOCB - 9altdC0qS1hkeDLMiknc3Uj61FqCa2LGczyQGPY27aGzjHapbVNd+yw+XJAE - 2LjIbOMcZoAp2OjadNc3kckOVikCqNzcDH1ovdG02K9soo4cLKzBhubkAZHe - ixXWDc3nkvCHEg35DYJx2ovV1gXtl5rwlyzbMBsA45zQBavdC0qKznljgwyR - swO5uoGR3pLHQ9LmsreWSDc7xqxO5hkkZPelvE1z7HP5skBTy23YDZxjnFJY - prhsrcwyQCPy125DZxjjNAFaz0fTpb++hkhykJQKNzcZXJ70X+j6dDcWaRQ7 - Vll2t8zHIx9aLNdYN/eiJ4RICm/IbBO3jFF+usC4s/OeEsZPk2hsbsd/agC7 - c6DpUdvK6QYZUYj526gfWoNN0TTJ7CCaWHc7oCTuYZP4Gp7lNd+zy+ZJBt2N - nAbOMc1Bpya0bCAwSQCPYNu4NnHvQBDbaNpsmp3tu8OY4hHtG5uNwye9GpaN - psDWgih2iWdUb5mOVOcjk0Wyax/aV6I3h80CPeSG29OMf1o1JdYDWnnvCT56 - 7Nob73OM+1AGhLoGkrE7LBggEj529PrVPStF0y50+CeaHc7rkncw7+xq3Kmv - eU+6S3xg5wG6VT0tNZOnwG3eER7flDBs9e+KAGQ6Ppz6rc2zQ5jjRCo3NwT1 - 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 - - type - public.jpeg - - ApplicationVersion - - com.omnigroup.OmniGraffle7 - 205.27.2 - - CreationDate - 2023-03-01 17:22:51 +0000 - Creator - Glenn Rodgers - FileType - flat - GraphDocumentVersion - 16 - GuidesLocked - NO - GuidesVisible - YES - ImageCounter - 1 - LinksVisible - NO - MagnetsVisible - NO - MasterSheets - - ModificationDate - 2023-06-05 20:20:18 +0000 - Modifier - Glenn Rodgers - MovementHandleVisible - NO - NotesVisible - NO - OriginVisible - NO - PageBreaks - NO - PrintInfo - - NSBottomMargin - - float - 40 - - NSHorizonalPagination - - coded - BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG - - NSLeftMargin - - float - 18 - - NSPaperSize - - size - {612, 792} - - NSPrintReverseOrientation - - coded - BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG - - NSRightMargin - - float - 18 - - NSTopMargin - - float - 18 - - - ReadOnly - NO - Sheets - - - ActiveLayerIndex - 0 - AutoAdjust - 15 - AutosizingMargin - 0 - BackgroundGraphic - - Bounds - {{-2160.2777777778429, -900.05555555558078}, {3931.9444444444443, 2898.6111111111109}} - Class - GraffleShapes.CanvasBackgroundGraphic - ID - 0 - Style - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - TextAlongPathGlyphAnchor - center - - - BaseZoom - 0 - CanvasDimensionsOrigin - {-841, 88} - CanvasOrigin - {0, 0} - CanvasSize - {689, 492} - CanvasSizingMode - 2 - ColumnAlign - 1 - ColumnSpacing - 36 - DisplayScale - 1.0 pt = 1.0 px - GraphicsList - - - Bounds - {{-456, 263.75387879604227}, {71.261056873051928, 21.233309318300801}} - Class - ShapedGraphic - FontInfo - - Color - - space - gg22 - w - 0 - - Font - DINPro-Medium - - ID - 90 - Layer - 0 - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf2709 -\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fnil\fcharset0 DINPro-Medium;} -{\colortbl;\red255\green255\blue255;} -{\*\expandedcolortbl;;} -\deftab720 -\pard\pardeftab720\qc\partightenfactor0 - -\f0\fs32 \cf0 Organization-Owned Network} - TextAlongPathGlyphAnchor - center - - Wrap - NO - - - Bounds - {{-840.5, 313.38737879478526}, {688, 144}} - Class - ShapedGraphic - FontInfo - - Color - - space - gg22 - w - 0 - - Size - 0.0 - - ID - 89 - Layer - 0 - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Color - - b - 0.5 - g - 0.5 - r - 0.5 - space - srgb - - Draws - NO - - - Text - - TextAlongPathGlyphAnchor - center - - VFlip - YES - - - AllowLabelDrop - - Class - LineGraphic - FontInfo - - Color - - space - gg22 - w - 0 - - Font - Helvetica - Size - 12 - - Head - - ID - 70 - - ID - 58 - Layer - 0 - LogicalPath - - elements - - - element - MOVETO - point - {-592.71658102779497, 155.5} - - - element - LINETO - point - {-592.71658102779497, 371.44108790595772} - - - control1 - {-592.71658102779497, 384.69296754446151} - control2 - {-603.45935205194996, 395.43573856861656} - element - CURVETO - point - {-616.71123169045381, 395.43573856861656} - - - element - LINETO - point - {-628.71545166191686, 395.43573856861656} - - - control1 - {-635.33758367656742, 395.43573856861656} - control2 - {-640.70588235311266, 390.06743989207132} - element - CURVETO - point - {-640.70588235311266, 383.44530787742076} - - - element - LINETO - point - {-640.70588235311266, 383.44530787742076} - - - control1 - {-640.70588235311266, 376.8231758627702} - control2 - {-646.07418102965789, 371.45487718622496} - element - CURVETO - point - {-652.69631304430845, 371.45487718622496} - - - element - LINETO - point - {-690.40346343966371, 371.45487718622496} - - - control1 - {-693.1044971750091, 371.45487718622496} - control2 - {-695.29411764688734, 373.64449765810315} - element - CURVETO - point - {-695.29411764688734, 376.34553139344854} - - - element - LINETO - point - {-695.29411764688734, 376.34553139344854} - - - control1 - {-695.29411764688734, 379.04656512879393} - control2 - {-693.1044971750091, 381.23618560067212} - element - CURVETO - point - {-690.40346343966371, 381.23618560067212} - - - element - LINETO - point - {-592.64356435643572, 381.23618560067212} - - - - OrthogonalBarAutomatic - - OrthogonalBarPoint - {216.8984375, 371} - OrthogonalBarPosition - -1 - Points - - {-592.71658102779497, 155.5} - {-601.97058823529392, 395.43573856861656} - {-640.70588235311266, 371.45487718622496} - {-592.64356435643572, 381.23618560067212} - - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Cap - 0 - Color - - b - 0.80000000000000004 - g - 0.80000000000000004 - r - 0.80784299999999998 - space - srgb - - CornerRadius - 24 - HeadArrow - FilledArrow - Legacy - - LineType - 2 - TailArrow - FilledArrow - Width - 3 - - - Tail - - ID - 62 - - - - AllowLabelDrop - - Class - LineGraphic - FontInfo - - Color - - space - gg22 - w - 0 - - Font - Helvetica - Size - 12 - - ID - 59 - Layer - 0 - LogicalPath - - elements - - - element - MOVETO - point - {-360.45518380961732, 379.62462561332137} - - - element - LINETO - point - {-406.79105227652531, 382.90074528834282} - - - control1 - {-407.00042109212546, 382.91554844880613} - control2 - {-407.18214838474933, 382.75782182139045} - element - CURVETO - point - {-407.19695154521264, 382.54845300579029} - - - control1 - {-407.21052992332574, 382.35640692547139} - control2 - {-407.07835261101775, 382.1845449306432} - element - CURVETO - point - {-406.8892553374622, 382.14837463271948} - - - element - LINETO - point - {-406.8892553374622, 382.14837463271948} - - - control1 - {-406.5620693638823, 382.08579089516297} - control2 - {-406.3475668697742, 381.76982011417857} - element - CURVETO - point - {-406.41015060733071, 381.44263414059867} - - - control1 - {-406.46458496368479, 381.1580528967279} - control2 - {-406.71367789043802, 380.95238382719418} - element - CURVETO - point - {-407.0034181513214, 380.952789706445} - - - element - LINETO - point - {-517.28712871287144, 381.10727935067212} - - - - Points - - {-360.45518380961732, 379.62462561332137} - {-413.18669446057595, 383.35294117647061} - {-400.59181621434846, 380.94380808896835} - {-517.28712871287144, 381.10727935067212} - - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Color - - b - 0.80000000000000004 - g - 0.80000000000000004 - r - 0.80784299999999998 - space - srgb - - CornerRadius - 24 - Legacy - - TailArrow - FilledArrow - Width - 3 - - - Tail - - ID - 74 - - - - AllowLabelDrop - - Class - LineGraphic - FontInfo - - Color - - space - gg22 - w - 0 - - Font - Helvetica - Size - 12 - - ID - 60 - Layer - 0 - LogicalPath - - elements - - - element - MOVETO - point - {-360.45518380961732, 321.61821967049292} - - - element - LINETO - point - {-432.38235294117635, 321.61821967049292} - - - control1 - {-445.63718693711542, 321.61821967049292} - control2 - {-456.38235294117635, 332.36338567455385} - element - CURVETO - point - {-456.38235294117635, 345.61821967049292} - - - element - LINETO - point - {-456.38235294117635, 356.91008131463775} - - - control1 - {-456.38235294117635, 370.16491531057682} - control2 - {-467.12751894523728, 380.91008131463775} - element - CURVETO - point - {-480.38235294117635, 380.91008131463775} - - - element - LINETO - point - {-516.39524693210069, 380.91008131463775} - - - control1 - {-516.88781963827228, 380.91008131463775} - control2 - {-517.28712871287144, 380.51077224003859} - element - CURVETO - point - {-517.28712871287144, 380.018199533867} - - - element - LINETO - point - {-517.28712871287144, 380.018199533867} - - - - OrthogonalBarAutomatic - - OrthogonalBarPoint - {216.8984375, 371} - OrthogonalBarPosition - -1 - Points - - {-360.45518380961732, 321.61821967049292} - {-456.38235294117635, 345.41651787476098} - {-512.0595449262421, 380.91008131463775} - {-517.28712871287144, 380.018199533867} - - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Cap - 0 - Color - - b - 0.80000000000000004 - g - 0.80000000000000004 - r - 0.80784299999999998 - space - srgb - - CornerRadius - 24 - HeadArrow - FilledArrow - Legacy - - LineType - 2 - TailArrow - FilledArrow - Width - 3 - - - Tail - - ID - 78 - - - - AllowLabelDrop - - Class - LineGraphic - FontInfo - - Color - - space - gg22 - w - 0 - - Font - Helvetica - Size - 12 - - Head - - ID - 69 - - ID - 61 - Layer - 0 - LogicalPath - - elements - - - element - MOVETO - point - {-592.64356435643572, 381.23618560067212} - - - element - LINETO - point - {-593.74560009105892, 457.08455203587795} - - - control1 - {-593.7485332469563, 457.28642850533186} - control2 - {-593.74891888544232, 457.48833395065446} - element - CURVETO - point - {-593.74675691441689, 457.69022015177768} - - - element - LINETO - point - {-593.66518157483358, 465.30777617829926} - - - control1 - {-593.66168704587039, 465.63409746975111} - control2 - {-593.66484861099423, 465.96045609497367} - element - CURVETO - point - {-593.6746642977655, 466.28664844509956} - - - element - LINETO - point - {-594.86014538423069, 505.68224761536652} - - - - Points - - {-592.64356435643572, 381.23618560067212} - {-593.75000000005366, 457.38737879478526} - {-593.65993923617634, 465.79730902775248} - {-594.86014538423069, 505.68224761536652} - - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Color - - b - 0.80000000000000004 - g - 0.80000000000000004 - r - 0.80784299999999998 - space - srgb - - CornerRadius - 24 - Legacy - - TailArrow - FilledArrow - Width - 3 - - - Tail - - ID - 70 - - - - Bounds - {{-626.96847596913221, 550.60669035744991}, {71.261056873051928, 21.233309318300801}} - Class - ShapedGraphic - FontInfo - - Color - - space - gg22 - w - 0 - - Font - DINPro-Medium - - ID - 63 - Layer - 0 - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf2709 -\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fnil\fcharset0 DINPro-Medium;} -{\colortbl;\red255\green255\blue255;} -{\*\expandedcolortbl;;} -\deftab720 -\pard\pardeftab720\qc\partightenfactor0 - -\f0\fs32 \cf0 Consumer Applications} - TextAlongPathGlyphAnchor - center - - Wrap - NO - - - Class - Group - Graphics - - - Bounds - {{-594.82686096580392, 525.39510758725521}, {31.000193632335677, 15.366306506807252}} - Class - ShapedGraphic - ID - 65 - Shape - Bezier - ShapeData - - AdditionalUnitPoints - - - {-0.47368421052631571, 0.43983860692291366} - {-0.47368421052631571, 0.43983860692291366} - {-0.44736842105263164, 0.43983860692291366} - {-0.44736842105263164, 0.43983860692291366} - {-0.44736842105263164, 0.43983860692291366} - {-0.47368421052631571, 0.43983860692291366} - - - {-0.47367368421052625, 0.44691017201104311} - {-0.47367368421052625, 0.44691017201104311} - {-0.49998947368421054, 0.44729241877256332} - {-0.49998947368421054, 0.44729241877256332} - {-0.49998947368421054, 0.44729241877256332} - {-0.4997999999999998, 0.50000000000000044} - {-0.4997999999999998, 0.50000000000000044} - {-0.4997999999999998, 0.50000000000000044} - {-0.47367368421052625, 0.50000000000000044} - {-0.47367368421052625, 0.50000000000000044} - {-0.47367368421052625, 0.50000000000000044} - {-0.47367368421052625, 0.44691017201104311} - - - {0.47367368421052647, 0.44691017201104311} - {0.47367368421052647, 0.44691017201104311} - {0.47367368421052647, 0.50000000000000044} - {0.47367368421052647, 0.50000000000000044} - {0.47367368421052647, 0.50000000000000044} - {0.4997999999999998, 0.50000000000000044} - {0.4997999999999998, 0.50000000000000044} - {0.4997999999999998, 0.50000000000000044} - {0.49998947368421054, 0.44729241877256332} - {0.49998947368421054, 0.44729241877256332} - {0.49998947368421054, 0.44729241877256332} - {0.47367368421052647, 0.44691017201104311} - - - {0.18732631578947356, -0.43813973242726645} - {0.18732631578947356, -0.43813973242726645} - {0.19773684210526321, -0.48689743045232481} - {0.19773684210526321, -0.48689743045232481} - {0.19773684210526321, -0.48689743045232481} - {0.18268421052631578, -0.49999999999999956} - {0.18268421052631578, -0.49999999999999956} - {0.18268421052631578, -0.49999999999999956} - {0.17022105263157883, -0.47848800169887395} - {0.17022105263157883, -0.47848800169887395} - {0.17022105263157883, -0.47848800169887395} - {0.18732631578947356, -0.43813973242726645} - - - {-0.19774736842105267, -0.48689743045232481} - {-0.3754947368421051, -0.33234232321087243} - {-0.5, 0.024357613081333884} - {-0.5, 0.43983860692291366} - {-0.5, 0.43983860692291366} - {-0.44736842105263164, 0.43983860692291366} - {-0.44736842105263164, 0.43983860692291366} - {-0.44736842105263164, 0.068252282862604208} - {-0.33605263157894738, -0.2510087067317901} - {-0.17691578947368414, -0.38938203440220809} - {-0.17691578947368414, -0.38938203440220809} - {-0.19774736842105267, -0.48689743045232481} - - - {-0.5, 0.43983860692291366} - {-0.5, 0.44232321087279702} - {-0.5, 0.44480781482268039} - {-0.49998947368421054, 0.44729241877256332} - {-0.49998947368421054, 0.44729241877256332} - {-0.44735789473684195, 0.44652792524952245} - {-0.44735789473684195, 0.44652792524952245} - {-0.44736842105263164, 0.44429815247398663} - {-0.44736842105263164, 0.44206837969844992} - {-0.44736842105263164, 0.43983860692291366} - {-0.44736842105263164, 0.43983860692291366} - {-0.5, 0.43983860692291366} - - - {-0.47367368421052625, 0.50000000000000044} - {-0.47367368421052625, 0.50000000000000044} - {0.47367368421052647, 0.50000000000000044} - {0.47367368421052647, 0.50000000000000044} - {0.47367368421052647, 0.50000000000000044} - {0.47367368421052647, 0.39382034402208577} - {0.47367368421052647, 0.39382034402208577} - {0.47367368421052647, 0.39382034402208577} - {-0.47367368421052625, 0.39382034402208577} - {-0.47367368421052625, 0.39382034402208577} - {-0.47367368421052625, 0.39382034402208577} - {-0.47367368421052625, 0.50000000000000044} - - - {0.49998947368421054, 0.44729241877256332} - {0.50000000000000022, 0.44480781482268039} - {0.50000000000000022, 0.44232321087279702} - {0.50000000000000022, 0.43983860692291366} - {0.50000000000000022, 0.43983860692291366} - {0.44736842105263164, 0.43983860692291366} - {0.44736842105263164, 0.43983860692291366} - {0.44736842105263164, 0.44206837969844992} - {0.44736842105263164, 0.44429815247398663} - {0.44735789473684195, 0.44652792524952245} - {0.44735789473684195, 0.44652792524952245} - {0.49998947368421054, 0.44729241877256332} - - - {0.50000000000000022, 0.43983860692291366} - {0.50000000000000022, 0.024336377150138144} - {0.37548421052631564, -0.33234232321087243} - {0.19773684210526321, -0.48689743045232481} - {0.19773684210526321, -0.48689743045232481} - {0.1769052631578949, -0.38940327033340383} - {0.1769052631578949, -0.38940327033340383} - {0.3360526315789476, -0.25102994266298495} - {0.44736842105263164, 0.068231046931408468} - {0.44736842105263164, 0.43983860692291366} - {0.44736842105263164, 0.43983860692291366} - {0.50000000000000022, 0.43983860692291366} - - - {0.17022105263157883, -0.47848800169887395} - {0.124284210526316, -0.39921427054576286} - {0.064905263157894799, -0.35147589721809291} - {-1.0526315789460838e-05, -0.35147589721809291} - {-1.0526315789460838e-05, -0.35147589721809291} - {-1.0526315789460838e-05, -0.24529624124017824} - {-1.0526315789460838e-05, -0.24529624124017824} - {0.077957894736842226, -0.24529624124017824} - {0.14936842105263159, -0.30276067105542515} - {0.2044315789473683, -0.39781269908685424} - {0.2044315789473683, -0.39781269908685424} - {0.17022105263157883, -0.47848800169887395} - - - {-1.0526315789460838e-05, -0.35147589721809291} - {-0.06491578947368426, -0.35147589721809291} - {-0.12429473684210524, -0.39921427054576286} - {-0.17022105263157883, -0.47848800169887395} - {-0.17022105263157883, -0.47848800169887395} - {-0.20444210526315776, -0.39781269908685424} - {-0.20444210526315776, -0.39781269908685424} - {-0.14936842105263159, -0.30273943512422941} - {-0.077968421052631687, -0.24529624124017824} - {-1.0526315789460838e-05, -0.24529624124017824} - {-1.0526315789460838e-05, -0.24529624124017824} - {-1.0526315789460838e-05, -0.35147589721809291} - - - UnitPoints - - {-0.18733684210526302, -0.43813973242726645} - {-0.18733684210526302, -0.43813973242726645} - {-0.17022105263157883, -0.47848800169887395} - {-0.17022105263157883, -0.47848800169887395} - {-0.17022105263157883, -0.47848800169887395} - {-0.18268421052631556, -0.49999999999999956} - {-0.18268421052631556, -0.49999999999999956} - {-0.18268421052631556, -0.49999999999999956} - {-0.19774736842105267, -0.48689743045232481} - {-0.19774736842105267, -0.48689743045232481} - {-0.19774736842105267, -0.48689743045232481} - {-0.18733684210526302, -0.43813973242726645} - - - Style - - shadow - - Draws - NO - - stroke - - Cap - 0 - Draws - NO - - - Text - - TextAlongPathGlyphAnchor - center - - - - Bounds - {{-594.01106639653221, 526.34567141937157}, {29.368604493791697, 13.599948105419525}} - Class - ShapedGraphic - ID - 66 - Shape - Bezier - ShapeData - - UnitPoints - - {-0.1977444444444445, -0.49999999999999956} - {-0.3755333333333335, -0.33451304076588961} - {-0.5, 0.047352256640353474} - {-0.5, 0.49200998152458286} - {-0.5, 0.49467332101638828} - {-0.5, 0.49733666050819458} - {-0.49998888888888904, 0.50000000000000089} - {-0.49998888888888904, 0.50000000000000089} - {0.49998888888888882, 0.50000000000000089} - {0.49998888888888882, 0.50000000000000089} - {0.5, 0.49733666050819458} - {0.5, 0.49467332101638828} - {0.5, 0.49200998152458286} - {0.5, 0.047352256640353474} - {0.37553333333333327, -0.33451304076588961} - {0.19773333333333309, -0.49999999999999956} - {0.14442222222222201, -0.40152842095160368} - {0.075399999999999912, -0.3420951604002207} - {-1.1111111111183902e-05, -0.3420951604002207} - {-0.075411111111111317, -0.3420951604002207} - {-0.14443333333333341, -0.40152842095160368} - - - Style - - fill - - Color - - b - 0.92941200000000002 - g - 0.75686299999999995 - r - 0.28235300000000002 - space - srgb - - - shadow - - Draws - NO - - stroke - - Cap - 0 - Draws - NO - - - Text - - TextAlongPathGlyphAnchor - center - - - - Bounds - {{-594.01106639653221, 526.34567141937157}, {29.368604493791697, 13.599948105419525}} - Class - ShapedGraphic - ID - 67 - Shape - Bezier - ShapeData - - UnitPoints - - {-0.1977444444444445, -0.49999999999999956} - {-0.3755333333333335, -0.33451304076588961} - {-0.5, 0.047352256640353474} - {-0.5, 0.49200998152458286} - {-0.5, 0.49467332101638828} - {-0.5, 0.49733666050819458} - {-0.49998888888888904, 0.50000000000000089} - {-0.49998888888888904, 0.50000000000000089} - {0.49998888888888882, 0.50000000000000089} - {0.49998888888888882, 0.50000000000000089} - {0.5, 0.49733666050819458} - {0.5, 0.49467332101638828} - {0.5, 0.49200998152458286} - {0.5, 0.047352256640353474} - {0.37553333333333327, -0.33451304076588961} - {0.19773333333333309, -0.49999999999999956} - {0.14442222222222201, -0.40152842095160368} - {0.075399999999999912, -0.3420951604002207} - {-1.1111111111183902e-05, -0.3420951604002207} - {-0.075411111111111317, -0.3420951604002207} - {-0.14443333333333341, -0.40152842095160368} - - - Style - - shadow - - Draws - NO - - stroke - - Cap - 0 - Draws - NO - - - Text - - TextAlongPathGlyphAnchor - center - - - - Bounds - {{-587.40313038542888, 510.65859448792622}, {16.15273247158542, 15.500096816167856}} - Class - ShapedGraphic - ID - 68 - Shape - Bezier - ShapeData - - UnitPoints - - {0.5, 0} - {0.5, 0.27517894736842097} - {0.2770909090909095, 0.5} - {0, 0.5} - {-0.27709090909090905, 0.5} - {-0.5, 0.27517894736842097} - {-0.5, 0} - {-0.5, -0.27517894736842097} - {-0.27709090909090905, -0.5} - {0, -0.5} - {0.2770909090909095, -0.5} - {0.5, -0.27517894736842097} - - - Style - - fill - - Color - - b - 0.92941200000000002 - g - 0.75686299999999995 - r - 0.28235300000000002 - space - srgb - - - shadow - - Draws - NO - - stroke - - Cap - 0 - Color - - b - 1 - g - 1 - r - 1 - space - srgb - - Width - 2.5 - - - Text - - TextAlongPathGlyphAnchor - center - - - - Bounds - {{-629.57970961679121, 482.83999967575073}, {69.439128465121101, 45.684495879231569}} - Class - ShapedGraphic - ID - 69 - Shape - Bezier - ShapeData - - UnitPoints - - {0.37554277336040165, -0.11674214285714279} - {0.37554277336040165, -0.096264285714285636} - {0.37448542265832074, -0.076161428571428491} - {0.37245060997387169, -0.056552142857142773} - {0.44660613921314318, -0.018546428571428464} - {0.5, 0.088027857142857213} - {0.5, 0.21355785714285724} - {0.5, 0.3707071428571429} - {0.41631421643263977, 0.4981500000000002} - {0.31298520648884387, 0.49854285714285718} - {0.31298520648884387, 0.49854285714285718} - {0.31298520648884387, 0.5} - {0.31298520648884387, 0.5} - {0.31298520648884387, 0.5} - {-0.28852985958382671, 0.5} - {-0.28852985958382671, 0.5} - {-0.28852985958382671, 0.5} - {-0.28852985958382671, 0.49857857142857165} - {-0.28852985958382671, 0.49857857142857165} - {-0.40549493411530291, 0.49703571428571447} - {-0.5, 0.35244285714285717} - {-0.5, 0.17429500000000009} - {-0.5, 0.012832142857142959} - {-0.42236743171864133, -0.12106999999999996} - {-0.32074287110659971, -0.14588071428571425} - {-0.32119447733979956, -0.15336428571428568} - {-0.32142521475967589, -0.16094499999999995} - {-0.32142521475967589, -0.16860785714285709} - {-0.32142521475967589, -0.30429214285714284} - {-0.24905966277561603, -0.41428571428571426} - {-0.15979200736855953, -0.41428571428571426} - {-0.12498637192428425, -0.41428571428571426} - {-0.092749863719242764, -0.39756357142857141} - {-0.066370608470083969, -0.36911714285714281} - {-0.020155454049888055, -0.44933999999999996} - {0.047726461023703481, -0.5} - {0.12339517660106403, -0.5} - {0.26265061373334098, -0.5} - {0.37554277336040165, -0.32840999999999998} - - - Style - - fill - - Color - - b - 0.67058799999999996 - g - 0.49803900000000001 - r - 0.023529399999999999 - space - srgb - - - shadow - - Draws - NO - - stroke - - Cap - 0 - Draws - NO - - - Text - - TextAlongPathGlyphAnchor - center - - - - ID - 64 - Layer - 0 - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - - - Bounds - {{-668, 359.73618560067212}, {150.71287128712851, 42.999999999999943}} - Class - ShapedGraphic - ID - 70 - Layer - 0 - Style - - fill - - Color - - a - 0.5 - b - 1 - g - 0.95686300000000002 - r - 0.93333299999999997 - space - srgb - - - shadow - - Draws - NO - - stroke - - Cap - 0 - Color - - b - 0.99215699999999996 - g - 0.63921600000000001 - r - 0.34117599999999998 - space - srgb - - CornerRadius - 9.5 - Width - 5 - - - Text - - Align - 0 - Text - {\rtf1\ansi\ansicpg1252\cocoartf2709 -\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fnil\fcharset0 OpenSans;} -{\colortbl;\red255\green255\blue255;\red0\green0\blue0;} -{\*\expandedcolortbl;;\cssrgb\c0\c0\c0;} -\deftab720 -\pard\pardeftab720\partightenfactor0 - -\f0\fs32 \cf2 \expnd0\expndtw0\kerning0 - Flex Gateway} - TextAlongPathGlyphAnchor - center - - - - Class - Group - Graphics - - - Bounds - {{-402.26562462905179, 376.81901523196115}, {16.922580903018947, 8.3853278606371457}} - Class - ShapedGraphic - ID - 72 - Shape - Bezier - ShapeData - - AdditionalUnitPoints - - - {-0.21118379845500734, 0.16994382022471899} - {-0.21118379845500734, 0.16994382022471899} - {-0.28634560512213791, -0.27387640449438222} - {-0.28634560512213791, -0.27387640449438222} - {-0.28634560512213791, -0.27387640449438222} - {-0.36359523975224439, 0.16994382022471899} - {-0.36359523975224439, 0.16994382022471899} - {-0.36359523975224439, 0.16994382022471899} - {-0.21118379845500734, 0.16994382022471899} - - - {0.29337462593082331, -0.41432584269662942} - {0.32260421741248513, -0.35721032303370825} - {0.33721901315331604, -0.284643609550562} - {0.33721901315331604, -0.19662921348314621} - {0.33721901315331604, -0.10862008426966319} - {0.32260421741248513, -0.036042837078651857} - {0.29337462593082331, 0.021067415730336769} - {0.26460609645765187, 0.077247191011235783} - {0.22632925046976105, 0.10533707865168518} - {0.17854408796715149, 0.10533707865168518} - {0.17854408796715149, 0.10533707865168518} - {0.065801377966455576, 0.10533707865168518} - {0.065801377966455576, 0.10533707865168518} - {0.065801377966455576, 0.10533707865168518} - {0.065801377966455576, 0.49999999999999978} - {0.065801377966455576, 0.49999999999999978} - {0.065801377966455576, 0.49999999999999978} - {-0.0093604287006751052, 0.49999999999999978} - {-0.0093604287006751052, 0.49999999999999978} - {-0.0093604287006751052, 0.49999999999999978} - {-0.0093604287006751052, -0.50000000000000022} - {-0.0093604287006751052, -0.50000000000000022} - {-0.0093604287006751052, -0.50000000000000022} - {0.17854408796715149, -0.50000000000000022} - {0.17854408796715149, -0.50000000000000022} - {0.22632925046976105, -0.50000000000000022} - {0.26460609645765187, -0.47144136235955081} - - - {0.23839515623912566, -0.073033707865168829} - {0.25416695664277256, -0.10300210674157317} - {0.26205720648618558, -0.1441941713483148} - {0.26205720648618558, -0.19662921348314621} - {0.26205720648618558, -0.24906425561797763} - {0.25416695664277256, -0.28979459269662944} - {0.23839515623912566, -0.31882022471910143} - {0.22262335583547921, -0.34878335674157324} - {0.20127531491405104, -0.36376404494382042} - {0.17436843204119967, -0.36376404494382042} - {0.17436843204119967, -0.36376404494382042} - {0.065801377966455576, -0.36376404494382042} - {0.065801377966455576, -0.36376404494382042} - {0.065801377966455576, -0.36376404494382042} - {0.065801377966455576, -0.02949438202247201} - {0.065801377966455576, -0.02949438202247201} - {0.065801377966455576, -0.02949438202247201} - {0.17436843204119967, -0.02949438202247201} - {0.17436843204119967, -0.02949438202247201} - {0.20127531491405104, -0.02949438202247201} - {0.22262335583547921, -0.044013342696629376} - - - {0.49999999999999989, 0.49999999999999978} - {0.49999999999999989, 0.49999999999999978} - {0.42483819333286921, 0.49999999999999978} - {0.42483819333286921, 0.49999999999999978} - {0.42483819333286921, 0.49999999999999978} - {0.42483819333286921, -0.50000000000000022} - {0.42483819333286921, -0.50000000000000022} - {0.42483819333286921, -0.50000000000000022} - {0.49999999999999989, -0.50000000000000022} - {0.49999999999999989, -0.50000000000000022} - {0.49999999999999989, -0.50000000000000022} - {0.49999999999999989, 0.49999999999999978} - - - UnitPoints - - {-0.076170923515902378, 0.49999999999999978} - {-0.076170923515902378, 0.49999999999999978} - {-0.15620432876331003, 0.49999999999999978} - {-0.15620432876331003, 0.49999999999999978} - {-0.15620432876331003, 0.49999999999999978} - {-0.19030551882524893, 0.29915730337078617} - {-0.19030551882524893, 0.29915730337078617} - {-0.19030551882524893, 0.29915730337078617} - {-0.38586540469065356, 0.29915730337078617} - {-0.38586540469065356, 0.29915730337078617} - {-0.38586540469065356, 0.29915730337078617} - {-0.41996659475259235, 0.49999999999999978} - {-0.41996659475259235, 0.49999999999999978} - {-0.41996659475259235, 0.49999999999999978} - {-0.5, 0.49999999999999978} - {-0.5, 0.49999999999999978} - {-0.5, 0.49999999999999978} - {-0.31835896722110102, -0.50000000000000022} - {-0.31835896722110102, -0.50000000000000022} - {-0.31835896722110102, -0.50000000000000022} - {-0.25781195629480136, -0.50000000000000022} - {-0.25781195629480136, -0.50000000000000022} - {-0.25781195629480136, -0.50000000000000022} - {-0.076170923515902378, 0.49999999999999978} - - - Style - - fill - - Color - - b - 0.87451000000000001 - g - 0.63137299999999996 - r - 0.0 - space - srgb - - - shadow - - Draws - NO - - stroke - - Cap - 0 - Draws - NO - - - Text - - TextAlongPathGlyphAnchor - center - - - - Bounds - {{-407.88037892337491, 365.8456595660171}, {29.590079002599438, 29.590079002599456}} - Class - ShapedGraphic - ID - 73 - Shape - Circle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Cap - 0 - Color - - b - 0.87451000000000001 - g - 0.63137299999999996 - r - 0.0 - space - srgb - - Width - 4 - - - Text - - TextAlongPathGlyphAnchor - center - - - - ID - 71 - Layer - 0 - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - - - Bounds - {{-413.18669446057595, 358.24925122664274}, {105.46302130191719, 42.750748773357266}} - Class - ShapedGraphic - ID - 74 - Layer - 0 - Style - - fill - - Color - - a - 0.14999999999999999 - b - 0.81568600000000002 - g - 0.99215699999999996 - r - 0.86274499999999998 - space - srgb - - - shadow - - Draws - NO - - stroke - - Cap - 0 - Color - - b - 0.33333299999999999 - g - 0.65490199999999998 - r - 0.231373 - space - srgb - - CornerRadius - 9.5 - Width - 5 - - - Text - - TextAlongPathGlyphAnchor - center - - - - Class - Group - Graphics - - - Bounds - {{-402.92891407120362, 318.75151684052179}, {16.922580903018947, 8.3853278606371457}} - Class - ShapedGraphic - ID - 76 - Shape - Bezier - ShapeData - - AdditionalUnitPoints - - - {-0.21118379845500734, 0.16994382022471899} - {-0.21118379845500734, 0.16994382022471899} - {-0.28634560512213791, -0.27387640449438222} - {-0.28634560512213791, -0.27387640449438222} - {-0.28634560512213791, -0.27387640449438222} - {-0.36359523975224439, 0.16994382022471899} - {-0.36359523975224439, 0.16994382022471899} - {-0.36359523975224439, 0.16994382022471899} - {-0.21118379845500734, 0.16994382022471899} - - - {0.29337462593082331, -0.41432584269662942} - {0.32260421741248513, -0.35721032303370825} - {0.33721901315331604, -0.284643609550562} - {0.33721901315331604, -0.19662921348314621} - {0.33721901315331604, -0.10862008426966319} - {0.32260421741248513, -0.036042837078651857} - {0.29337462593082331, 0.021067415730336769} - {0.26460609645765187, 0.077247191011235783} - {0.22632925046976105, 0.10533707865168518} - {0.17854408796715149, 0.10533707865168518} - {0.17854408796715149, 0.10533707865168518} - {0.065801377966455576, 0.10533707865168518} - {0.065801377966455576, 0.10533707865168518} - {0.065801377966455576, 0.10533707865168518} - {0.065801377966455576, 0.49999999999999978} - {0.065801377966455576, 0.49999999999999978} - {0.065801377966455576, 0.49999999999999978} - {-0.0093604287006751052, 0.49999999999999978} - {-0.0093604287006751052, 0.49999999999999978} - {-0.0093604287006751052, 0.49999999999999978} - {-0.0093604287006751052, -0.50000000000000022} - {-0.0093604287006751052, -0.50000000000000022} - {-0.0093604287006751052, -0.50000000000000022} - {0.17854408796715149, -0.50000000000000022} - {0.17854408796715149, -0.50000000000000022} - {0.22632925046976105, -0.50000000000000022} - {0.26460609645765187, -0.47144136235955081} - - - {0.23839515623912566, -0.073033707865168829} - {0.25416695664277256, -0.10300210674157317} - {0.26205720648618558, -0.1441941713483148} - {0.26205720648618558, -0.19662921348314621} - {0.26205720648618558, -0.24906425561797763} - {0.25416695664277256, -0.28979459269662944} - {0.23839515623912566, -0.31882022471910143} - {0.22262335583547921, -0.34878335674157324} - {0.20127531491405104, -0.36376404494382042} - {0.17436843204119967, -0.36376404494382042} - {0.17436843204119967, -0.36376404494382042} - {0.065801377966455576, -0.36376404494382042} - {0.065801377966455576, -0.36376404494382042} - {0.065801377966455576, -0.36376404494382042} - {0.065801377966455576, -0.02949438202247201} - {0.065801377966455576, -0.02949438202247201} - {0.065801377966455576, -0.02949438202247201} - {0.17436843204119967, -0.02949438202247201} - {0.17436843204119967, -0.02949438202247201} - {0.20127531491405104, -0.02949438202247201} - {0.22262335583547921, -0.044013342696629376} - - - {0.49999999999999989, 0.49999999999999978} - {0.49999999999999989, 0.49999999999999978} - {0.42483819333286921, 0.49999999999999978} - {0.42483819333286921, 0.49999999999999978} - {0.42483819333286921, 0.49999999999999978} - {0.42483819333286921, -0.50000000000000022} - {0.42483819333286921, -0.50000000000000022} - {0.42483819333286921, -0.50000000000000022} - {0.49999999999999989, -0.50000000000000022} - {0.49999999999999989, -0.50000000000000022} - {0.49999999999999989, -0.50000000000000022} - {0.49999999999999989, 0.49999999999999978} - - - UnitPoints - - {-0.076170923515902378, 0.49999999999999978} - {-0.076170923515902378, 0.49999999999999978} - {-0.15620432876331003, 0.49999999999999978} - {-0.15620432876331003, 0.49999999999999978} - {-0.15620432876331003, 0.49999999999999978} - {-0.19030551882524893, 0.29915730337078617} - {-0.19030551882524893, 0.29915730337078617} - {-0.19030551882524893, 0.29915730337078617} - {-0.38586540469065356, 0.29915730337078617} - {-0.38586540469065356, 0.29915730337078617} - {-0.38586540469065356, 0.29915730337078617} - {-0.41996659475259235, 0.49999999999999978} - {-0.41996659475259235, 0.49999999999999978} - {-0.41996659475259235, 0.49999999999999978} - {-0.5, 0.49999999999999978} - {-0.5, 0.49999999999999978} - {-0.5, 0.49999999999999978} - {-0.31835896722110102, -0.50000000000000022} - {-0.31835896722110102, -0.50000000000000022} - {-0.31835896722110102, -0.50000000000000022} - {-0.25781195629480136, -0.50000000000000022} - {-0.25781195629480136, -0.50000000000000022} - {-0.25781195629480136, -0.50000000000000022} - {-0.076170923515902378, 0.49999999999999978} - - - Style - - fill - - Color - - b - 0.87451000000000001 - g - 0.63137299999999996 - r - 0.0 - space - srgb - - - shadow - - Draws - NO - - stroke - - Cap - 0 - Draws - NO - - - Text - - TextAlongPathGlyphAnchor - center - - - - Bounds - {{-408.54366836552674, 307.77816117458798}, {29.590079002599438, 29.590079002599456}} - Class - ShapedGraphic - ID - 77 - Shape - Circle - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Cap - 0 - Color - - b - 0.87451000000000001 - g - 0.63137299999999996 - r - 0.0 - space - srgb - - Width - 4 - - - Text - - TextAlongPathGlyphAnchor - center - - - - ID - 75 - Layer - 0 - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - - - Bounds - {{-413.18669446057595, 300.24284528381429}, {105.46302130191719, 42.750748773357266}} - Class - ShapedGraphic - ID - 78 - Layer - 0 - Style - - fill - - Color - - a - 0.14999999999999999 - b - 0.81568600000000002 - g - 0.99215699999999996 - r - 0.86274499999999998 - space - srgb - - - shadow - - Draws - NO - - stroke - - Cap - 0 - Color - - b - 0.33333299999999999 - g - 0.65490199999999998 - r - 0.231373 - space - srgb - - CornerRadius - 9.5 - Width - 5 - - - Text - - TextAlongPathGlyphAnchor - center - - - - Bounds - {{-361.83762437463395, 371.45487718622496}, {30.527822876145379, 19.562616828894267}} - Class - ShapedGraphic - FontInfo - - Color - - space - gg22 - w - 0 - - Font - DINPro-Medium - Size - 18 - - ID - 79 - Layer - 0 - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf2709 -\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fnil\fcharset0 DINPro-Medium;} -{\colortbl;\red255\green255\blue255;} -{\*\expandedcolortbl;;} -\deftab720 -\pard\pardeftab720\qc\partightenfactor0 - -\f0\fs36 \cf0 API 2} - TextAlongPathGlyphAnchor - center - - Wrap - NO - - - Bounds - {{-361.83762437463395, 313.38737879478526}, {30.527822876145379, 19.562616828894267}} - Class - ShapedGraphic - FontInfo - - Color - - space - gg22 - w - 0 - - Font - DINPro-Medium - Size - 18 - - ID - 80 - Layer - 0 - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf2709 -\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fnil\fcharset0 DINPro-Medium;} -{\colortbl;\red255\green255\blue255;} -{\*\expandedcolortbl;;} -\deftab720 -\pard\pardeftab720\qc\partightenfactor0 - -\f0\fs36 \cf0 API 1} - TextAlongPathGlyphAnchor - center - - Wrap - NO - - - Class - Group - Graphics - - - Bounds - {{-654.25819488355137, 371.46407185628743}, {18.443113772455071, 16.07185628742516}} - Class - ShapedGraphic - ID - 82 - Shape - Bezier - ShapeData - - UnitPoints - - {0.5, -0.020646448087431712} - {0.5, 0.20992896174863385} - {0.38160000000000005, 0.40864480874316944} - {0.21086190476190481, 0.5} - {0.21086190476190481, 0.5} - {0.16678095238095247, 0.31108196721311476} - {0.16678095238095247, 0.31108196721311476} - {0.26646666666666674, 0.24483606557377058} - {0.33358571428571437, 0.12113114754098364} - {0.33358571428571437, -0.020646448087431712} - {0.33358571428571437, -0.085179234972677598} - {0.31963333333333332, -0.14594262295081967} - {0.29509523809523819, -0.19929125683060106} - {0.29509523809523819, -0.19929125683060106} - {0.069471428571428628, 0.1707540983606558} - {0.069471428571428628, 0.1707540983606558} - {0.069471428571428628, 0.1707540983606558} - {-0.069473333333333276, 0.1707540983606558} - {-0.069473333333333276, 0.1707540983606558} - {-0.069473333333333276, 0.1707540983606558} - {-0.295097619047619, -0.19929125683060106} - {-0.295097619047619, -0.19929125683060106} - {-0.31963380952380949, -0.14594262295081967} - {-0.33359047619047622, -0.085179234972677598} - {-0.33359047619047622, -0.020646448087431712} - {-0.33359047619047622, 0.12113114754098364} - {-0.26647190476190474, 0.24483606557377058} - {-0.16678428571428566, 0.31108196721311476} - {-0.16678428571428566, 0.31108196721311476} - {-0.21086523809523805, 0.5} - {-0.21086523809523805, 0.5} - {-0.38160142857142854, 0.40864480874316944} - {-0.5, 0.20992896174863385} - {-0.5, -0.020646448087431712} - {-0.5, -0.22097322404371583} - {-0.41061047619047619, -0.39725846994535519} - {-0.27519666666666665, -0.49999221185792347} - {-0.27519666666666665, -0.49999221185792347} - {0, -0.048761748633879776} - {0, -0.048761748633879776} - {0, -0.048761748633879776} - {0.27518571428571448, -0.5} - {0.27518571428571448, -0.5} - {0.41060476190476203, -0.39726612021857921} - {0.5, -0.2209814207650273} - - - Style - - fill - - Color - - b - 0.87451000000000001 - g - 0.63137299999999996 - r - 0.0 - space - srgb - - - shadow - - Beneath - YES - Color - - a - 0.10000000000000001 - b - 0.0 - g - 0.0 - r - 0.0 - space - srgb - - Fuzziness - 1 - - stroke - - Cap - 0 - Draws - NO - - - Text - - TextAlongPathGlyphAnchor - center - - - - Bounds - {{-656, 368.5}, {22.000000000000007, 22}} - Class - ShapedGraphic - ID - 83 - Shape - Circle - Style - - fill - - Draws - NO - - shadow - - Beneath - YES - Color - - a - 0.10000000000000001 - b - 0.0 - g - 0.0 - r - 0.0 - space - srgb - - Fuzziness - 4 - - stroke - - Cap - 0 - Color - - b - 0.87451000000000001 - g - 0.63137299999999996 - r - 0.0 - space - srgb - - Width - 4 - - - Text - - TextAlongPathGlyphAnchor - center - - - - ID - 81 - Layer - 0 - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - - - Bounds - {{-699, 258}, {405, 320}} - Class - ShapedGraphic - ID - 84 - Layer - 0 - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Cap - 0 - Color - - b - 0.80000000000000004 - g - 0.80000000000000004 - r - 0.80784299999999998 - space - srgb - - CornerRadius - 22.5 - Pattern - 1 - Width - 3 - - - Text - - TextAlongPathGlyphAnchor - center - - - - Bounds - {{-662.78756435643595, 178}, {140.28800000000047, 31.160000324249268}} - Class - ShapedGraphic - FitText - YES - Flow - Resize - FontInfo - - Color - - space - gg22 - w - 0 - - Font - DINPro-Medium - - ID - 85 - Layer - 0 - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - Text - {\rtf1\ansi\ansicpg1252\cocoartf2709 -\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fnil\fcharset0 DINPro-Medium;} -{\colortbl;\red255\green255\blue255;} -{\*\expandedcolortbl;;} -\deftab720 -\pard\pardeftab720\qc\partightenfactor0 - -\f0\fs32 \cf0 Anypoint Platform} - TextAlongPathGlyphAnchor - center - - Wrap - NO - - - Class - Group - Graphics - - - Bounds - {{-618.98438074505589, 116.43318524951923}, {52.473152663676608, 45.726604464061126}} - Class - ShapedGraphic - ID - 87 - Shape - Bezier - ShapeData - - UnitPoints - - {0.5, -0.020646448087431712} - {0.5, 0.20992896174863385} - {0.38160000000000005, 0.40864480874316944} - {0.21086190476190481, 0.5} - {0.21086190476190481, 0.5} - {0.16678095238095247, 0.31108196721311476} - {0.16678095238095247, 0.31108196721311476} - {0.26646666666666674, 0.24483606557377058} - {0.33358571428571437, 0.12113114754098364} - {0.33358571428571437, -0.020646448087431712} - {0.33358571428571437, -0.085179234972677598} - {0.31963333333333332, -0.14594262295081967} - {0.29509523809523819, -0.19929125683060106} - {0.29509523809523819, -0.19929125683060106} - {0.069471428571428628, 0.1707540983606558} - {0.069471428571428628, 0.1707540983606558} - {0.069471428571428628, 0.1707540983606558} - {-0.069473333333333276, 0.1707540983606558} - {-0.069473333333333276, 0.1707540983606558} - {-0.069473333333333276, 0.1707540983606558} - {-0.295097619047619, -0.19929125683060106} - {-0.295097619047619, -0.19929125683060106} - {-0.31963380952380949, -0.14594262295081967} - {-0.33359047619047622, -0.085179234972677598} - {-0.33359047619047622, -0.020646448087431712} - {-0.33359047619047622, 0.12113114754098364} - {-0.26647190476190474, 0.24483606557377058} - {-0.16678428571428566, 0.31108196721311476} - {-0.16678428571428566, 0.31108196721311476} - {-0.21086523809523805, 0.5} - {-0.21086523809523805, 0.5} - {-0.38160142857142854, 0.40864480874316944} - {-0.5, 0.20992896174863385} - {-0.5, -0.020646448087431712} - {-0.5, -0.22097322404371583} - {-0.41061047619047619, -0.39725846994535519} - {-0.27519666666666665, -0.49999221185792347} - {-0.27519666666666665, -0.49999221185792347} - {0, -0.048761748633879776} - {0, -0.048761748633879776} - {0, -0.048761748633879776} - {0.27518571428571448, -0.5} - {0.27518571428571448, -0.5} - {0.41060476190476203, -0.39726612021857921} - {0.5, -0.2209814207650273} - - - Style - - fill - - Color - - b - 0.87451000000000001 - g - 0.63137299999999996 - r - 0.0 - space - srgb - - - shadow - - Beneath - YES - Color - - a - 0.10000000000000001 - b - 0.0 - g - 0.0 - r - 0.0 - space - srgb - - Fuzziness - 1 - - stroke - - Cap - 0 - Draws - NO - - - Text - - TextAlongPathGlyphAnchor - center - - - - Bounds - {{-623.94005183798572, 108}, {62.592974963100012, 62.592974963100005}} - Class - ShapedGraphic - ID - 88 - Shape - Circle - Style - - fill - - Draws - NO - - shadow - - Beneath - YES - Color - - a - 0.10000000000000001 - b - 0.0 - g - 0.0 - r - 0.0 - space - srgb - - Fuzziness - 4 - - stroke - - Cap - 0 - Color - - b - 0.87451000000000001 - g - 0.63137299999999996 - r - 0.0 - space - srgb - - Width - 4 - - - Text - - TextAlongPathGlyphAnchor - center - - - - ID - 86 - Layer - 0 - Style - - fill - - Draws - NO - - shadow - - Draws - NO - - stroke - - Draws - NO - - - - - Bounds - {{-681.21658102779497, 91}, {177, 129}} - Class - ShapedGraphic - ID - 62 - Layer - 0 - Style - - fill - - Color - - a - 0.5 - b - 1 - g - 0.95686300000000002 - r - 0.93333299999999997 - space - srgb - - - shadow - - Draws - NO - - stroke - - Cap - 0 - Color - - b - 0.99215699999999996 - g - 0.63921600000000001 - r - 0.34117599999999998 - space - srgb - - CornerRadius - 9.5 - Width - 5 - - - Text - - TextAlongPathGlyphAnchor - center - - - - GridInfo - - GridSpacing - 1 - MajorGridColor - - a - 0.1 - archive - - YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25Z - JGFyY2hpdmVyVCR0b3BYJG9iamVjdHMSAAGG - oF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290 - gAGmCwwXHR4lVSRudWxs1Q0ODxAREhMUFRZc - TlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JT - cGFjZV8QEk5TQ3VzdG9tQ29sb3JTcGFjZVYk - Y2xhc3NJMCAwIDAgMC4xSjAgMCAwIDAuMQAQ - AYACgAXTGBEZGhscVU5TSUNDWU5TU3BhY2VJ - RIADgAQQDk8RDEgAAAxITGlubwIQAABtbnRy - UkdCIFhZWiAHzgACAAkABgAxAABhY3NwTVNG - VAAAAABJRUMgc1JHQgAAAAAAAAAAAAAAAAAA - 9tYAAQAAAADTLUhQICAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAABFjcHJ0AAABUAAAADNkZXNjAAAB - hAAAAGx3dHB0AAAB8AAAABRia3B0AAACBAAA - ABRyWFlaAAACGAAAABRnWFlaAAACLAAAABRi - WFlaAAACQAAAABRkbW5kAAACVAAAAHBkbWRk - AAACxAAAAIh2dWVkAAADTAAAAIZ2aWV3AAAD - 1AAAACRsdW1pAAAD+AAAABRtZWFzAAAEDAAA - ACR0ZWNoAAAEMAAAAAxyVFJDAAAEPAAACAxn - VFJDAAAEPAAACAxiVFJDAAAEPAAACAx0ZXh0 - AAAAAENvcHlyaWdodCAoYykgMTk5OCBIZXds - ZXR0LVBhY2thcmQgQ29tcGFueQAAZGVzYwAA - AAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAA - AAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAWFlaIAAA - AAAAAPNRAAEAAAABFsxYWVogAAAAAAAAAAAA - AAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQ - WFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAA - AAAAJKAAAA+EAAC2z2Rlc2MAAAAAAAAAFklF - QyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAA - AAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAA - AC5JRUMgNjE5NjYtMi4xIERlZmF1bHQgUkdC - IGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAA - AAAAAC5JRUMgNjE5NjYtMi4xIERlZmF1bHQg - UkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAZGVzYwAAAAAA - AAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0 - aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAA - AAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRp - dGlvbiBpbiBJRUM2MTk2Ni0yLjEAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAHZpZXcAAAAA - ABOk/gAUXy4AEM8UAAPtzAAEEwsAA1yeAAAA - AVhZWiAAAAAAAEwJVgBQAAAAVx/nbWVhcwAA - AAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAo8A - AAACc2lnIAAAAABDUlQgY3VydgAAAAAAAAQA - AAAABQAKAA8AFAAZAB4AIwAoAC0AMgA3ADsA - QABFAEoATwBUAFkAXgBjAGgAbQByAHcAfACB - AIYAiwCQAJUAmgCfAKQAqQCuALIAtwC8AMEA - xgDLANAA1QDbAOAA5QDrAPAA9gD7AQEBBwEN - ARMBGQEfASUBKwEyATgBPgFFAUwBUgFZAWAB - ZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJ - AdEB2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgC - QQJLAlQCXQJnAnECegKEAo4CmAKiAqwCtgLB - AssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08D - WgNmA3IDfgOKA5YDogOuA7oDxwPTA+AD7AP5 - BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgE - tgTEBNME4QTwBP4FDQUcBSsFOgVJBVgFZwV3 - BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgG - WQZqBnsGjAadBq8GwAbRBuMG9QcHBxkHKwc9 - B08HYQd0B4YHmQesB78H0gflB/gICwgfCDII - RghaCG4IggiWCKoIvgjSCOcI+wkQCSUJOglP - CWQJeQmPCaQJugnPCeUJ+woRCicKPQpUCmoK - gQqYCq4KxQrcCvMLCwsiCzkLUQtpC4ALmAuw - C8gL4Qv5DBIMKgxDDFwMdQyODKcMwAzZDPMN - DQ0mDUANWg10DY4NqQ3DDd4N+A4TDi4OSQ5k - Dn8Omw62DtIO7g8JDyUPQQ9eD3oPlg+zD88P - 7BAJECYQQxBhEH4QmxC5ENcQ9RETETERTxFt - EYwRqhHJEegSBxImEkUSZBKEEqMSwxLjEwMT - IxNDE2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTO - FPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZsFo8W - shbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiK - GK8Y1Rj6GSAZRRlrGZEZtxndGgQaKhpRGnca - nhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyj - HMwc9R0eHUcdcB2ZHcMd7B4WHkAeah6UHr4e - 6R8THz4faR+UH78f6iAVIEEgbCCYIMQg8CEc - IUghdSGhIc4h+yInIlUigiKvIt0jCiM4I2Yj - lCPCI/AkHyRNJHwkqyTaJQklOCVoJZclxyX3 - JicmVyaHJrcm6CcYJ0kneierJ9woDSg/KHEo - oijUKQYpOClrKZ0p0CoCKjUqaCqbKs8rAis2 - K2krnSvRLAUsOSxuLKIs1y0MLUEtdi2rLeEu - Fi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDb - MRIxSjGCMbox8jIqMmMymzLUMw0zRjN/M7gz - 8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbp - NyQ3YDecN9c4FDhQOIw4yDkFOUI5fzm8Ofk6 - Njp0OrI67zstO2s7qjvoPCc8ZTykPOM9Ij1h - PaE94D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA - 50EpQWpBrEHuQjBCckK1QvdDOkN9Q8BEA0RH - RIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BI - BUhLSJFI10kdSWNJqUnwSjdKfUrESwxLU0ua - S+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lP - k0/dUCdQcVC7UQZRUFGbUeZSMVJ8UsdTE1Nf - U6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RX - klfgWC9YfVjLWRpZaVm4WgdaVlqmWvVbRVuV - W+VcNVyGXNZdJ114XcleGl5sXr1fD19hX7Ng - BWBXYKpg/GFPYaJh9WJJYpxi8GNDY5dj62RA - ZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg/aJZo - 7GlDaZpp8WpIap9q92tPa6dr/2xXbK9tCG1g - bbluEm5rbsRvHm94b9FwK3CGcOBxOnGVcfBy - S3KmcwFzXXO4dBR0cHTMdSh1hXXhdj52m3b4 - d1Z3s3gReG54zHkqeYl553pGeqV7BHtje8J8 - IXyBfOF9QX2hfgF+Yn7CfyN/hH/lgEeAqIEK - gWuBzYIwgpKC9INXg7qEHYSAhOOFR4Wrhg6G - cobXhzuHn4gEiGmIzokziZmJ/opkisqLMIuW - i/yMY4zKjTGNmI3/jmaOzo82j56QBpBukNaR - P5GokhGSepLjk02TtpQglIqU9JVflcmWNJaf - lwqXdZfgmEyYuJkkmZCZ/JpomtWbQpuvnByc - iZz3nWSd0p5Anq6fHZ+Ln/qgaaDYoUehtqIm - opajBqN2o+akVqTHpTilqaYapoum/adup+Co - UqjEqTepqaocqo+rAqt1q+msXKzQrUStuK4t - rqGvFq+LsACwdbDqsWCx1rJLssKzOLOutCW0 - nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1 - uy67p7whvJu9Fb2Pvgq+hL7/v3q/9cBwwOzB - Z8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/ - yD3IvMk6ybnKOMq3yzbLtsw1zLXNNc21zjbO - ts83z7jQOdC60TzRvtI/0sHTRNPG1EnUy9VO - 1dHWVdbY11zX4Nhk2OjZbNnx2nba+9uA3AXc - it0Q3ZbeHN6i3ynfr+A24L3hROHM4lPi2+Nj - 4+vkc+T85YTmDeaW5x/nqegy6LzpRunQ6lvq - 5etw6/vshu0R7ZzuKO6070DvzPBY8OXxcvH/ - 8ozzGfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5 - x/pX+uf7d/wH/Jj9Kf26/kv+3P9t///SHyAh - IlokY2xhc3NuYW1lWCRjbGFzc2VzXE5TQ29s - b3JTcGFjZaIjJFxOU0NvbG9yU3BhY2VYTlNP - YmplY3TSHyAmJ1dOU0NvbG9yoiYkAAgAEQAa - ACQAKQAyADcASQBMAFEAUwBaAGAAawB4AH4A - iwCgAKcAsQC8AL4AwADCAMkAzwDZANsA3QDf - DSsNMA07DUQNUQ1UDWENag1vDXcAAAAAAAAC - AQAAAAAAAAAoAAAAAAAAAAAAAAAAAAANeg== - - b - 0 - g - 0 - r - 0 - - MajorGridSpacing - 4 - ShowsGrid - YES - - HPages - 2 - KeepToScale - - Layers - - - Artboards - - Lock - - Name - Layer 1 - Print - - View - - - - Artboards - - Lock - - Name - Layer 2 - Print - - View - - - - LayoutInfo - - Animate - NO - LayoutTarget - 1 - circoMinDist - 18 - circoSeparation - 0.0 - layoutEngine - dot - neatoLineLength - 0.20000000298023224 - neatoSeparation - 0.0 - twopiSeparation - 0.0 - - Orientation - 2 - OutlineStyle - Blank.gtemplate - OutlineStyleURL - - Ym9va1AEAAAAAAQQMAAAAIn7H/Uy170RwoMtdP3u8qjxwXeKeTRQ - +ohqQofFO30/TAMAAAQAAAADAwAAAAgAKAUAAAABAQAAVXNlcnMA - AAANAAAAAQEAAGdsZW5uLnJvZGdlcnMAAAAHAAAAAQEAAExpYnJh - cnkACgAAAAEBAABDb250YWluZXJzAAAaAAAAAQEAAGNvbS5vbW5p - Z3JvdXAuT21uaUdyYWZmbGU3AAAEAAAAAQEAAERhdGETAAAAAQEA - AEFwcGxpY2F0aW9uIFN1cHBvcnQADgAAAAEBAABUaGUgT21uaSBH - cm91cAAACwAAAAEBAABPbW5pR3JhZmZsZQAJAAAAAQEAAFRlbXBs - YXRlcwAAAAkAAAABAQAAVVggYW5kIFVJAAAADwAAAAEBAABCbGFu - ay5ndGVtcGxhdGUANAAAAAEGAAAQAAAAIAAAADgAAABIAAAAXAAA - AIAAAAA4AAAAjAAAAKgAAADAAAAA1AAAAOgAAAD8AAAACAAAAAQD - AACEXAAAAAAAAAgAAAAEAwAAmtkDAAAAAAAIAAAABAMAAKHZAwAA - AAAACAAAAAQDAAB/2wMAAAAAAAgAAAAEAwAATgs/AAAAAAAIAAAA - BAMAAE8LPwAAAAAACAAAAAQDAABSCz8AAAAAAAgAAAAEAwAAVAs/ - AAAAAAAIAAAABAMAAMcLPwAAAAAACAAAAAQDAADICz8AAAAAAAgA - AAAEAwAAegw/AAAAAAAIAAAABAMAAFcNPwAAAAAACAAAAAQDAABl - DT8AAAAAADQAAAABBgAAUAEAAGABAABwAQAAgAEAAJABAACgAQAA - sAEAAMABAADQAQAA4AEAAPABAAAAAgAAEAIAAAgAAAAABAAAQcR/ - w36AAAAYAAAAAQIAAAIAAAAAAAAADwAAAAAAAAAAAAAAAAAAAAgA - AAAEAwAACwAAAAAAAAAEAAAAAwMAAPYBAAAIAAAAAQkAAGZpbGU6 - Ly8vDAAAAAEBAABNYWNpbnRvc2ggSEQIAAAABAMAAABQoRtzAAAA - CAAAAAAEAABBxQd6oAAAACQAAAABAQAANkZENkJGMDYtOUU0NS00 - NDBFLThCRTktOUZGNUZBQjAzNjI3GAAAAAECAACBAAAAAQAAAO8T - AAABAAAAAAAAAAAAAAABAAAAAQEAAC8AAAAAAAAAAQUAAMwAAAD+ - ////AQAAAAAAAAAQAAAABBAAABQBAAAAAAAABRAAACACAAAAAAAA - EBAAAGwCAAAAAAAAQBAAAFwCAAAAAAAAAiAAADgDAAAAAAAABSAA - AKgCAAAAAAAAECAAALgCAAAAAAAAESAAAOwCAAAAAAAAEiAAAMwC - AAAAAAAAEyAAANwCAAAAAAAAICAAABgDAAAAAAAAMCAAAEQDAAAA - AAAAAcAAAIwCAAAAAAAAEcAAACAAAAAAAAAAEsAAAJwCAAAAAAAA - ENAAAAQAAAAAAAAA - - PrintOnePage - - RowAlign - 1 - RowSpacing - 36 - SheetTitle - intro 2 - UniqueID - 2 - VPages - 1 - VisibleVoidKey - 1 - - - SmartAlignmentGuidesActive - YES - SmartDistanceGuidesActive - YES - UseEntirePage - - WindowInfo - - CurrentSheet - 0 - Frame - {{2370, -145}, {1512, 839}} - ShowInfo - - ShowRuler - - Sidebar - - SidebarWidth - 246 - Sidebar_Tab - 0 - VisibleRegion - {{-1150.5555555556207, -300.05555555558078}, {1318.0555555555557, 988.88888888888891}} - WindowInfo_InspectorTab - - com.omnigroup.OmniGraffle.inspectorGroup.object - - ZoomValues - - - intro 2 - 0.71999999999999997 - 1 - - - - compressOnDiskKey - - copyLinkedImagesKey - - createSinglePDFKey - 1 - exportAreaKey - 4 - exportQualityKey - 100 - exportSizesKey - - 1 - - - fileFormatKey - 0 - graffleDocumentFormatKey - 0 - htmlImageTypeKey - 0 - includeBackgroundGraphicKey - - includeNonPrintingLayersKey - - lastExportTypeKey - 0 - marginWidthKey - 0.0 - readOnlyKey - - resolutionForBMPKey - 1 - resolutionForGIFKey - 1 - resolutionForHTMLKey - 1 - resolutionForJPGKey - 1 - resolutionForPNGKey - 2 - resolutionForTIFFKey - 1 - resolutionUnitsKey - 0 - useArtboardsKey - - useMarginKey - - useNotesKey - - - diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-1-p-1a-physical.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-1-p-1a-physical.graffle deleted file mode 100644 index ff5965cb7..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-1-p-1a-physical.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-1-p-1a.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-1-p-1a.graffle deleted file mode 100644 index 4f3fec94e..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-1-p-1a.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-1-p-1b-physical.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-1-p-1b-physical.graffle deleted file mode 100644 index 91e9805b9..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-1-p-1b-physical.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-1-p-1b-separate-clusters.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-1-p-1b-separate-clusters.graffle deleted file mode 100644 index 7cf940d35..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-1-p-1b-separate-clusters.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-1-p-1b.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-1-p-1b.graffle deleted file mode 100644 index 56a4f6be3..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-1-p-1b.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-1-p-2-physical.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-1-p-2-physical.graffle deleted file mode 100644 index ebd013580..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-1-p-2-physical.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-1-p-2.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-1-p-2.graffle deleted file mode 100644 index 1301cb720..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-1-p-2.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-1-p-3-physical.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-1-p-3-physical.graffle deleted file mode 100644 index c21aeb15a..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-1-p-3-physical.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-1-p-3.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-1-p-3.graffle deleted file mode 100644 index 84559e7fc..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-1-p-3.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-1-p-4-physical.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-1-p-4-physical.graffle deleted file mode 100644 index 81f1e7491..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-1-p-4-physical.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-1-p-4.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-1-p-4.graffle deleted file mode 100644 index 4bea17807..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-1-p-4.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-2-p-5-physical.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-2-p-5-physical.graffle deleted file mode 100644 index ef52e6e0d..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-2-p-5-physical.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-2-p-6-physical.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-2-p-6-physical.graffle deleted file mode 100644 index 5e85fe4df..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-2-p-6-physical.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-3-p-7-physical.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-3-p-7-physical.graffle deleted file mode 100644 index fe085afa0..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-3-p-7-physical.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-3-p-8-physical.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-3-p-8-physical.graffle deleted file mode 100644 index d877439ab..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-3-p-8-physical.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-4-p-9-physical.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-4-p-9-physical.graffle deleted file mode 100644 index ab497dbeb..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/ad-uc-4-p-9-physical.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/ext-auth-policy.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/ext-auth-policy.graffle deleted file mode 100644 index 8dd169790..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/ext-auth-policy.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/ext-processing-policy.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/ext-processing-policy.graffle deleted file mode 100644 index 3ad5b5c90..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/ext-processing-policy.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/flex-inbound-outbound-requests.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/flex-inbound-outbound-requests.graffle deleted file mode 100644 index ccdf305c2..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/flex-inbound-outbound-requests.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/forward-proxy-diagram.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/forward-proxy-diagram.graffle deleted file mode 100644 index ac45f2e6e..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/forward-proxy-diagram.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-architecture-diagram.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-architecture-diagram.graffle deleted file mode 100644 index eb26fc888..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-architecture-diagram.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-concepts-control-plane-diagram.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-concepts-control-plane-diagram.graffle deleted file mode 100644 index 62bec708c..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-concepts-control-plane-diagram.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-configuration-models.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-configuration-models.graffle deleted file mode 100644 index fae4c6400..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-configuration-models.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-add-gateway-k8.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-add-gateway-k8.graffle deleted file mode 100644 index bb6adaeed..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-add-gateway-k8.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-add-gateway.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-add-gateway.graffle deleted file mode 100644 index 747da0ae1..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-add-gateway.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-add-new-api.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-add-new-api.graffle deleted file mode 100644 index 616306195..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-add-new-api.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-add-policy.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-add-policy.graffle deleted file mode 100644 index 18e12a9f6..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-add-policy.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-config-basic-auth.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-config-basic-auth.graffle deleted file mode 100644 index fced574c0..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-config-basic-auth.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-add-new-api.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-add-new-api.graffle deleted file mode 100644 index 095dc78b6..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-add-new-api.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-api-config-api.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-api-config-api.graffle deleted file mode 100644 index ff998f9da..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-api-config-api.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-api-config-endpoint.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-api-config-endpoint.graffle deleted file mode 100644 index 3dacd28ba..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-api-config-endpoint.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-basic-auth.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-basic-auth.graffle deleted file mode 100644 index 14fcae195..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-basic-auth.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-config-basic-auth-edit-dialogue.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-config-basic-auth-edit-dialogue.graffle deleted file mode 100644 index a3c20d191..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-config-basic-auth-edit-dialogue.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-config-basic-auth-edit.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-config-basic-auth-edit.graffle deleted file mode 100644 index 1e6e83373..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-config-basic-auth-edit.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-my-gateway-rtm.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-my-gateway-rtm.graffle deleted file mode 100644 index 9c0ae60d3..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-my-gateway-rtm.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-return-to-gateway-list.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-return-to-gateway-list.graffle deleted file mode 100644 index 9cdd4c821..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-return-to-gateway-list.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-select-gateway-for-api.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-select-gateway-for-api.graffle deleted file mode 100644 index 03fb93569..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-select-gateway-for-api.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-view-apis.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-view-apis.graffle deleted file mode 100644 index d883082f7..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-k8-view-apis.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-select-endpoint.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-select-endpoint.graffle deleted file mode 100644 index 8fc72ab32..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-select-endpoint.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-select-gateway-for-api.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-select-gateway-for-api.graffle deleted file mode 100644 index 93bd4ad32..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-quickstart-select-gateway-for-api.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-usage-report.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-usage-report.graffle deleted file mode 100644 index 67f8b978e..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/gateway-usage-report.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/more-options-menu.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/more-options-menu.graffle deleted file mode 100644 index 716f3ed5e..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/more-options-menu.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/multiple-upstreams.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/multiple-upstreams.graffle deleted file mode 100644 index 53cd8a4eb..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/multiple-upstreams.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/no-proxy-diagram.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/no-proxy-diagram.graffle deleted file mode 100644 index fe4164ea3..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/no-proxy-diagram.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/rate-limiting-clusterizable.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/rate-limiting-clusterizable.graffle deleted file mode 100644 index 04655e47b..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/rate-limiting-clusterizable.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/rate-limiting-configure-clusters.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/rate-limiting-configure-clusters.graffle deleted file mode 100644 index 18281e7e5..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/rate-limiting-configure-clusters.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/rate-limiting-configure-identifiers-dataweave.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/rate-limiting-configure-identifiers-dataweave.graffle deleted file mode 100644 index 2c6630202..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/rate-limiting-configure-identifiers-dataweave.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/rate-limiting-configure-identifiers-example.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/rate-limiting-configure-identifiers-example.graffle deleted file mode 100644 index a21316cc4..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/rate-limiting-configure-identifiers-example.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/rate-limiting-generic-example.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/rate-limiting-generic-example.graffle deleted file mode 100644 index aa8c36f60..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/rate-limiting-generic-example.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/rate-limiting-sla-general.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/rate-limiting-sla-general.graffle deleted file mode 100644 index 76c4be639..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/rate-limiting-sla-general.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/image-source-files/shared-storage.graffle b/gateway/1.6/modules/ROOT/assets/image-source-files/shared-storage.graffle deleted file mode 100644 index bbce85fdb..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/image-source-files/shared-storage.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/access-token.png b/gateway/1.6/modules/ROOT/assets/images/access-token.png deleted file mode 100644 index c03a4eed8..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/access-token.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/accessing-your-api-behind-a-firewall-e7a50.png b/gateway/1.6/modules/ROOT/assets/images/accessing-your-api-behind-a-firewall-e7a50.png deleted file mode 100644 index 5b1b3a9a0..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/accessing-your-api-behind-a-firewall-e7a50.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/ad-egress-deployment.png b/gateway/1.6/modules/ROOT/assets/images/ad-egress-deployment.png deleted file mode 100644 index 82293d6cc..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/ad-egress-deployment.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/ad-external-non-org-mtls.png b/gateway/1.6/modules/ROOT/assets/images/ad-external-non-org-mtls.png deleted file mode 100644 index 4afc2a006..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/ad-external-non-org-mtls.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/ad-external-org-mtls.png b/gateway/1.6/modules/ROOT/assets/images/ad-external-org-mtls.png deleted file mode 100644 index 0103af0e3..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/ad-external-org-mtls.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/ad-ingress-controller.png b/gateway/1.6/modules/ROOT/assets/images/ad-ingress-controller.png deleted file mode 100644 index 0bfaca3fa..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/ad-ingress-controller.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/ad-ingress-deployment.png b/gateway/1.6/modules/ROOT/assets/images/ad-ingress-deployment.png deleted file mode 100644 index e7baa9e74..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/ad-ingress-deployment.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/ad-intergration-use-cases.png b/gateway/1.6/modules/ROOT/assets/images/ad-intergration-use-cases.png deleted file mode 100644 index 8c1879ab6..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/ad-intergration-use-cases.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/ad-internal-org-mtls.png b/gateway/1.6/modules/ROOT/assets/images/ad-internal-org-mtls.png deleted file mode 100644 index 1ff67c2ac..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/ad-internal-org-mtls.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/ad-sidecar-deployment.png b/gateway/1.6/modules/ROOT/assets/images/ad-sidecar-deployment.png deleted file mode 100644 index c79d92b72..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/ad-sidecar-deployment.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/ad-standalone-deployment.png b/gateway/1.6/modules/ROOT/assets/images/ad-standalone-deployment.png deleted file mode 100644 index 0ac72ef86..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/ad-standalone-deployment.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/ad-uc-1-p-1a-physical.png b/gateway/1.6/modules/ROOT/assets/images/ad-uc-1-p-1a-physical.png deleted file mode 100644 index 28e6d3eff..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/ad-uc-1-p-1a-physical.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/ad-uc-1-p-1a.png b/gateway/1.6/modules/ROOT/assets/images/ad-uc-1-p-1a.png deleted file mode 100644 index 45dafcea2..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/ad-uc-1-p-1a.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/ad-uc-1-p-1b-physical.png b/gateway/1.6/modules/ROOT/assets/images/ad-uc-1-p-1b-physical.png deleted file mode 100644 index 1a29b94db..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/ad-uc-1-p-1b-physical.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/ad-uc-1-p-1b-separate-clusters.png b/gateway/1.6/modules/ROOT/assets/images/ad-uc-1-p-1b-separate-clusters.png deleted file mode 100644 index 84e0ea72e..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/ad-uc-1-p-1b-separate-clusters.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/ad-uc-1-p-1b.png b/gateway/1.6/modules/ROOT/assets/images/ad-uc-1-p-1b.png deleted file mode 100644 index 4084d1996..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/ad-uc-1-p-1b.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/ad-uc-1-p-2-physical.png b/gateway/1.6/modules/ROOT/assets/images/ad-uc-1-p-2-physical.png deleted file mode 100644 index 630b73c51..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/ad-uc-1-p-2-physical.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/ad-uc-1-p-2.png b/gateway/1.6/modules/ROOT/assets/images/ad-uc-1-p-2.png deleted file mode 100644 index 70530fa9e..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/ad-uc-1-p-2.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/ad-uc-1-p-3-physical.png b/gateway/1.6/modules/ROOT/assets/images/ad-uc-1-p-3-physical.png deleted file mode 100644 index 189e89a15..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/ad-uc-1-p-3-physical.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/ad-uc-1-p-3.png b/gateway/1.6/modules/ROOT/assets/images/ad-uc-1-p-3.png deleted file mode 100644 index 6f5d97432..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/ad-uc-1-p-3.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/ad-uc-1-p-4-physical.png b/gateway/1.6/modules/ROOT/assets/images/ad-uc-1-p-4-physical.png deleted file mode 100644 index 8851f636d..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/ad-uc-1-p-4-physical.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/ad-uc-1-p-4.png b/gateway/1.6/modules/ROOT/assets/images/ad-uc-1-p-4.png deleted file mode 100644 index a9927c4e1..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/ad-uc-1-p-4.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/ad-uc-2-p-5-physical.png b/gateway/1.6/modules/ROOT/assets/images/ad-uc-2-p-5-physical.png deleted file mode 100644 index 861ca295e..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/ad-uc-2-p-5-physical.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/ad-uc-2-p-6-physical.png b/gateway/1.6/modules/ROOT/assets/images/ad-uc-2-p-6-physical.png deleted file mode 100644 index b772ac1a9..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/ad-uc-2-p-6-physical.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/ad-uc-3-p-7-physical.png b/gateway/1.6/modules/ROOT/assets/images/ad-uc-3-p-7-physical.png deleted file mode 100644 index 8fa76c0c8..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/ad-uc-3-p-7-physical.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/ad-uc-3-p-8-physical.png b/gateway/1.6/modules/ROOT/assets/images/ad-uc-3-p-8-physical.png deleted file mode 100644 index 29d73d48d..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/ad-uc-3-p-8-physical.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/ad-uc-4-p-9-physical.png b/gateway/1.6/modules/ROOT/assets/images/ad-uc-4-p-9-physical.png deleted file mode 100644 index 558c09cb7..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/ad-uc-4-p-9-physical.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/api-gateway-capabilities-mule4-2ed4e.png b/gateway/1.6/modules/ROOT/assets/images/api-gateway-capabilities-mule4-2ed4e.png deleted file mode 100644 index 267262b2c..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/api-gateway-capabilities-mule4-2ed4e.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/api-gateway-capabilities-mule4-40081.png b/gateway/1.6/modules/ROOT/assets/images/api-gateway-capabilities-mule4-40081.png deleted file mode 100644 index a0e4ac68d..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/api-gateway-capabilities-mule4-40081.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/api-gateway-capabilities-mule4-62bf9.png b/gateway/1.6/modules/ROOT/assets/images/api-gateway-capabilities-mule4-62bf9.png deleted file mode 100644 index d4699e0b1..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/api-gateway-capabilities-mule4-62bf9.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/api-gateway-enabling-0cbca.png b/gateway/1.6/modules/ROOT/assets/images/api-gateway-enabling-0cbca.png deleted file mode 100644 index 0bf2bf364..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/api-gateway-enabling-0cbca.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/api-groups-add-sla-tier.png b/gateway/1.6/modules/ROOT/assets/images/api-groups-add-sla-tier.png deleted file mode 100644 index 8c1879ab6..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/api-groups-add-sla-tier.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/api-id.png b/gateway/1.6/modules/ROOT/assets/images/api-id.png deleted file mode 100644 index fa768c198..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/api-id.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/api-name-version-autodiscovery.png b/gateway/1.6/modules/ROOT/assets/images/api-name-version-autodiscovery.png deleted file mode 100644 index c786525d6..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/api-name-version-autodiscovery.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/apigateway.png b/gateway/1.6/modules/ROOT/assets/images/apigateway.png deleted file mode 100644 index 9f7addaa9..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/apigateway.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/apim-message-logging-policy-states-1.png b/gateway/1.6/modules/ROOT/assets/images/apim-message-logging-policy-states-1.png deleted file mode 100644 index fe36fec2c..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/apim-message-logging-policy-states-1.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/apim-message-logging-policy-states-2.png b/gateway/1.6/modules/ROOT/assets/images/apim-message-logging-policy-states-2.png deleted file mode 100644 index 5b14939a4..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/apim-message-logging-policy-states-2.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/apim-message-logging-policy-states-3.png b/gateway/1.6/modules/ROOT/assets/images/apim-message-logging-policy-states-3.png deleted file mode 100644 index 649a65493..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/apim-message-logging-policy-states-3.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/apim-message-logging-policy-ui.png b/gateway/1.6/modules/ROOT/assets/images/apim-message-logging-policy-ui.png deleted file mode 100644 index 11edca6e2..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/apim-message-logging-policy-ui.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/apply-header-injection-policy.png b/gateway/1.6/modules/ROOT/assets/images/apply-header-injection-policy.png deleted file mode 100644 index 41fe2a768..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/apply-header-injection-policy.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/apply-header-removal-policy.png b/gateway/1.6/modules/ROOT/assets/images/apply-header-removal-policy.png deleted file mode 100644 index 745c4de06..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/apply-header-removal-policy.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/approve-applications.png b/gateway/1.6/modules/ROOT/assets/images/approve-applications.png deleted file mode 100644 index 9426e4bb8..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/approve-applications.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/auto-discovery-api-config.png b/gateway/1.6/modules/ROOT/assets/images/auto-discovery-api-config.png deleted file mode 100644 index 56b8c6318..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/auto-discovery-api-config.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/auto-discovery-studio-7.png b/gateway/1.6/modules/ROOT/assets/images/auto-discovery-studio-7.png deleted file mode 100644 index 4bf50b655..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/auto-discovery-studio-7.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/autodis-cerate-global2.png b/gateway/1.6/modules/ROOT/assets/images/autodis-cerate-global2.png deleted file mode 100644 index c2eb2e09f..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/autodis-cerate-global2.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/autodis-choose-global2.png b/gateway/1.6/modules/ROOT/assets/images/autodis-choose-global2.png deleted file mode 100644 index f87b21c35..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/autodis-choose-global2.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/basic-flow.png b/gateway/1.6/modules/ROOT/assets/images/basic-flow.png deleted file mode 100644 index 0e2f0b65b..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/basic-flow.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/before-after-exception.png b/gateway/1.6/modules/ROOT/assets/images/before-after-exception.png deleted file mode 100644 index 33a7c0d82..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/before-after-exception.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/clientiddefault.png b/gateway/1.6/modules/ROOT/assets/images/clientiddefault.png deleted file mode 100644 index d96f41930..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/clientiddefault.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/configure-autodiscovert-4-studio.png b/gateway/1.6/modules/ROOT/assets/images/configure-autodiscovert-4-studio.png deleted file mode 100644 index 1a0162616..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/configure-autodiscovert-4-studio.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/configure-regex-resources-list.png b/gateway/1.6/modules/ROOT/assets/images/configure-regex-resources-list.png deleted file mode 100644 index 669642141..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/configure-regex-resources-list.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/configure-uri-regex-example.png b/gateway/1.6/modules/ROOT/assets/images/configure-uri-regex-example.png deleted file mode 100644 index 0be02e521..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/configure-uri-regex-example.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/cors-policy-sop-example.png b/gateway/1.6/modules/ROOT/assets/images/cors-policy-sop-example.png deleted file mode 100644 index c9aed63d7..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/cors-policy-sop-example.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/cors-policy-xhr-diagram.png b/gateway/1.6/modules/ROOT/assets/images/cors-policy-xhr-diagram.png deleted file mode 100644 index 9adc897c3..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/cors-policy-xhr-diagram.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/custom-response-configuration.png b/gateway/1.6/modules/ROOT/assets/images/custom-response-configuration.png deleted file mode 100644 index b7c6fe35d..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/custom-response-configuration.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/custom-response-policy-platform.png b/gateway/1.6/modules/ROOT/assets/images/custom-response-policy-platform.png deleted file mode 100644 index 5d7458485..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/custom-response-policy-platform.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/custom-response-policy-ui.png b/gateway/1.6/modules/ROOT/assets/images/custom-response-policy-ui.png deleted file mode 100644 index 061010189..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/custom-response-policy-ui.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/depends-on-key-demo.png b/gateway/1.6/modules/ROOT/assets/images/depends-on-key-demo.png deleted file mode 100644 index eaf838b39..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/depends-on-key-demo.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/environment-api-manager.png b/gateway/1.6/modules/ROOT/assets/images/environment-api-manager.png deleted file mode 100644 index bfc36dbc7..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/environment-api-manager.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/ext-auth-policy.png b/gateway/1.6/modules/ROOT/assets/images/ext-auth-policy.png deleted file mode 100644 index 1a01bbddb..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/ext-auth-policy.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/ext-processing-policy.png b/gateway/1.6/modules/ROOT/assets/images/ext-processing-policy.png deleted file mode 100644 index 870e5215e..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/ext-processing-policy.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/external-oauth-2_0-token-validation-policy-ba3c0.png b/gateway/1.6/modules/ROOT/assets/images/external-oauth-2_0-token-validation-policy-ba3c0.png deleted file mode 100644 index c4fb4064d..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/external-oauth-2_0-token-validation-policy-ba3c0.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/flex-alerts-edit.png b/gateway/1.6/modules/ROOT/assets/images/flex-alerts-edit.png deleted file mode 100644 index 732f5833d..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/flex-alerts-edit.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/flex-inbound-outbound-requests.png b/gateway/1.6/modules/ROOT/assets/images/flex-inbound-outbound-requests.png deleted file mode 100644 index e68fda2d8..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/flex-inbound-outbound-requests.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/forward-proxy-diagram.png b/gateway/1.6/modules/ROOT/assets/images/forward-proxy-diagram.png deleted file mode 100644 index d297f81e1..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/forward-proxy-diagram.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/gateway-architecture-diagram.png b/gateway/1.6/modules/ROOT/assets/images/gateway-architecture-diagram.png deleted file mode 100644 index e72676b90..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/gateway-architecture-diagram.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/gateway-concepts-control-plane-diagram.png b/gateway/1.6/modules/ROOT/assets/images/gateway-concepts-control-plane-diagram.png deleted file mode 100644 index 8bd2500ea..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/gateway-concepts-control-plane-diagram.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/gateway-configuration-models.png b/gateway/1.6/modules/ROOT/assets/images/gateway-configuration-models.png deleted file mode 100644 index a4ecb2dd7..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/gateway-configuration-models.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-add-gateway.png b/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-add-gateway.png deleted file mode 100644 index 665a27bf7..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-add-gateway.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-add-new-api.png b/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-add-new-api.png deleted file mode 100644 index a99128e6c..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-add-new-api.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-add-policy.png b/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-add-policy.png deleted file mode 100644 index 6cd97268b..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-add-policy.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-config-basic-auth.png b/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-config-basic-auth.png deleted file mode 100644 index 5caf246fb..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-config-basic-auth.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-k8-add-gateway-rtm.png b/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-k8-add-gateway-rtm.png deleted file mode 100644 index a5c9679d1..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-k8-add-gateway-rtm.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-k8-add-new-api.png b/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-k8-add-new-api.png deleted file mode 100644 index c8d3b764a..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-k8-add-new-api.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-k8-api-config-api.png b/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-k8-api-config-api.png deleted file mode 100644 index f17a8d498..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-k8-api-config-api.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-k8-api-config-endpoint.png b/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-k8-api-config-endpoint.png deleted file mode 100644 index 460410595..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-k8-api-config-endpoint.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-k8-basic-auth.png b/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-k8-basic-auth.png deleted file mode 100644 index adbd8cf94..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-k8-basic-auth.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-k8-config-basic-auth-edit-dialogue.png b/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-k8-config-basic-auth-edit-dialogue.png deleted file mode 100644 index a5215a411..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-k8-config-basic-auth-edit-dialogue.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-k8-config-basic-auth-edit.png b/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-k8-config-basic-auth-edit.png deleted file mode 100644 index 1b0c06a17..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-k8-config-basic-auth-edit.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-k8-gateway-menu-options.png b/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-k8-gateway-menu-options.png deleted file mode 100644 index 192ac478f..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-k8-gateway-menu-options.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-k8-my-gateway-rtm.png b/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-k8-my-gateway-rtm.png deleted file mode 100644 index 35f356df5..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-k8-my-gateway-rtm.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-k8-return-to-gateway-list.png b/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-k8-return-to-gateway-list.png deleted file mode 100644 index 339f3ad2c..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-k8-return-to-gateway-list.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-k8-select-gateway-for-api.png b/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-k8-select-gateway-for-api.png deleted file mode 100644 index 78e5bf271..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-k8-select-gateway-for-api.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-k8-view-apis.png b/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-k8-view-apis.png deleted file mode 100644 index 881f52f2a..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-k8-view-apis.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-select-endpoint.png b/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-select-endpoint.png deleted file mode 100644 index 75e619f24..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-select-endpoint.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-select-gateway-for-api.png b/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-select-gateway-for-api.png deleted file mode 100644 index ab48ba22a..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/gateway-quickstart-select-gateway-for-api.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/gateway-usage-report.png b/gateway/1.6/modules/ROOT/assets/images/gateway-usage-report.png deleted file mode 100644 index 03da59583..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/gateway-usage-report.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/header-inject-remove-diagram.png b/gateway/1.6/modules/ROOT/assets/images/header-inject-remove-diagram.png deleted file mode 100644 index baa5c72ef..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/header-inject-remove-diagram.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/http-policy-cache-hit.png b/gateway/1.6/modules/ROOT/assets/images/http-policy-cache-hit.png deleted file mode 100644 index 5939ed79c..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/http-policy-cache-hit.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/http-policy-cache-miss.png b/gateway/1.6/modules/ROOT/assets/images/http-policy-cache-miss.png deleted file mode 100644 index a3ff6c0d0..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/http-policy-cache-miss.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/in-header-out-header-add-icon.png b/gateway/1.6/modules/ROOT/assets/images/in-header-out-header-add-icon.png deleted file mode 100644 index 33eed217a..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/in-header-out-header-add-icon.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/install-amazon-linux-logo.png b/gateway/1.6/modules/ROOT/assets/images/install-amazon-linux-logo.png deleted file mode 100644 index 4d085ea79..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/install-amazon-linux-logo.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/install-centos-logo.png b/gateway/1.6/modules/ROOT/assets/images/install-centos-logo.png deleted file mode 100644 index ed0169081..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/install-centos-logo.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/install-container-logo.png b/gateway/1.6/modules/ROOT/assets/images/install-container-logo.png deleted file mode 100644 index c1b658776..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/install-container-logo.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/install-debian-logo.png b/gateway/1.6/modules/ROOT/assets/images/install-debian-logo.png deleted file mode 100644 index 741afab4d..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/install-debian-logo.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/install-docker-logo.png b/gateway/1.6/modules/ROOT/assets/images/install-docker-logo.png deleted file mode 100644 index 8efabc30c..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/install-docker-logo.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/install-kubernetes-logo.png b/gateway/1.6/modules/ROOT/assets/images/install-kubernetes-logo.png deleted file mode 100644 index 13cb03cbb..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/install-kubernetes-logo.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/install-linux-logo.png b/gateway/1.6/modules/ROOT/assets/images/install-linux-logo.png deleted file mode 100644 index bda094c33..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/install-linux-logo.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/install-openshift-logo.png b/gateway/1.6/modules/ROOT/assets/images/install-openshift-logo.png deleted file mode 100644 index f5d844bb2..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/install-openshift-logo.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/install-podman-logo.png b/gateway/1.6/modules/ROOT/assets/images/install-podman-logo.png deleted file mode 100644 index 1a07bf273..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/install-podman-logo.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/install-rhel-logo.png b/gateway/1.6/modules/ROOT/assets/images/install-rhel-logo.png deleted file mode 100644 index eed06e9c3..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/install-rhel-logo.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/install-ubuntu-logo.png b/gateway/1.6/modules/ROOT/assets/images/install-ubuntu-logo.png deleted file mode 100644 index cb675289d..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/install-ubuntu-logo.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/ip-filter-ip-expression.png b/gateway/1.6/modules/ROOT/assets/images/ip-filter-ip-expression.png deleted file mode 100644 index 4a52c3b3d..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/ip-filter-ip-expression.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/json-threat-policy.png b/gateway/1.6/modules/ROOT/assets/images/json-threat-policy.png deleted file mode 100644 index e60cf4ebf..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/json-threat-policy.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/ldap-verification-invalid.png b/gateway/1.6/modules/ROOT/assets/images/ldap-verification-invalid.png deleted file mode 100644 index e0366c924..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/ldap-verification-invalid.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/ldap-verification.png b/gateway/1.6/modules/ROOT/assets/images/ldap-verification.png deleted file mode 100644 index ef6a8e429..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/ldap-verification.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/limits.png b/gateway/1.6/modules/ROOT/assets/images/limits.png deleted file mode 100644 index cf7ef3cc3..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/limits.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/methods-resources.png b/gateway/1.6/modules/ROOT/assets/images/methods-resources.png deleted file mode 100644 index f2a94e1ba..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/methods-resources.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/more-options-menu.png b/gateway/1.6/modules/ROOT/assets/images/more-options-menu.png deleted file mode 100644 index 7d1ce1f75..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/more-options-menu.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/multiple-upstreams.png b/gateway/1.6/modules/ROOT/assets/images/multiple-upstreams.png deleted file mode 100644 index 4915d7b86..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/multiple-upstreams.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/no-proxy-diagram.png b/gateway/1.6/modules/ROOT/assets/images/no-proxy-diagram.png deleted file mode 100644 index 1b5d2b0d0..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/no-proxy-diagram.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/omega.png b/gateway/1.6/modules/ROOT/assets/images/omega.png deleted file mode 100644 index b2cf7414e..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/omega.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/open-id-policy-workflow.png b/gateway/1.6/modules/ROOT/assets/images/open-id-policy-workflow.png deleted file mode 100644 index c3d657379..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/open-id-policy-workflow.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/openam-oauth-token-enforcement-policy-0fbb9.png b/gateway/1.6/modules/ROOT/assets/images/openam-oauth-token-enforcement-policy-0fbb9.png deleted file mode 100644 index ba397d1a0..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/openam-oauth-token-enforcement-policy-0fbb9.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/org-credentials-config-mule3-9d90b.png b/gateway/1.6/modules/ROOT/assets/images/org-credentials-config-mule3-9d90b.png deleted file mode 100644 index 191b93f24..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/org-credentials-config-mule3-9d90b.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/org-credentials-config-mule3-af73e.png b/gateway/1.6/modules/ROOT/assets/images/org-credentials-config-mule3-af73e.png deleted file mode 100644 index e26b1413f..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/org-credentials-config-mule3-af73e.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/orgid-api-manager.png b/gateway/1.6/modules/ROOT/assets/images/orgid-api-manager.png deleted file mode 100644 index 845bd0575..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/orgid-api-manager.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/policy-filters.png b/gateway/1.6/modules/ROOT/assets/images/policy-filters.png deleted file mode 100644 index d89e39041..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/policy-filters.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/policy-mule4-tokenization-67b25.png b/gateway/1.6/modules/ROOT/assets/images/policy-mule4-tokenization-67b25.png deleted file mode 100644 index 81894e214..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/policy-mule4-tokenization-67b25.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/policy-mule4-tokenization-9347d.png b/gateway/1.6/modules/ROOT/assets/images/policy-mule4-tokenization-9347d.png deleted file mode 100644 index 0daf6381b..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/policy-mule4-tokenization-9347d.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/quota-policy-formula.png b/gateway/1.6/modules/ROOT/assets/images/quota-policy-formula.png deleted file mode 100644 index e3583d3b1..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/quota-policy-formula.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/raml-snippet.png b/gateway/1.6/modules/ROOT/assets/images/raml-snippet.png deleted file mode 100644 index fb9c0488d..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/raml-snippet.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/rate-limit-identifier.png b/gateway/1.6/modules/ROOT/assets/images/rate-limit-identifier.png deleted file mode 100644 index c50685e5b..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/rate-limit-identifier.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/rate-limiting-clusterizable.png b/gateway/1.6/modules/ROOT/assets/images/rate-limiting-clusterizable.png deleted file mode 100644 index af0139376..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/rate-limiting-clusterizable.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/rate-limiting-configure-clusters.png b/gateway/1.6/modules/ROOT/assets/images/rate-limiting-configure-clusters.png deleted file mode 100644 index da835d587..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/rate-limiting-configure-clusters.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/rate-limiting-configure-identifiers-dataweave.png b/gateway/1.6/modules/ROOT/assets/images/rate-limiting-configure-identifiers-dataweave.png deleted file mode 100644 index 204cd2fa9..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/rate-limiting-configure-identifiers-dataweave.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/rate-limiting-configure-identifiers-example.png b/gateway/1.6/modules/ROOT/assets/images/rate-limiting-configure-identifiers-example.png deleted file mode 100644 index 9d5d919b0..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/rate-limiting-configure-identifiers-example.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/rate-limiting-generic-example.png b/gateway/1.6/modules/ROOT/assets/images/rate-limiting-generic-example.png deleted file mode 100644 index 914ebb49a..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/rate-limiting-generic-example.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/rate-limiting-sla-general.png b/gateway/1.6/modules/ROOT/assets/images/rate-limiting-sla-general.png deleted file mode 100644 index de4abf52a..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/rate-limiting-sla-general.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/redis-same-cluster.graffle b/gateway/1.6/modules/ROOT/assets/images/redis-same-cluster.graffle deleted file mode 100644 index c1e270190..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/redis-same-cluster.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/redis-same-cluster.png b/gateway/1.6/modules/ROOT/assets/images/redis-same-cluster.png deleted file mode 100644 index 372592762..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/redis-same-cluster.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/redis-same-vpc.graffle b/gateway/1.6/modules/ROOT/assets/images/redis-same-vpc.graffle deleted file mode 100644 index d579c4e76..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/redis-same-vpc.graffle and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/redis-same-vpc.png b/gateway/1.6/modules/ROOT/assets/images/redis-same-vpc.png deleted file mode 100644 index d23611bf1..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/redis-same-vpc.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/remove-inbound-header.png b/gateway/1.6/modules/ROOT/assets/images/remove-inbound-header.png deleted file mode 100644 index de64ede3f..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/remove-inbound-header.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/rlp-conditions.png b/gateway/1.6/modules/ROOT/assets/images/rlp-conditions.png deleted file mode 100644 index 166bf2ed1..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/rlp-conditions.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/scopes-mule4.png b/gateway/1.6/modules/ROOT/assets/images/scopes-mule4.png deleted file mode 100644 index f38604bbd..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/scopes-mule4.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/search-scope.png b/gateway/1.6/modules/ROOT/assets/images/search-scope.png deleted file mode 100644 index 095a939a6..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/search-scope.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/search-scope2.png b/gateway/1.6/modules/ROOT/assets/images/search-scope2.png deleted file mode 100644 index e392b885f..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/search-scope2.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/select-policy.png b/gateway/1.6/modules/ROOT/assets/images/select-policy.png deleted file mode 100644 index 2ba4f94e5..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/select-policy.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/shared-storage.png b/gateway/1.6/modules/ROOT/assets/images/shared-storage.png deleted file mode 100644 index 15dc5e34a..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/shared-storage.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/spike-control.png b/gateway/1.6/modules/ROOT/assets/images/spike-control.png deleted file mode 100644 index beef9f5d3..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/spike-control.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/three-dots-menu.png b/gateway/1.6/modules/ROOT/assets/images/three-dots-menu.png deleted file mode 100644 index 1ba86954f..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/three-dots-menu.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/throttling-accepted-request.png b/gateway/1.6/modules/ROOT/assets/images/throttling-accepted-request.png deleted file mode 100644 index 93a8f3a92..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/throttling-accepted-request.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/throttling-rejected-request.png b/gateway/1.6/modules/ROOT/assets/images/throttling-rejected-request.png deleted file mode 100644 index 8e1f46ae5..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/throttling-rejected-request.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/upgrade-custom-policy-mule3-08395.png b/gateway/1.6/modules/ROOT/assets/images/upgrade-custom-policy-mule3-08395.png deleted file mode 100644 index 2cf2df4e6..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/upgrade-custom-policy-mule3-08395.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/users-api-cropped.png b/gateway/1.6/modules/ROOT/assets/images/users-api-cropped.png deleted file mode 100644 index 1446cd7a0..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/users-api-cropped.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/view-add-alert.png b/gateway/1.6/modules/ROOT/assets/images/view-add-alert.png deleted file mode 100644 index 5a653ed93..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/view-add-alert.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/assets/images/xml-threat-policy.png b/gateway/1.6/modules/ROOT/assets/images/xml-threat-policy.png deleted file mode 100644 index 22ebc0b3c..000000000 Binary files a/gateway/1.6/modules/ROOT/assets/images/xml-threat-policy.png and /dev/null differ diff --git a/gateway/1.6/modules/ROOT/nav.adoc b/gateway/1.6/modules/ROOT/nav.adoc deleted file mode 100644 index 1650b303d..000000000 --- a/gateway/1.6/modules/ROOT/nav.adoc +++ /dev/null @@ -1,124 +0,0 @@ -* xref:index.adoc[] -* xref:flex-gateway-release-notes.adoc[Release Notes] -* xref:flex-architecture-overview.adoc[] -** xref:flex-architecture-basic-deployments.adoc[] -** xref:flex-architecture-uc-overview.adoc[] -*** xref:flex-architecture-uc1.adoc[] -*** xref:flex-architecture-uc2.adoc[] -*** xref:flex-architecture-uc3.adoc[] -*** xref:flex-architecture-uc4.adoc[] -** xref:flex-architecture-shared-storage.adoc[] -* xref:flex-review-prerequisites.adoc[Reviewing Prerequisites] -* xref:flex-sizing-guide.adoc[] -* xref:flex-gateway-getting-started.adoc[] -* xref:flex-gateway-k8-getting-started.adoc[] -* xref:flex-gateway-set-up.adoc[] -** xref:flex-install.adoc[Download Flex Gateway] -** xref:flex-conn-reg-run.adoc[Register and Run in Connected Mode] -*** xref:flex-conn-reg-run-up.adoc[With a Username and Password] -*** xref:flex-conn-reg-run-app.adoc[With a Connected App] -*** xref:flex-conn-reg-run-token.adoc[With a Token] -** xref:flex-local-reg-run.adoc[Register and Run in Local Mode] -*** xref:flex-local-reg-run-up.adoc[With a Username and Password] -*** xref:flex-local-reg-run-app.adoc[With a Connected App] -*** xref:flex-local-reg-run-token.adoc[With a Token] -* xref:flex-gateway-configure.adoc[] -** xref:flex-conn-configure.adoc[] -*** xref:flex-conn-rep-run.adoc[Configure Replicas] -*** xref:flex-conn-tls-config.adoc[Configure TLS Context] -*** xref:flex-conn-shared-storage-config.adoc[Configure Shared Storage] -*** xref:flex-conn-forward-proxy.adoc[Configure a Forward Proxy] -*** xref:flex-conn-manage-public-api.adoc[Configure with the API Manager API Tool] -*** xref:flex-conn-liveness-check.adoc[Configure a Liveness Check] -*** xref:flex-conn-proxy-protocol.adoc[Configure PROXY Protocol] -*** xref:flex-conn-jenkins-api.adoc[Automate Flex Gateway with a Jenkins Pipeline using the API Manager API] -*** xref:flex-conn-jenkins-cli.adoc[Automate Flex Gateway with a Jenkins Pipeline using Anypoint CLI] -** xref:flex-local-configure.adoc[] -*** xref:flex-local-rep-run.adoc[Configure Replicas] -*** xref:flex-local-tls-config.adoc[Configure TLS Context] -*** xref:flex-local-shared-storage-config.adoc[Configure Shared Storage] -*** xref:flex-local-forward-proxy.adoc[Configure a Forward Proxy] -*** xref:flex-local-liveness-check.adoc[Configure a Liveness Check] -*** xref:flex-local-proxy-protocol.adoc[Configure PROXY Protocol] -*** xref:flex-local-configuration-reference-guide.adoc[Declarative Configuration Reference] -* xref:flex-gateway-publish-apis.adoc[] -** xref:flex-gateway-publish-apis-conn.adoc[] -** xref:flex-gateway-publish-apis-local.adoc[] -*** xref:flex-local-publish-simple-api.adoc[Publish a Simple API] -*** xref:flex-local-publish-api-multiple-services.adoc[Publish an API with Multiple Upstream Services] -* xref:flex-gateway-secure-apis.adoc[] -** xref:policies-included-directory.adoc[] -*** xref:policies-included-basic-auth-ldap.adoc[Basic Authentication: LDAP] -*** xref:policies-included-basic-auth-simple.adoc[Basic Authentication: Simple] -*** xref:policies-included-client-id-enforcement.adoc[Client ID Enforcement] -*** xref:policies-included-cors.adoc[Cross-Origin Resource Sharing (CORS)] -*** xref:policies-included-external-authorization.adoc[External Authorization] -*** xref:policies-included-external-processing.adoc[External Processing] -*** xref:policies-included-header-injection.adoc[Header Injection] -*** xref:policies-included-header-removal.adoc[Header Removal] -*** xref:policies-included-health-check.adoc[Health Check] -*** xref:policies-included-http-caching.adoc[HTTP Caching] -*** xref:policies-included-ip-allowlist.adoc[IP Allowlist] -*** xref:policies-included-ip-blocklist.adoc[IP Blocklist] -*** xref:policies-included-json-threat-protection.adoc[JSON Threat Protection] -*** xref:policies-included-jwt-validation.adoc[JWT Validation] -*** xref:policies-included-message-logging.adoc[Message Logging] -*** xref:policies-included-oauth-token-introspection.adoc[OAuth 2.0 Token Introspection] -*** xref:policies-included-openid-token-enforcement.adoc[OpenID Connect OAuth 2.0 Token Enforcement] -*** xref:policies-included-rate-limiting.adoc[Rate Limiting] -*** xref:policies-included-rate-limiting-sla.adoc[Rate Limiting: SLA-Based] -*** xref:policies-included-schema-validation.adoc[Schema Validation] -*** xref:policies-included-spike-control.adoc[Spike Control] -*** xref:policies-included-traffic-management-route.adoc[Traffic Management for Multiple Upstream Services] -*** xref:policies-included-traffic-management.adoc[Traffic Management for Multiple Upstream Services (Weighted)] -*** xref:policies-included-tls.adoc[Transport Layer Security (TLS) - Inbound] -*** xref:policies-included-tls-outbound.adoc[Transport Layer Security (TLS) - Outbound] -** xref:policies-custom-overview.adoc[] -*** xref:policies-custom-flex-implement-rust.adoc[] -*** xref:policies-custom-flex-getting-started.adoc[] -** xref:policies-automated-overview.adoc[] -*** xref:policies-automated-applying.adoc[Apply an Automated Policy] -** xref:policies-resource-level-overview.adoc[] -** xref:flex-gateway-secure-conn.adoc[] -*** xref:policies-included-apply.adoc[Apply a Policy in Connected Mode] -** xref:flex-gateway-secure-local.adoc[] -*** xref:flex-local-secure-api-with-basic-auth-policy.adoc[With Basic Authentication and Rate Limiting] -*** xref:flex-local-secure-api-with-auto-policy.adoc[With an Automated Resource-Level Policy] -*** xref:flex-local-deploy-custom-policy.adoc[With a Custom Policy] -** xref:policies-reorder.adoc[] -** xref:policies-flex-dataweave-support.adoc[DataWeave Support] -* xref:flex-gateway-monitor.adoc[Monitoring Flex Gateway] -** xref:flex-conn-monitor.adoc[Monitoring in Connected Mode] -*** xref:flex-conn-message-log.adoc[Configure Message Logging] -*** xref:flex-use-api-alerts.adoc[Configure API Alerts] -*** xref:flex-conn-third-party-logs-config.adoc[Configure Logs for Third-Party Services] -*** xref:flex-view-api-metrics.adoc[View Key Metrics for Flex Gateway APIs] -*** xref:flex-view-replica-status.adoc[View the Replica Status in Runtime Manager] -*** xref:flex-view-api-status.adoc[View the API Status in Runtime Manager] -*** xref:flex-view-logs-in-monitoring.adoc[View Logs in Anypoint Monitoring] -*** xref:flex-conn-disable-logs.adoc[Disable Log Output to Anypoint Platform] -** xref:flex-local-monitor.adoc[Monitoring in Local Mode] -*** xref:flex-local-third-party-logs-config.adoc[Configure External Logs for Flex Gateway in Local Mode] -*** xref:flex-local-view-logs.adoc[View Standard Output Logs] -* xref:flex-gateway-manage.adoc[] -** xref:flex-gateway-upgrade.adoc[Upgrade Flex Gateway] -** xref:flex-gateway-delete.adoc[Delete an Instance of Flex Gateway] -** xref:flex-gateway-uninstall.adoc[Uninstall Flex Gateway] -** xref:flex-gateway-k8-management.adoc[] -*** xref:flex-gateway-k8-change-helm-settings.adoc[Update a Helm Chart] -*** xref:flex-gateway-k8-high-availability.adoc[Autoscale and Add Replicas to a Namespace] -*** xref:flex-gateway-k8-node-affinity-config.adoc[Configure Node Affinity] -*** xref:flex-gateway-k8-external-dns.adoc[Provide a Domain Name] -*** xref:flex-gateway-k8-ingress-class.adoc[Configure an IngressClass Resource] -** xref:flex-gateway-renew-certificate.adoc[Renew Flex Gateway Registration] -* xref:flex-troubleshoot.adoc[Troubleshooting] -** xref:flex-troubleshoot-debug-logs.adoc[Troubleshoot with Debug Logs] -** xref:flex-troubleshoot-reg.adoc[Troubleshoot Registration Issues] -** xref:flex-troubleshoot-logging.adoc[Troubleshoot Logging Issues] -** xref:flex-troubleshoot-linux-services.adoc[Troubleshoot Linux Services] -** xref:flex-troubleshoot-admin-api.adoc[Troubleshoot with the CLI] -** xref:flex-troubleshoot-soap-apis.adoc[Troubleshoot SOAP APIs] -** xref:flex-troubleshoot-requests.adoc[Troubleshoot Request Connection] -** xref:flex-troubleshoot-docker.adoc[] -** xref:flex-troubleshoot-helm.adoc[] -** xref:flex-troubleshoot-regex.adoc[] diff --git a/gateway/1.6/modules/ROOT/pages/_attributes.adoc b/gateway/1.6/modules/ROOT/pages/_attributes.adoc deleted file mode 100644 index 3b366f9e8..000000000 --- a/gateway/1.6/modules/ROOT/pages/_attributes.adoc +++ /dev/null @@ -1,2 +0,0 @@ -:moduledir: .. -include::{moduledir}/_attributes.adoc[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/_partials/configuration-task-list.adoc b/gateway/1.6/modules/ROOT/pages/_partials/configuration-task-list.adoc deleted file mode 100644 index c69c12e51..000000000 --- a/gateway/1.6/modules/ROOT/pages/_partials/configuration-task-list.adoc +++ /dev/null @@ -1,60 +0,0 @@ -//tag::configuration-task-list-replicas[] -* xref:flex-{page-mode}-rep-run.adoc[Configure Replicas] - Anypoint Flex Gateway enables you to create replicas, which are instances of Flex Gateway. By default, Flex Gateway runs as a single replica. Running multiple replicas enables scaling, load balancing, and high availability. -//end::configuration-task-list-replicas[] - -//tag::configuration-task-list-tls[] -* xref:flex-{page-mode}-tls-config.adoc[Configure TLS Context] - Flex Gateway enables you to configure a TLS context to support regular TLS and mTLS in both inbound and outbound directions. -//end::configuration-task-list-tls[] - -//tag::configuration-task-list-shared-storage[] -* xref:flex-{page-mode}-shared-storage-config.adoc[Configure Shared Storage] - Flex Gateway enables you to configure shared storage for distributed caching and rate limiting policies. -//end::configuration-task-list-shared-storage[] - -//tag::configuration-task-list-forward-proxy[] -* xref:flex-{page-mode}-forward-proxy.adoc[Configure a Forward Proxy] - Flex Gateway enables you to configure a forward proxy to route external HTTP connections through a proxy connection. -//end::configuration-task-list-forward-proxy[] - -//tag::configuration-task-list-apim-api[] -* xref:flex-{page-mode}-manage-public-api.adoc[Configure with the API Manager API Tool] - Flex Gateway enables you to configure and manage Flex Gateway via the API Manager API tool, a command-line tool used to communicate with API Manager. -//end::configuration-task-list-apim-api[] - -//tag::configuration-task-list-jenkins[] -* xref:flex-{page-mode}-jenkins-api.adoc[Automate Flex Gateway with a Jenkins Pipeline using the API Manager API] - Flex Gateway enables you to build a Jenkins Pipeline by using the API Manager API to automate workflows. -//end::configuration-task-list-jenkins[] - -//tag::configuration-task-list-jenkins-cli[] -* xref:flex-{page-mode}-jenkins-cli.adoc[Automate Flex Gateway with a Jenkins Pipeline using Anypoint CLI] - Flex Gateway enables you to build a Jenkins Pipeline by using Anypoint CLI to automate workflows. -//end::configuration-task-list-jenkins-cli[] - -//tag::configuration-task-list-liveness-check[] -* xref:flex-{page-mode}-liveness-check.adoc[Configure a Liveness Check] - Flex Gateway enables you to run a liveness check command to test gateway health. Additionally, Flex Gateways deployed on Kubernetes include a liveness probe to automatically restart pods after a specified number of failed checks. -//end::configuration-task-list-liveness-check[] - -//tag::configuration-task-list-proxy-protocol[] -* xref:flex-{page-mode}-proxy-protocol.adoc[Configure PROXY Protocol] - Flex Gateway supports PROXY protocol to perserve client IP address when servicing multi-layer connections. -//end::configuration-task-list-proxy-protocol[] - -// Managing K8 deployments -//k8-specific management configs: -//-managing node affinity -//tag::management-k8s-nodes[] -xref:flex-gateway-k8-node-affinity-config.adoc[] - Host Flex Gateway on a specialized node that meets specific requirements. -//end::management-k8s-nodes[] - -//- managing pod reqs for flex on k8 -//tag::management-k8s-helm-settings[] -xref:flex-gateway-k8-change-helm-settings.adoc[] - Change requirements for a Pod that contains Flex Gateway. -//end::management-k8s-helm-settings[] - -//- managing externalDNS config for k8 -//tag::management-k8s-externaldns[] -xref:flex-gateway-k8-external-dns.adoc[] - Use ExternalDNS to expose an application or service on your Kubernetes cluster through a domain name. -//end::management-k8s-externaldns[] - -//tag::management-k8s-ingress-class[] -xref:flex-gateway-k8-ingress-class.adoc[] - Configure Flex Gateway as an `IngressClass` to manage `Ingress` resources. -//end::management-k8s-ingress-class[] - -//tag::management-k8s-add-replicas[] -xref:flex-gateway-k8-high-availability.adoc[] - Set a fixed replica count or autoscale to provide additional replicas. -//end::management-k8s-add-replicas[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/_partials/envoy-policy-limitations.adoc b/gateway/1.6/modules/ROOT/pages/_partials/envoy-policy-limitations.adoc deleted file mode 100644 index 2cf81507e..000000000 --- a/gateway/1.6/modules/ROOT/pages/_partials/envoy-policy-limitations.adoc +++ /dev/null @@ -1,18 +0,0 @@ -[[envoy-policy-limitations]] -== Envoy Policy Limitations - -Policies that extend filters native to Envoy have certain monitoring limitations when running in connected mode. - -=== Policy Violation Metrics - -Envoy filter policies do not support the *Policy Violations* metric in either the API instance Key Metrics or Anypoint Monitoring. However, Envoy filter policies do support the *Response Code* metric. - -Applying an Envoy filter policy does not affect the *Policy Violations* metrics for other policies applied to the API instance. Flex Gateway reports the *Policy Violations* metrics for non-Envoy filter policies as normal, but these metrics are incomplete as they do not include Envoy filter policy violations. - -To learn more about Flex Gateway Metrics, refer to xref:flex-view-api-metrics.adoc[]. - -=== API Alerts - -Envoy filter policies do not support policy violation API alerts. To monitor an Envoy filter policy with an API alert, add an alert that monitors response codes and specify the response error code of your policy. - -To learn more about adding alerts, refer to xref:flex-use-api-alerts.adoc[]. diff --git a/gateway/1.6/modules/ROOT/pages/_partials/flex-tls-cipher.adoc b/gateway/1.6/modules/ROOT/pages/_partials/flex-tls-cipher.adoc deleted file mode 100644 index 1a0e6ae93..000000000 --- a/gateway/1.6/modules/ROOT/pages/_partials/flex-tls-cipher.adoc +++ /dev/null @@ -1,127 +0,0 @@ -//tag::connectedSelect[] -[[select-ciphers]] -== Select Ciphers - -When you configure a TLS context, Secrets Manager applies default ciphers based on the TLS versions you select. In addition to the defaults, you can select other ciphers to use with the selected TLS version. Each TLS context can have multiple ciphers. - -To select ciphers: - -. Click *Ciphers* to see available ciphers. -. Select ciphers. -+ -Cipher selection is not available if only supporting TLS version 1.3. -. Click *Save* - -//end::connectedSelect[] - -//tag::cipherSupport[] - -== TLS Cipher Support on Flex Gateway - -Flex can support a range of TLS Versions from TLS 1.1 to TLS 1.3, and you can also customize some of the ciphers to support. - -You cannot customize the list of TLS 1.3 Ciphers. If you support TLS 1.3, you must support the TLS 1.3 default ciphers. - -If you support TLS 1.2, the TLS 1.2 default Ciphers are selected. However, unlike TLS 1.3, you can customize different TLS 1.2 ciphers. - -There are no default ciphers for TLS 1.1. If you choose to support TLS 1.1, you must select the ciphers you want to support. - -IMPORTANT: For outbound TLS Context, ensure that your API upstream supports the selected ciphers and versions. - -//end::cipherSupport[] - -//tag::cipherSupportLocal[] -[[local-support]] -== TLS Cipher Support on Flex Gateway - -Flex can support a range of TLS Versions from TLS 1.1 to TLS 1.3, and you can also customize some of the ciphers to support. - -You cannot customize the list of TLS 1.3 Ciphers. If you support TLS 1.3, the TLS 1.3 default ciphers are all supported regardless of the ciphers listed in the configuration file. If you don't support TLS 1.3, these ciphers are not included. - -For TLS 1.2, listing any ciphers overides the TLS 1.2 default ciphers. If you want to list ciphers besides the default TLS 1.2 Ciphers, you must list every cipher to support including the default ciphers you want to support. Excluding default ciphers from your list of supported ciphers means you do not support those ciphers. If you wish to only support the default ciphers, you can leave the cipher list blank. Listing ciphers does not affect the default TLS 1.3 cipher. - -There are no default ciphers for TLS 1.1. To support TLS 1.1, you must list the ciphers to support. If you support TLS 1.1 and TLS 1.2, listing TLS 1.1 ciphers overides the TLS 1.2 defaults. To support both these versions, list all ciphers you want to support. - -//end::cipherSupportLocal[] - -//tag::outboundImportantLocal[] - -IMPORTANT: For outbound TLS Context, ensure that your upstream service supports the selected ciphers and versions. - -//end::outboundImportantLocal[] - -//tag::ciphers[] - -=== Flex Gateway Supported Ciphers - -Flex Gateway supports the following TLS Ciphers in Connected Mode and Local Mode: - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== -| Cipher | TLS Version | Default | Advice -| TLS AES 128 GCM SHA256 | 1.3 | Yes | Secure -| TLS AES 256 GCM SHA384 | 1.3 | Yes | Secure -| TLS CHACHA20 POLY1305 SHA256 |1.3 | Yes | Secure -| TLS ECDHE ECDSA WITH AES 128 GCM SHA256 | 1.2 | Yes | Recommended -| TLS ECDHE ECDSA WITH AES 256 GCM SHA384 | 1.2 | Yes | Recommended -| TLS ECDHE ECDSA WITH CHACHA20 POLY1305 SHA256 | 1.2 | Yes | Recommended -| TLS ECDHE PSK WITH CHACHA20 POLY1305 SHA256 | 1.2 | No | Recommended -| TLS ECDHE RSA WITH AES 128 GCM SHA256 | 1.2 | Yes | Secure -| TLS ECDHE RSA WITH AES 256 GCM SHA384 | 1.2 | Yes | Secure -| TLS ECDHE RSA WITH CHACHA20 POLY1305 SHA256 | 1.2 | Yes | Secure -| TLS RSA WITH AES 128 GCM SHA256 | 1.2 | No | Weak -| TLS RSA WITH AES 256 GCM SHA384 | 1.2 | No | Weak -| TLS RSA WITH NULL SHA | 1.1, 1.2 | No | Insecure -| TLS RSA WITH AES 128 CBC SHA | 1.1, 1.2 | No | Weak -| TLS RSA WITH AES 256 CBC SHA | 1.1, 1.2 | No | Weak -| TLS PSK WITH AES 128 CBC SHA | 1.1, 1.2 | No | Weak -| TLS PSK WITH AES 256 CBC SHA | 1.1, 1.2 | No | Weak -| TLS ECDHE ECDSA WITH AES 128 CBC SHA | 1.1, 1.2 | No | Weak -| TLS ECDHE ECDSA WITH AES 256 CBC SHA | 1.1, 1.2 | No | Weak -| TLS ECDHE RSA WITH AES 128 CBC SHA | 1.1, 1.2 | No | Weak -| TLS ECDHE RSA WITH AES 256 CBC SHA | 1.1, 1.2 | No | Weak -| TLS ECDHE PSK WITH AES 128 CBC SHA | 1.1, 1.2 | No | Weak -| TLS ECDHE PSK WITH AES 256 CBC SHA | 1.1, 1.2 | No | Weak -| TLS RSA WITH 3DES EDE CBC SHA | 1.1 | No | Weak -|=== - - -//end::ciphers[] - -//tag::local-ciphers[] - -=== Flex Gateway Supported Ciphers - -Flex Gateway supports the following TLS Ciphers in Connected Mode and Local Mode: - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== -| Cipher | TLS Version | Default | Advice -| TLS_AES_128_GCM_SHA256 | 1.3 | Yes | Secure -| TLS_AES_256_GCM_SHA384 | 1.3 | Yes | Secure -| TLS_CHACHA20_POLY1305_SHA256 |1.3 | Yes | Secure -| TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 | 1.2 | Yes | Recommended -| TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 | 1.2 | Yes | Recommended -| TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 | 1.2 | Yes | Recommended -| TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 | 1.2 | No | Recommended -| TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 | 1.2 | Yes | Secure -| TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 | 1.2 | Yes | Secure -| TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 | 1.2 | Yes | Secure -| TLS_RSA_WITH_AES_128_GCM_SHA256 | 1.2 | No | Weak -| TLS_RSA_WITH_AES_256_GCM_SHA384 | 1.2 | No | Weak -| TLS_RSA_WITH_NULL_SHA | 1.1, 1.2 | No | Insecure -| TLS_RSA_WITH_AES_128_CBC_SHA | 1.1, 1.2 | No | Weak -| TLS_RSA_WITH_AES_256_CBC_SHA | 1.1, 1.2 | No | Weak -| TLS_PSK_WITH_AES_128_CBC_SHA | 1.1, 1.2 | No | Weak -| TLS_PSK_WITH_AES_256_CBC_SHA | 1.1, 1.2 | No | Weak -| TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA | 1.1, 1.2 | No | Weak -| TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA | 1.1, 1.2 | No | Weak -| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA | 1.1, 1.2 | No | Weak -| TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA | 1.1, 1.2 | No | Weak -| TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA | 1.1, 1.2 | No | Weak -| TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA | 1.1, 1.2 | No | Weak -| TLS_RSA_WITH_3DES_EDE_CBC_SHA | 1.1 | No | Weak -|=== - - -//end::local-ciphers[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/_partials/forward-proxy-config.adoc b/gateway/1.6/modules/ROOT/pages/_partials/forward-proxy-config.adoc deleted file mode 100644 index 368802ede..000000000 --- a/gateway/1.6/modules/ROOT/pages/_partials/forward-proxy-config.adoc +++ /dev/null @@ -1,192 +0,0 @@ -//tag::intro[] -A forward proxy, such as Squid, enables you to route external HTTP Flex Gateway connections through a proxy connection. - -For both Connected Mode and Local Mode, you configure a forward proxy using YAML configuration files. - -The following diagram demonstrates how an internal network communicates with an external network using a forward proxy. - -image:forward-proxy-diagram.png[This is an image of all connections to your Flex Gateway first traveling through a forward proxy, align=center] - -As in the diagram, when using a forward proxy, HTTP communication out of your internal network must travel through the forward proxy. - -In this example, all HTTP API upstream communication must also pass through the forward proxy. For more information about how to enable some connections to communicate directly without the forward proxy, see <>. - -//end::intro[] - -//tag::icon-table[] -[cols="1a,1a,1a"] -|=== -|image:install-linux-logo.png[20%,20%,xref="#linux"] -|image:install-docker-logo.png[25%,25%,xref="#docker"] -|image:install-kubernetes-logo.png[20%,20%,xref="#kubernetes"] - -|<> -|<> -|<> -|=== - -//end::icon-table[] - -//tag::connections[] -== Forward Proxy Connections -Only HTTP connections route through the forward proxy. - -The following connections route through the forward proxy: - -* Connections to Anypoint Platform -* Outbound policy connections -* Connections to upstream services -* HTTP (Fluent Bit) log connections - -Using the `noProxy` parameter, you can configure HTTP and HTTPS connections to connect directly without using the forward proxy. - -Configuring a forward proxy does not alter these connections: - -* Connections to shared storage -* Lightweight Directory Access Protocol (LDAP) connections -* Non-HTTP log connections - -//end::connections[] - -//tag::noproxy[] -== noProxy Parameter - -Adding the `noProxy` parameter enables HTTP services you trust to communicate without using the forward proxy. - -For example, when you enable `noProxy`, you can list HTTP log connections and connections to upstream services to have them connect directly to Flex Gateway. - -When using the `noProxy` parameter in the YAML configuration file to communicate with HTTP logs, you must list the exact domain name. You cannot list the domain suffix, for example, `.svc.cluster.local`. You need to list full domain name, `.svc.cluster.local`, for all HTTP log connections. - -The following diagram demonstrates the differences in communication using noProxy: - -image:no-proxy-diagram.png[This is an image demonstrating the differences in internal connections when you do or do not enable noProxy, align=center] - -In the diagram, when you do not enable `noProxy`, Flex Gateway communicates with the internal API endpoint using the forward proxy. When you enable `noProxy` and list the API Upstream domain, Flex Gateway communicates directly with the internal API endpoint. - -//end::noproxy[] - -//tag::forward-proxy-parameters[] -== Configuring Forward Proxy Parameters - -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Configuration -metadata: - name: forward-proxy -spec: - forwardProxy: - https: - address: http://proxy:8888 - basicAuth: - username: - password: - noProxy: - - fluentd - - .svc.cluster.local - ----- - -|=== -|Parameter | Required or Optional | Description - -| `https.address` -| required -| Proxy adddress - -| `basicAuth` -| Optional -| Supplies the authentication username and password - -| `basicAuth.username` -| Required when `basicAuth` configured -| Authentication username - -| `basicAuth.Password` -| Required when `basicAuth` configured -| Authentication password - -| `noProxy` -| Optional -| Array containing domain names to communicate to without using the forward proxy -|=== - -//end::forward-proxy-parameters[] - -//tag::linux[] - -[[linux]] -== Configure a Forward Proxy for Flex Gateway as a Linux Service - -. Create a YAML configuration file in the Flex Gateway configuration directory: -+ -[source,ssh] ----- -sudo touch /usr/local/share/mulesoft/flex-gateway/conf.d/forward-config.yaml ----- - -. Update the file with your desired forward proxy configuration details. -. If your Flex Gateway does not have direct internet access, see <>. -//end::linux[] - -//tag::docker[] - -[[docker]] -== Configure a Forward Proxy for Flex Gateway in a Docker Container - -NOTE: If you have already added a volume for a folder with your -Flex Gateway configuration files, skip to the create and save a YAML file step. - -. Press Ctrl+C to stop your Flex Gateway and any replicas. -. Create a folder named `app` in the directory with your Flex Gateway configuration files. -. Restart your Flex Gateway with an additional volume for the new `app` directory: -//end::docker[] - -//tag::docker2[] -. Create and save a YAML file with your desired forward proxy configuration details. -. If your Flex Gateway does not have direct internet access, see <>. -//end::docker2[] - -//tag::k8s[] - -[[kubernetes]] -== Configure a Forward Proxy for Flex Gateway in a Kubernetes Cluster - -To configure a forward proxy for Flex Gateway, create a new YAML configuration resource with your forward proxy details. - -If your Flex Gateway does not have direct internet access, see <>. -//end::k8s[] - -//tag::proxy-registration[] - -[[proxy-registration]] -== Forward Proxy Flex Gateway Registration - -If your Flex Gateway is in an internal network where all internet connections pass through the forward proxy, you must add the `--https-proxy` flag when xref:flex-{page-mode}-reg-run.adoc[registering a Flex Gateway]. - -Add the `--https-proxy` flag with your proxy `address` parameter: ----- ---https-proxy=http://proxy:8888 ----- - -Provide your `username` and `password` parameters if you enable `basicAuth`: ----- ---https-proxy=http://:@proxy:8888 ----- - -The following sample registration command shows flag placement: -[source,ssh] ----- -flexctl register \ ---username= \ ---password= \ ---environment= \ ---organization= \ ---output-directory=/usr/local/share/mulesoft/flex-gateway/conf.d \ ---https-proxy=http://:@proxy:8888 \ -my-gateway ----- - -NOTE: Use the relevant registration command for your Flex Gateway deployment. - -//end::proxy-registration[] diff --git a/gateway/1.6/modules/ROOT/pages/_partials/include-nav-steps-api-instance.adoc b/gateway/1.6/modules/ROOT/pages/_partials/include-nav-steps-api-instance.adoc deleted file mode 100644 index ef5f5816b..000000000 --- a/gateway/1.6/modules/ROOT/pages/_partials/include-nav-steps-api-instance.adoc +++ /dev/null @@ -1,7 +0,0 @@ -. Log in to Anypoint Platform. -. In the navigation bar or the Anypoint Platform page, click *API Manager*. + -The *API Administration* page appears, showing a list of APIs that are available in your organization. -+ -. Click the API instance. + -The *API Summary* page appears, showing general information and the status of the API instance. -+ diff --git a/gateway/1.6/modules/ROOT/pages/_partials/kubernetes-service-note.adoc b/gateway/1.6/modules/ROOT/pages/_partials/kubernetes-service-note.adoc deleted file mode 100644 index 44f30a786..000000000 --- a/gateway/1.6/modules/ROOT/pages/_partials/kubernetes-service-note.adoc +++ /dev/null @@ -1,10 +0,0 @@ -If you use https://kubernetes.io/docs/concepts/services-networking/service/[Kubernetes Service^] as an upstream service or you apply a policy that makes requests to a Kubernetes Service, set the following parameters in the `service` resource: - -* `spec.ports[].protocol` to `TCP` -* `spec.ports[].name` - -Your `spec.ports[].name` service must adhere to the `[-]` structure. `[-]` is optional, and the valid options for `` are: - -* HTTP -* H2 -* HTTPS diff --git a/gateway/1.6/modules/ROOT/pages/_partials/logging-config-file.adoc b/gateway/1.6/modules/ROOT/pages/_partials/logging-config-file.adoc deleted file mode 100644 index 9e4b80889..000000000 --- a/gateway/1.6/modules/ROOT/pages/_partials/logging-config-file.adoc +++ /dev/null @@ -1,73 +0,0 @@ - -The `logging` object configures the delivery of runtime and access logs enabled via the message logging policy. Logs are delivered to any supported Fluent Bit {fluentbit-ver-var} output. - -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Configuration -metadata: - name: - namespace: -spec: - logging: - outputs: - - name: - type: - parameters: - : - runtimeLogs: - logLevel: - outputs: - accessLogs: - outputs: ----- - -[cols="2,1,1,3"] -|=== -|Parameter |Required or Optional |Default Value |Description - -|`logging.outputs[#].name` -|Required -|N/A -|The name of this output to later refer to in runtime and access logs configurations. - -|`logging.outputs[#].type` -|Required -|N/A -|An output type supported by Fluent Bit. For Fluent Bit output types, see https://docs.fluentbit.io/manual/v/{fluentbit-url-ver-var}/pipeline/outputs[Fluent Bit Outputs documentation ^]. - -|`logging.outputs[#].parameters` -|Required -|N/A -|A map of parameters for the specific Fluent Bit output type. For Fluent Bit output type parameters, see https://docs.fluentbit.io/manual/v/{fluentbit-url-ver-var}/pipeline/outputs[Fluent Bit Outputs documentation ^]. - -|`logging.accessLogs.outputs` -|Optional -|Empty -|A list of output names to redirect access logs to. - -|`logging.runtimeLogs.logLevel` -|Optional -|`info` -|A parameter specifying log detail. The supported `logLevel` types listed in decreasing verbosity are `debug`, `info`, `warn`, `error`, and `fatal`. - -|`logging.runtimeLogs.outputs` -|Optional -|Empty -|A list of output names to redirect runtime logs to. - -|=== - -Leaving a value blank applies the default value to your configuration. - -In addition to parameters above, Flex Gateway offers variables for logging output. When configured, the variables render as one of their respective outputs in the logs: - -[cols="1,2,3"] -|=== -| Variable | Description | Outputs - -| `date` | Date and time of the logged event | A specific time, for example, `17/11/2022-09:48:27AM` -| `logger` | Flex Gateway service where the logged event occurred | `flex-gateway-agent`, `flex-gateway-envoy`, and `flex-gateway-fluent` -| `level` | `Loglevel` of the logged event | `debug`, `info`, `warn`, `error`, or `fatal` -| `kind` | Log type | `runtimeLog` or `accessLog` -|=== diff --git a/gateway/1.6/modules/ROOT/pages/_partials/logging-severity-level.adoc b/gateway/1.6/modules/ROOT/pages/_partials/logging-severity-level.adoc deleted file mode 100644 index 3e0d52187..000000000 --- a/gateway/1.6/modules/ROOT/pages/_partials/logging-severity-level.adoc +++ /dev/null @@ -1,26 +0,0 @@ -[[severity-levels]] -== Message Logging Severity Levels - -When you configure a Message Logging policy for your API instance, you can assign a severity level. Each severity level includes a specific set of information in the log report. - -Log reports include the severity level you select and the following levels on the hierarchy. - -For example, if you select DEBUG, the log reports include the DEBUG severity level as well as the INFO, WARN, and ERROR severity levels. However, if you select ERROR, the log reports include only error messages. The following table describes the type of information included in the logs for each severity level: - -[%header,cols='1a,5a'] -|=== -|Log Severity Level -|Description - -|DEBUG -|Tracing information used by application developers. - -|INFO -|Informational messages that highlight the progress of the application. - -|WARN -|Potentially harmful situations that indicate potential problems. - -|ERROR -|Events that prevent normal program execution but might allow the application to continue running. -|=== \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/_partials/pdk-banner.adoc b/gateway/1.6/modules/ROOT/pages/_partials/pdk-banner.adoc deleted file mode 100644 index 68ea57566..000000000 --- a/gateway/1.6/modules/ROOT/pages/_partials/pdk-banner.adoc +++ /dev/null @@ -1,6 +0,0 @@ -// tag::pdk[] -[.notice-banner] - -*New Feature Available*: This product feature is outdated and is only provided for existing custom policies. To create new custom policies, use the xref:pdk::policies-pdk-overview.adoc[Flex Gateway Policy Development Kit (PDK)]. - -// end::pdk[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/_partials/prerequisites.adoc b/gateway/1.6/modules/ROOT/pages/_partials/prerequisites.adoc deleted file mode 100644 index 7d5dc8ad8..000000000 --- a/gateway/1.6/modules/ROOT/pages/_partials/prerequisites.adoc +++ /dev/null @@ -1,49 +0,0 @@ -//tag::intro[] -Flex Gateway runs on the following Long Term Support (LTS) versions of Linux: -//end::intro[] - -//tag::amazon-linux[] -Amazon Linux 2 -//end::amazon-linux[] - -//tag::centos[] -CentOS 8 -//end::centos[] - -//tag::curl[] -The `curl` command-line tool. -//end::curl[] - -//tag::debian[] -Debian (Buster, Bullseye, and Bookworm starting with Flex Gateway 1.6.2) -//end::debian[] - -//tag::docker[] -A Docker installation. -//end::docker[] - -//Requires local/page variable that specifies the version, such as :version-helm: 3.0.0 -//tag::helm[] -A minimum Helm version of 3.0.0 is required. -//end::helm[] - -//tag::kubectl[] -The Kubernetes `kubectl` command-line tool. -//end::kubectl[] - -//tag::red-hat[] -Red Hat Enterprise Linux (8, 9) -//end::red-hat[] - -//tag::ubuntu[] -Ubuntu (Bionic, Focal, Jammy) -//end::ubuntu[] - -//pls leave blank line in rabc-permission-k8 -// tag::rbac-permission-k8[] - -When deploying Flex Gateway to a Kubernetes cluster that enables role-based access control (RBAC), you must have cluster-level permissions to permit installation of custom resource definitions (CRDs) used by Flex Gateway. -// end::rbac-permission-k8[] -// tag::rbac-role-openshift[] -In OpenShift, the `cluster-admin` role provides this level of access. -// end::rbac-role-openshift[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/_partials/product-spotlight-video.html b/gateway/1.6/modules/ROOT/pages/_partials/product-spotlight-video.html deleted file mode 100644 index 279cd8cb1..000000000 --- a/gateway/1.6/modules/ROOT/pages/_partials/product-spotlight-video.html +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/_partials/reference-install-next-steps.adoc b/gateway/1.6/modules/ROOT/pages/_partials/reference-install-next-steps.adoc deleted file mode 100644 index 24b978ecf..000000000 --- a/gateway/1.6/modules/ROOT/pages/_partials/reference-install-next-steps.adoc +++ /dev/null @@ -1,27 +0,0 @@ - -//for Linux, download and install -//tag::flex-download-install[] -After downloading and installing, register Flex Gateway in -xref:flex-conn-reg-run.adoc[Connected] or xref:flex-local-reg-run.adoc[Local Mode]. -//end::flex-download-install[] - -//for Docker and k8, download only -//tag::flex-k8-download-install[] -After downloading the image, register Flex Gateway in -xref:flex-conn-reg-run.adoc[Connected] or xref:flex-local-reg-run.adoc[Local Mode]. -//end::flex-k8-download-install[] - -//for Docker and Linux on connected vs. local -//tag::flex-connected-vs-local[] -For more detail, see xref:index.adoc#connected-mode-vs-local-mode[Connected Mode vs. Local Mode]. -//end::flex-connected-vs-local[] - -// tag::post-download-flex-image[] -After downloading the Flex Gateway image, register a gateway in -xref:flex-conn-reg-run.adoc[Connected Mode] or xref:flex-local-reg-run.adoc[Local Mode]. -// end::post-download-flex-image[] - -// tag::connected-local-k8[] -See xref:flex-gateway-k8-overview.adoc[] -for more information about the difference between Connected Mode and Local Mode for Flex Gateway in Kubernetes clusters. -// end::connected-local-k8[] diff --git a/gateway/1.6/modules/ROOT/pages/_partials/reference-k8-general.adoc b/gateway/1.6/modules/ROOT/pages/_partials/reference-k8-general.adoc deleted file mode 100644 index 409d001a4..000000000 --- a/gateway/1.6/modules/ROOT/pages/_partials/reference-k8-general.adoc +++ /dev/null @@ -1,7 +0,0 @@ - -//tag::flex-k8-helm-chart-info[] -Find the default Helm chart settings for Flex Gateway (flex-gateway) through one of the following methods: - -* Open the *flex-gateway* page in https://artifacthub.io/packages/helm/flex-gateway/flex-gateway[ArtifactHUB^] -* Run `helm show values <helm-repository-name>/<helm-chart-name>` from a terminal window, for example, `helm show values flex-gateway/flex-gateway`. -//end::flex-k8-helm-chart-info[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/_partials/soap-api-video.html b/gateway/1.6/modules/ROOT/pages/_partials/soap-api-video.html deleted file mode 100644 index 9ddeb1220..000000000 --- a/gateway/1.6/modules/ROOT/pages/_partials/soap-api-video.html +++ /dev/null @@ -1,11 +0,0 @@ - - - \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/_partials/task-config-disable-logs.adoc b/gateway/1.6/modules/ROOT/pages/_partials/task-config-disable-logs.adoc deleted file mode 100644 index d323b4621..000000000 --- a/gateway/1.6/modules/ROOT/pages/_partials/task-config-disable-logs.adoc +++ /dev/null @@ -1,147 +0,0 @@ -//tag::config-disable-logs-intro[] - -Anypoint Flex Gateway logging provides insights into startup, shutdown, API requests, API responses, policies, and Fluent Bit. Logging enables developers and administrators to identify and address issues or anomalies. However, disabling log output to Anypoint Platform might be necessary. - -Before disabling log output, consider the potential impact on troubleshooting capabilities. In some cases, it's more appropriate to adjust the log verbosity level. - -You can disable sending the following logs to Anypoint Platform: - -* Runtime logs, including: -** The startup and shutdown of Flex Gateway, Fluent Bit, and Envoy. -** Deployed APIs and policies. -** Possible misconfigurations of Flex Gateway or other errors. - -* Access logs, including: -** The description of incoming interaction with Envoy over a period of time. -** Incoming requests and responses for specific APIs. - -NOTE: You can only disable logs sent to Anypoint Platform. Standard output (STDOUT) remains unchanged. - -You disable sending logs to Anypoint Platform by using a local configuration file. The following tutorial describes how to create and deploy the file. - -//end::config-disable-logs-intro[] -//tag::icon-table[] - -[cols="1a,1a,1a,1a"] -|=== -|image:install-linux-logo.png[20%,20%,xref="#linux"] -|image:install-container-logo.png[25%,25%,xref="#containers"] -|image:install-kubernetes-logo.png[20%,20%,xref="#kubernetes"] -|image:install-openshift-logo.png[20%,20%,xref="#openshift"] - -|<> -|<> -|<> -|<> -|=== - -//end::icon-table[] -//tag::byb[] - -== Before You Begin - -Before configuring Flex Gateway log output, complete the following task: - -* Depending on your output, ensure that the service where you direct logs to is operational. For more information about log output services, refer to xref:flex-{page-mode}-third-party-logs-config.adoc[Configuring Flex Gateway Output for Third-Party Services]. - -//end::byb[] -//tag::linux-section-1[] - -[[linux]] -== Disable Anypoint Platform Log Output for Flex Gateway as a Linux Service - -. Create a YAML configuration file in your Flex Gateway configuration directory. For example: -+ -[source,ssh] ----- -sudo touch /usr/local/share/mulesoft/flex-gateway/conf.d/disable-logs-config.yaml ----- - -. In the configuration file, set either `spec.logging.runtimeLogs.outputs.anypoint` or `spec.logging.accessLogs.outputs.anypoint` to `disabled`. The file resembles the following: -+ -//end::linux-section-1[] - -//tag::linux-section-2[] -. Save the file. -//end::linux-section-2[] - -//tag::containers-section-1[] - -[[containers]] -== Disable Anypoint Platform Log Output for Flex Gateway in a Container - -NOTE: If you have already added a volume for a folder with your -Flex Gateway configuration files, skip to step 4. - -. Press Ctrl+C to stop your Flex Gateway and any replicas. -. Create a folder named `app` in the directory with your Flex Gateway configuration files. -. Navigate to the `app` directory. -. Create a new configuration YAML file named `disable-logs-config.yaml`. -. In the configuration file, set either `spec.logging.runtimeLogs.outputs.anypoint` or `spec.logging.accessLogs.outputs.anypoint` to `disabled`. The file resembles the following: -//end::containers-section-1[] - -//tag::containers-section-2[] -. Save the configuration file. -. Restart your Flex Gateway with the configuration directory volume: -//end::containers-section-2[] - -//tag::k8s-section-1[] - -[[kubernetes]] -== Disable Anypoint Platform Log Output for Flex Gateway in a Kubernetes Cluster - -To disable logging to Anypoint Platform: - -. Create a new resource using a YAML configuration file with the following example output configuration details: -+ -//end::k8s-section-1[] - -//tag::k8s-section-2[] -. Set either `spec.logging.runtimeLogs.outputs.anypoint` or `spec.logging.accessLogs.outputs.anypoint` to `disabled`. - -//end::k8s-section-2[] - -//tag::openshift-section-1[] - -[[openshift]] -== Disable Anypoint Platform Log Output for Flex Gateway in an OpenShift Cluster - -To disable logging to Anypoint Platform: - -. Create a new resource using a YAML configuration file with the following example output configuration details: -+ -//end::openshift-section-1[] - -//tag::openshift-section-2[] -. Set either `spec.logging.runtimeLogs.outputs.anypoint` or `spec.logging.accessLogs.outputs.anypoint` to `disabled`. - -//end::openshift-section-2[] - -//tag::config-disable-logs-example[] - -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1beta1 -kind: Configuration -metadata: - name: logging-config -spec: - logging: - runtimeLogs: - logLevel: info - outputs: - anypoint: disabled - accessLogs: - outputs: - anypoint: disabled ----- - -//end::config-disable-logs-example[] - -//tag::see-also[] -== See Also - -* xref:flex-{page-mode}-third-party-logs-config.adoc[Configuring Flex Gateway Output for Third-Party Services] -* xref:policies-included-message-logging.adoc[] -* xref:flex-{page-mode}-reg-run.adoc[Registering and Running Flex Gateway] -//end::see-also[] diff --git a/gateway/1.6/modules/ROOT/pages/_partials/task-config-liveness-probe.adoc b/gateway/1.6/modules/ROOT/pages/_partials/task-config-liveness-probe.adoc deleted file mode 100644 index 40c24f7c3..000000000 --- a/gateway/1.6/modules/ROOT/pages/_partials/task-config-liveness-probe.adoc +++ /dev/null @@ -1,74 +0,0 @@ -//tag::intro1[] - -Flex Gateway includes the following CLI command to test gateway health: - -[source,ssh] ----- -flexctl probe --check=liveness ----- - -If the Flex Gateway instance is running normally, the command returns an exit code of `0`. Otherwise, the gateway is unhealthy and the command returns a `1`. - -You can either run the liveness check command manually or configure the command to run automatically. By default, Flex Gateways deployed on Kubernetes have an automatic liveness probe configured. The liveness probe periodically runs the liveness check command and automatically restarts the Flex Gateway pod after a specified number of failed liveness checks. - -Docker and Linux deployments do not have preconfigured liveness probes. - -//end::intro1[] - -//tag::k8s-liveness-probe[] -== Before You Begin - -. xref:flex-install.adoc[Download Flex Gateway]. -. xref:flex-{page-mode}-reg-run.adoc[Register and Run Flex Gateway]. - -== Configure a Kubernetes Liveness Probe -By default, Flex Gateways running on Kubernetes include a liveness probe configured in the Helm chart. The liveness probe automatically runs `flexctl probe --check=liveness` at an interval of 10 seconds and restarts unhealthy pods after 5 failed tests. - -The liveness probe is configured by default with the following values: - -[source,helm] ----- -livenessProbe: - exec: - command: - - flexctl - - probe - - --check=liveness - initialDelaySeconds: 10 - periodSeconds: 10 - failureThreshold: 5 - timeoutSeconds: 1 ----- - -[cols="1,2"] -|=== -| Parameter | Description - -| `exec.command` | The liveness check command -| `initialDelaySeconds` | The time in seconds to wait after startup before executing the first liveness test -| `periodSeconds` | The period in seconds between each liveness check -| `failureThreshold` | The number of failed liveness tests before the Kubernetes pod is restarted -| `timeoutSeconds` | The time in seconds before the test times out -|=== - -To modify the default liveness probe parameters, you must update your Helm chart. You can modify these parameters during or after the initial installation of the Helm chart. For more information about how to modify a Helm chart, see xref:flex-gateway-k8-change-helm-settings.adoc[] - - -//end::k8s-liveness-probe[] - -//tag::docker-linux-deployments[] -== Docker and Linux Liveness Probes - -For Docker or Linux deployments, there is no default liveness probe configured to check health or restart unhealthy Flex Gateways. However, you can still run the liveness check command manually or configure it for automated use with third-party services. Besides the Kubernetes liveness probe, MuleSoft does not provide support for third-party liveness probes or health checks. - -One method of running the liveness check command with Docker is to configure `HEALTHCHECK` in your `docker run` command. For more information, see https://docs.docker.com/engine/reference/run/#healthcheck[Docker run HEALTHCHECK^]. - -//end::docker-linux-deployments[] - -//tag::see-also[] -== See Also - -* https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/[Configure Liveness, Readiness and Startup Probes^]. -* xref:policies-included-health-check.adoc[] - -//end::see-also[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/_partials/task-config-logs-third-party.adoc b/gateway/1.6/modules/ROOT/pages/_partials/task-config-logs-third-party.adoc deleted file mode 100644 index 340b0498e..000000000 --- a/gateway/1.6/modules/ROOT/pages/_partials/task-config-logs-third-party.adoc +++ /dev/null @@ -1,376 +0,0 @@ -//tag::intro1[] -Anypoint Flex Gateway enables you to deliver runtime and access logs to any supported Fluent Bit {fluentbit-ver-var} output type. You configure log output via a custom YAML file. Additionally, to view access logs, you must also apply a Message Logging policy. - -The following configuration file examples demonstrate how to direct Flex Gateway logs to output types: `File`, `HTTP`, and `Splunk`. However, you can use any Fluent Bit {fluentbit-ver-var} output type, such as `Azure Log Analytics`, `Amazon S3`, `Kafka`, and more. For a complete list of Fluent Bit output types, see https://docs.fluentbit.io/manual/v/{fluentbit-url-ver-var}/pipeline/outputs[Fluent Bit Output documentation^]. - -//end::intro1[] - -//tag::intro2-conn[] -As well as being able to configure additional Fluent Bit log output types, Flex Gateway sends runtime logs to runtime manager and access logs to API Manager. Use the logs for quick log checks when an additional log output is not needed. To view runtime logs, see xref:flex-view-logs-in-monitoring.adoc[], and to configure and view access logs, see xref:flex-conn-message-log.adoc[]. For access logs to be visible in *Logs*, you must additionally apply a Message Logging policy. - -//end::intro2-conn[] - - -//tag::intro2-local[] -As well as being able to configure additional Fluent Bit log output types, Flex Gateway maintains standard output logs. Use the standard output logs for quick checks when additional log output is not needed. To view the standard output logs, see xref:gateway::flex-local-view-logs.adoc[View Logs]. Both runtime and access logs appear in standard output logs. However, access logs are only present if you apply a Message Logging policy. - -//end::intro2-local[] - -//tag::icon-table[] - -[cols="1a,1a,1a"] -|=== -|image:install-linux-logo.png[20%,20%,xref="#linux"] -|image:install-docker-logo.png[25%,25%,xref="#docker"] -|image:install-kubernetes-logo.png[20%,20%,xref="#kubernetes"] - -|<> -|<> -|<> -|=== - -//end::icon-table[] -//tag::byb[] - -== Before You Begin - -Before configuring Flex Gateway log output, complete the following tasks: - -* xref:flex-install.adoc[Download Flex Gateway] -* xref:flex-{page-mode}-reg-run.adoc[Register and Run Flex Gateway] - -Additionally, depending on your output, ensure that the service where you direct logs to is operational and that you have the necessary information: - -* Splunk: -** A running https://www.splunk.com/[Splunk^] service. You can test Splunk with a free Splunk Cloud trial. -** Added an HTTP Event Collector (HEC) data input to the Cloud or Enterprise Splunk service. See the https://docs.splunk.com/Documentation/Splunk/7.0.3/Data/UsetheHTTPEventCollector[Splunk documentation^] about how to add a data input, and how to create an HEC token. -* Dynatrace: -** A running https://www.dynatrace.com/[Dynatrace^] service. You can test Dynatrace with a free Dynatrace trial. -** Environment ID. To find your Dynatrace environment ID, see https://www.dynatrace.com/support/help/get-started/monitoring-environment/environment-id[Environment ID^] -** Access token. To generate a Dynatrace access token, see https://www.dynatrace.com/support/help/manage/access-control/access-tokens[Access Tokens^]. Ensure that the token has the `Ingest logs` token scope. -//end::byb[] - -//tag::runtime-access-logs[] - -== Runtime Logs and Access Logs -Runtime and access logs both appear in the same log output. However, you can choose whether to include both logs in your log output. To use access logs, you must also apply a Message Logging policy. - -=== Runtime Logs -Runtime logs include the following information: - -* The startup and shutdown of Flex Gateway, Fluent Bit, and Envoy -* Deployed APIs and policies -* Possible misconfigurations of Flex Gateway or other errors - -=== Access Logs -Access logs describe incoming interaction with Envoy over a period of time and incoming requests and responses for specific APIs. - -To enable access logs, you must apply a Message Logging policy to the API instances you want to monitor. To apply a Message Logging policy, see <>. - -//end::runtime-access-logs[] - -//tag::file-example[] - -== Logging Configuration File - -include::partial$logging-config-file.adoc[] - -To view configuration files with applied values, see the following configuration file examples: - -* <> -* <> -* <> -* <> - - -//end::file-example[] -//tag::linux[] - -[[linux]] -== Configure Log Output for Flex Gateway as a Linux Service - -. Create a YAML configuration file in the Flex Gateway configuration directory: -+ -[source,ssh] ----- -sudo touch /usr/local/share/mulesoft/flex-gateway/conf.d/logs-config.yaml ----- - -. Update the file with your desired output configuration details as shown in the following examples: -+ -* <> -* <> -* <> -* <> -+ -//end::linux[] -//tag::docker[] - -[[docker]] -== Configure Log Output for Flex Gateway in a Docker Container - -NOTE: If you have already added a volume for a folder with your -Flex Gateway configuration files, skip to the create and save a YAML file step. - -. Press Ctrl+C to stop your Flex Gateway and any replicas. -. Create a folder named `app` in the directory with your Flex Gateway configuration files. -. Restart your Flex Gateway with an additional volume for the new `app` directory: -//end::docker[] - -//tag::docker2[] -. Create and save a YAML file with your desired output configuration details as shown in the following examples: -+ -* <> -* <> -* <> -* <> -+ -//end::docker2[] -//tag::k8s[] - -[[kubernetes]] -== Configure Log Output for Flex Gateway in a Kubernetes Cluster - -To configure logging for Flex Gateway: - -. Create a new resource using a YAML configuration file with your desired output configuration details as shown in the following examples: -+ -* <> -* <> -* <> -* <> -+ -//end::k8s[] - -//tag::view-logs-conn[] -If no events appear in the logging output, check the Flex Gateway runtime logs for any configuration errors. -+ -To view runtime logs, see xref:flex-view-logs-in-monitoring.adoc[]. -+ -For additional troubleshooting help, see xref:flex-troubleshoot-logging.adoc[]. -//end::view-logs-conn[] - -//tag::view-logs-local[] -If no events appear in the logging output, check the Flex Gateway standard output logs for any configuration errors. -+ -To view standard output logs, see xref:flex-local-view-logs.adoc[View Logs]. -+ -For additional troubleshooting help, see xref:flex-troubleshoot-logging.adoc[]. -//end::view-logs-local[] - -//tag::configure-message-logging-step[] -. If you are configuring access logs, see <> to apply a Message Logging policy. - -//end::configure-message-logging-step[] - -//tag::file-configuration-example[] - -[[file-configuration-example]] -== File Configuration Example - -Configure Flex Gateway to send formatted runtime and access logs to a file called `log.txt` (Fluent Bit `File` output), in the `/var/log` directory. As an example, the following definition specifies a `spec.logging.outputs.type` value of `file`: - - -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Configuration -metadata: - name: logging-config -spec: - logging: - outputs: - - name: default - type: file - parameters: - file: /var/log/log.txt # Docker: replace `/var/log` with the absolute path to the mounted configuration directory - format: template - template: | - [{date}][{logger}][{level}][{kind}] {message} - runtimeLogs: - logLevel: info - outputs: - - default - accessLogs: - outputs: - - default ----- - -NOTE: For Docker, in `spec.logging.output.parameters.file`, replace `/var/log` with the absolute path to the mounted configuration directory. - -//end::file-configuration-example[] - -//tag::http-configuration-example[] - -[[http-configuration-example]] -== HTTP Configuration Example - -You can configure Flex Gateway to send formatted runtime and access logs to a `HTTP` output. As an example, the following definition specifies a `spec.logging.outputs.type` value of `HTTP`: - -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Configuration -metadata: - name: logging-config -spec: - logging: - outputs: - - name: default - type: HTTP - parameters: - host: collectors.au.sumologic.com - port: "443" - URI: /receiver/v1/http/[PrivateKey] - format: json_lines - json_date_key: timestamp - json_date_format: iso8601 - runtimeLogs: - logLevel: info - outputs: - - default - accessLogs: - outputs: - - default ----- - -//end::http-configuration-example[] - -//tag::dynatrace-configuration-example[] - -[[dynatrace-configuration-example]] -== Dynatrace Configuration Example - -You can configure Flex Gateway to send formatted runtime and access logs to a Dynatrace environment `HTTP` output. As an example, the following file contains the necessary configurations: - -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Configuration -metadata: - name: dynatrace-config -spec: - logging: - outputs: - - name: dynatrace - type: http - parameters: - host: .live.dynatrace.com - Port: "443" - allow_duplicated_headers: "false" - header: - - Content-Type application/json; charset=utf-8 - - Authorization Api-Token - URI: /api/v2/logs/ingest - Format: json - json_date_key: timestamp - json_date_format: iso8601 - tls: "on" - tls.verify: "off" - runtimeLogs: - logLevel: info - outputs: - - dynatrace - accessLogs: - outputs: - - dynatrace - ----- - -For more information about configuration options, see https://docs.fluentbit.io/manual/v/{fluentbit-url-ver-var}/pipeline/outputs/http[HTTP Output^]. - -//end::dynatrace-configuration-example[] - -//tag::splunk-configuration-example[] - -[[splunk-configuration-example]] -== Splunk Configuration Example - -Splunk begins ingesting logs soon after you apply this resource. - -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Configuration -metadata: - name: splunk-config -spec: - logging: - outputs: - - name: splunk - type: splunk - parameters: - host: .splunkcloud.com - port: "8088" - splunk_token: - tls: "on" - tls.verify: "off" - runtimeLogs: - logLevel: info - outputs: [splunk] - accessLogs: - outputs: [splunk] ----- - -//end::splunk-configuration-example[] - -//tag::log-output-examples[] - -== Logging Event Examples -The following log output examples demonstrate possible outputs that may occur for the following events: - -* <> -* <> -* <> - -[[graceful-shutdowns]] -=== Graceful Shutdowns - ----- -[flex-gateway-agent][info] SignalHandler: Signal terminated received -[flex-gateway-agent][info] FilesystemWatcher(/usr/local/share/mulesoft/flex-gateway/conf.d): Stopping with context done -[flex-gateway-agent][info] XdsService: Stopping with context done -[flex-gateway-agent][error] flex-gateway-envoy: Stopped with error context canceled -[flex-gateway-agent][info] FilesystemWatcher(/etc/mulesoft/flex-gateway/conf.d): Stopping with context done -[flex-gateway-agent][error] flex-gateway-fluent: Stopped with error context canceled -[flex-gateway-agent][error] flex-gateway-fluent: Stopped with error context canceled -[flex-gateway-agent][info] Server dropped connection -[flex-gateway-agent][info] Agent communication closed ----- - - -[[service-disconnections]] -=== Service Disconnections - ----- -[flex-gateway-agent][error] WebSocket receiver got error: read tcp 172.17.0.2:60780->100.64.1.37:443: i/o timeout -[flex-gateway-agent][info] Server dropped connection -[flex-gateway-agent][warn] Dropped connection due to error read tcp 172.17.0.2:60780->100.64.1.37:443: i/o timeout -[flex-gateway-agent][info] Reconnecting after connection was dropped -[flex-gateway-agent][error] Error connecting to Websocket Server: dial tcp: lookup arm-mcm2-service.kstg.msap.io on 192.168.65.7:53: dial udp 192.168.65.7:53: connect: network is unreachable ----- - -[[envoy-crash]] -=== Envoy Crash - ----- -[flex-gateway-envoy][critical] Caught Segmentation fault, suspect faulting address 0xffff87e8fb89485b -[flex-gateway-envoy][critical] Backtrace (use tools/stack_decode.py to get line numbers): -[flex-gateway-envoy][critical] Envoy version: 36cbae1aeedd8c3b4eb88cd28268d21fe0905ce5/1.23.0/Clean/RELEASE/BoringSSL -[flex-gateway-envoy][critical] #0: __restore_rt [0x7ff79db2f140] -[flex-gateway-envoy][critical] #1: [0x557dcfad249b] -[flex-gateway-envoy][critical] #2: [0x557dcdf35237] -[flex-gateway-envoy][critical] #3: [0x557dce16d49f] -[flex-gateway-envoy][critical] #4: [0x557dce1a8ff5] -[flex-gateway-envoy][critical] #5: [0x557dce1a8e47] -[flex-gateway-envoy][critical] #6: ... -[flex-gateway-agent][error] flex-gateway-envoy: Stopped with error flex-gateway-envoy: command error: signal: segmentation fault -[flex-gateway-agent][error] flex-gateway-fluent: Stopped with error context canceled -[flex-gateway-agent][error] flex-gateway-fluent: Stopped with error context canceled -[flex-gateway-agent][info] FilesystemWatcher(/etc/mulesoft/flex-gateway/conf.d): Stopping with context done -[flex-gateway-agent][info] FilesystemWatcher(/usr/local/share/mulesoft/flex-gateway/conf.d): Stopping with context done -[flex-gateway-agent][info] XdsService: Stopping with context done -[flex-gateway-agent][info] Server dropped connection -[flex-gateway-agent][info] Agent communication closed ----- -//end::log-output-examples[] diff --git a/gateway/1.6/modules/ROOT/pages/_partials/task-config-proxy-protocol.adoc b/gateway/1.6/modules/ROOT/pages/_partials/task-config-proxy-protocol.adoc deleted file mode 100644 index 1d9ddf50d..000000000 --- a/gateway/1.6/modules/ROOT/pages/_partials/task-config-proxy-protocol.adoc +++ /dev/null @@ -1,101 +0,0 @@ -//tag::intro1[] -For use cases when Flex Gateway is deployed behind a load balancer or other proxy service, configure PROXY protocol to preserve client IP addresses across multiple layers of NAT or TCP proxies. - -In PROXY protocol, the load balancer or other proxy service sends the PROXY protocol header containing the client address and additional information to Flex Gateway. To learn more about PROXY protocol, see the https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt[HAProxy specification^]. - -Enabling PROXY protocol only enables Flex Gateway to receive the PROXY protocol header. Your load balancer or other proxy service must support PROXY protocol to transmit the header. - -//end::intro1[] - -//tag::icon-table[] - -[cols="1a,1a,1a"] -|=== -|image:install-linux-logo.png[20%,20%,xref="#linux"] -|image:install-docker-logo.png[25%,25%,xref="#docker"] -|image:install-kubernetes-logo.png[20%,20%,xref="#kubernetes"] - -|<> -|<> -|<> -|=== - -//end::icon-table[] - -//tag::byb[] - -== Before You Begin - -Before enabling PROXY protocol for Flex Gateway, complete the following tasks: - -. xref:flex-install.adoc[Download Flex Gateway] -. xref:flex-{page-mode}-reg-run.adoc[Register and Run Flex Gateway] - -//end::byb[] - -//tag::linux[] - -[[linux]] -== Enable PROXY Protocol for Flex Gateway as a Linux Service - -. Create a YAML configuration file in the Flex Gateway configuration directory: -+ -[source,ssh] ----- -sudo touch /usr/local/share/mulesoft/flex-gateway/conf.d/proxy-protocol-config.yaml ----- - -. Update the file with the PROXY protocol configuration file: -+ -//end::linux[] - -//tag::docker-intro[] - -[[docker]] -== Enable PROXY Protocol for Flex Gateway in a Docker Container - -NOTE: If you have already added a volume for a folder with your -Flex Gateway configuration files, skip to the last step. - -. Press Ctrl+C to stop your Flex Gateway and any replicas. -. Create a folder named `app` in the directory with your Flex Gateway configuration files. -. Restart your Flex Gateway with an additional volume for the new `app` directory: -//end::docker-intro[] - -//tag::docker-config-file-step[] -. Create and save a YAML configuration file in your `app` folder with your PROXY protocol configuration details. -+ -//end::docker-config-file-step[] - - - -//tag::k8s[] - -[[kubernetes]] -== Enable PROXY Protocol for Flex Gateway in a Kubernetes Cluster - -To configure PROXY protocol for Flex Gateway, create a new resource using -a YAML configuration file with your PROXY protocol details. - -//end::k8s[] -//tag::sample-config[] -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Configuration -metadata: - name: config -spec: - proxyProtocol: - enabled: true ----- -//end::sample-config[] - -//tag::see-also[] - -== See Also - -* https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt[HAProxy specification^] - - -//end::see-also[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/_partials/task-flex-add-tls-context.adoc b/gateway/1.6/modules/ROOT/pages/_partials/task-flex-add-tls-context.adoc deleted file mode 100644 index 21a2cdbae..000000000 --- a/gateway/1.6/modules/ROOT/pages/_partials/task-flex-add-tls-context.adoc +++ /dev/null @@ -1,133 +0,0 @@ -//tag::intro1[] -Using encryption, Transport Layer Security (TLS) policies protect communication between clients, API instances, and upstream services. After you xref:anypoint-security::asm-secret-group-creation-task.adoc[create a secret group], you can add a TLS context or a mutual authentication TLS (mTLS) context and apply the TLS context to API instances in API Manager to encrypt their inbound and outbound traffic. - -//end::intro1[] -//tag::intro2[] -When you add a TLS context, you can also select the ciphers to use with the TLS context and configure different inbound and outbound validation settings. - -You can use the TLS context you store in secrets manager when you configure an HTTPS API in Flex Gateway Connected Mode. - -//end::intro2[] - - -//tag::byb[] - -== Before You Begin - -Before adding a TLS context to Flex Gateway, complete the following tasks: - -* xref:anypoint-security::asm-secret-group-creation-task.adoc[Create a Secret Group] -+ -When adding a secret group, refer to the <>. Depending on your desired configuration, either: -+ -** xref:asm-secret-group-creation-task.adoc#adding-a-keystore[Add a Keystore] -** xref:asm-secret-group-creation-task.adoc#adding-a-truststore[Add a Truststore] -+ -NOTE: Privacy Enhanced Mail (PEM) type is required for your Keystore or Truststore. - -//end::byb[] - -//tag::configurationOptions[] - -[[tls-configuration-options]] -== TLS Configuration Options -You can configure your TLS context to support regular TLS and mTLS in both the inbound and outbound direction. Depending on the desired configuration, you must add different certificate files to your secret group and select different TLS context configuration options. - -Refer to the following cross reference table for the required TLS context configuration settings you need in the <> step: - -[%header%autowidth.spread,cols="a,a,a,a,a"] -|=== -| Parameter | Inbound TLS | Inbound mTLS | Outbound TLS | Outbound mTLS -| *Keystore* | Required | Required | Not Used | Required -| *Truststore* | Not Used | Required | Required, unless skip server cert validation is selected | Required to validate upstream certificate -| *Validate Client certificate* | Not Selected | Selected | Not Used | Not Used -| *Skip server certificate validation* | Not Used | Not Used | Either | Not Selected -|=== - -A parameter that is "Not Used" for a configuration implies its status does not affect configuration. - -To simplify your configurations, you can create different TLS contexts for the different traffic directions of your API instance. However, you can also use the same TLS context to support different traffic directions, but you cannot support TLS and mTLS for the same direction using the same context. If you use the same TLS context for different directions, ensure you include the required parameters for both directions. - -//end::configurationOptions[] - -//tag::addContext[] - -[[add-a-tls-context]] -== Add a TLS Context for Flex Gateway - -Adding a TLS context to your secret group requires supplying a name, target, version, and a keystore or truststore. Optionally, you can add context expiration date and ALPN Protocols and configure the inbound and outbound settings. - -[WARNING] -==== -If you edit a secret group, including a TLS context, that is currently applied to an API instance, you must redeploy the API instance to apply the changes. You must individually redeploy all instances affected by the change. To redeploy API instances, see <>. -==== - -To add a TLS context: - -. Go to *Anypoint Platform > Secrets Manager*. -. Ensure your secret group is downloadable. This enables you to apply your TLS context to API instances. -+ -To ensure your secret group is downloadable: - -.. Click the pencil icon next to the name of your secret group. -.. If *Secret Group Downloadable* is selected, click *Cancel* -.. If *Secret Group Downloadable* is not selected, select it, then click *Save*. -. In the *Secret Groups* list view, click the *Edit* button of the secret group to add a TLS context. -. Select *TLS Context* in the menu on the left, and click *Add TLS Context*. -. In the Create TLS context screen, add the required information: -+ -* *Name* + -Enter a name for your TLS context. -* *Target* + -Select *Flex Gateway* to use the TLS context as the SSL validation for Flex Gateway APIs. -* *Min TLS Version* and *Max TLS Version* + -By default, TLS 1.3 and TLS 1.3 are selected as the minimum and maximum supported versions. You can select to support a different minimum and maximum or select to support a single version by selecting the same version for both the minimum and maximum. -* *Keystore* + -If necessary for your configuration, from the drop-down list, select the keystore to store in the TLS context. Only PEM type keystores are visible. The keystore contains the certificate Flex Gateway presents to the remote party for both inbound and outbound TLS. -+ -[NOTE] -==== -To comply with security standards, all certificates must be 2048 bits or longer. -==== -* *Truststore* + -If necessary for your configuration, from the drop-down list, select a truststore to store certificates trusted by the client. Only PEM type truststores are visible. The truststore contains the CA path that Flex uses to validate the remote party certificate for both inbound and outbound TLS. -+ -[NOTE] -==== -Upstream certificates must include the Subject Alternative Name (SAN) extension. The Common Name (CN) field is deprecated. - -Flex Gateway supports the SAN extension of type `dNSName`. -==== -* *Expiration Date* + -Optionally, enter an expiration date for the TLS context. -* *ALPN Protocols* + -By default, *H2 - HTTP/1.1* are the selected ALPN protocols. Change this value to support different protocols. -* *Inbound Settings* + -If you want to support mTLS for inbound traffic, select *Validate Client certificate*. -* *Outbound Settings* + -If you do not want support mTLS for outbound traffic, select *Skip server certificate validation*. - -. If you want to customize cipher support for your TLS context, <>. -+ -Cipher selection is not available if only supporting TLS version 1.3. -. Click *Save*. - -//end::addContext[] - - - -//tag::redeploy[] - -[[redeploy-api-instance]] -== Edit Secret Groups and Redeploy API Instances -To edit a secret group, see xref:anypoint-security::asm-secret-group-creation-task.adoc#edit-a-secret-group[Edit a Secret Group]. - -If you edit a secret group currently applied to an API instance, to apply the changes to the API instance, you must individually redeploy all instances the changes affect. - -To redeploy an API instance: - -. Go to *Anypoint Platform > API Manager*. -. Click the name of the API instance to redeploy. -. Click *Runtime & Endpoint Configuration > Save & Apply*. - -//end::redeploy[] diff --git a/gateway/1.6/modules/ROOT/pages/_partials/task-k8-node-affinity.adoc b/gateway/1.6/modules/ROOT/pages/_partials/task-k8-node-affinity.adoc deleted file mode 100644 index 19552ae30..000000000 --- a/gateway/1.6/modules/ROOT/pages/_partials/task-k8-node-affinity.adoc +++ /dev/null @@ -1,273 +0,0 @@ -//START TAG: flex-node-affinity-intro -//tag::flex-node-affinity-intro[] -//= Select a Node for Flex Gateway Deployments on Kubernetes - -Flex Gateway is often critical to the performance and security of a cluster, so it is important to host it on a specialized node that meets specific requirements, instead of using the nodes that host other deployments. - -To enable the Kubernetes scheduler to select a suitable host node for a Pod that contains Flex Gateway, you can set custom node affinity rules in a YAML configuration file that incorporates the Pod's requirements into a Helm chart for your Flex Gateway deployment. For more information about node affinity, see the https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity[Kubernetes documentation^]. - -The high-level tasks for configuring node affinity follow: - -. Finding or creating the node labels to use when defining node affinity rules and conditions (see <>). -. Specifying requirements and preferences in a YAML configuration file for a node that hosts a Pod with a containerized Flex Gateway application (see <>). -. Upgrading your Helm chart with the YAML configuration (see <>). - -//end::flex-node-affinity-intro[] -//END TAG - -//// -//informational only: -//== Before You Begin -// -//Meet the Kubernetes and Helm version requirements described -//in xref:flex-review-prerequisites.adoc[]. -//// - -//START TAG: flex-node-affinity-list-labels -//tag::flex-node-affinity-list-labels[] -[[list_add_labels]] -== List and Create Node Labels - -Each node affinity rule requires the key of a node label and one or more of the label’s values. You can use existing node labels or create new ones. A node label is defined as a key-value pair. - -* To list a cluster's nodes and node labels, run: -+ -[source,kubernetes,subs=attributes+] ----- -kubectl get nodes --show-labels ----- - -* To create a label for a node in your cluster, run: -+ -[source,kubernetes,subs=attributes+] ----- -kubectl label nodes = ----- - -For related Kubernetes documentation, see https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes/#add-a-label-to-a-node[Add a Label to a Node^]. -//end::flex-node-affinity-list-labels[] -//END TAG - - - -//New section -//START TAG -//tag::set-node-affinity[] -[[set_node_affinity]] -== Configure Rules for Matching a Node to a Pod for a Flex Gateway Container - -The Kubernetes scheduler can use node affinity rules to match nodes to Pods. The matching process enables the scheduler to select the node into which a Pod is deployed. - -Configure node affinity rules as required, preferred, or both: - -* `requiredDuringSchedulingIgnoredDuringExecution`: The node must match all node affinity rules configured for a Pod when the Kubernetes scheduler applies this type of matching. Otherwise, the deployment fails. -* `preferredDuringSchedulingIgnoredDuringExecution`: Based on weighted preferences set for a Pod, the Kubernetes scheduler selects the best matching node. The scheduler must select a node, so if no node matches any of the preferences, the scheduler selects a node that does not match. -//end::set-node-affinity[] -//END TAG - -//// -//just informational: -//For guidance, see the following configuration options: -// -//* <> -//* <> -//* <> -//// - - -//New section -//START TAG -//tag::flex-node-affinity-required-matching-intro[] -[[required_node_matching]] -=== Configure a Required Node Matching Rule for a Pod Containing Flex Gateway - -In required node matching, the node must meet all node affinity rules configured for a Pod. Otherwise, the deployment fails. -//end::flex-node-affinity-required-matching-intro[] -//END TAG - -//START TAG -//tag::flex-node-affinity-common-conditions[] -Configure a node affinity rule in the YAML configuration file for a Pod that contains Flex Gateway. Each condition to a rule requires a node label as a `key`, an operator, and one or more node label values to accept for a node with that key. For operators, you can use `In`, `NotIn`, `Exists`, `DoesNotExist`, `Gt`, and `Lt`. -//end::flex-node-affinity-common-conditions[] -//END TAG - -//START TAG -//tag::flex-node-affinity-required-matching-yaml[] -[source,yaml,subs=attributes+] ----- -affinity: - nodeAffinity: - requiredDuringSchedulingIgnoredDuringExecution: - nodeSelectorTerms: - - matchExpressions: - - key: - operator: - values: - - - # - Add any other node label values. - # - Add any other required conditions. ----- - -You can add as many values and conditions as the node requires. -//end::flex-node-affinity-required-matching-yaml[] -//END TAG -//// -// informational: -// After configuring the config file, proceed to <>. -//// - -//New section -//START TAG -//tag::flex-node-affinity-preferred-matching-intro[] -[[preferred_node_matching]] -=== Configure a Preferred Node Matching Rule for a Pod Containing Flex Gateway - -In preferred node matching, the Kubernetes scheduler selects a node based on weighted preferences. The scheduler must select a node, so if no node matches any preferences, the scheduler selects a node that does not match. - -//end::flex-node-affinity-preferred-matching-intro[] -//END TAG - -//// -// just informational: -// shared content from tag flex-node-affinity-common-conditions -//// - -//START TAG -//tag::flex-node-affinity-preferred-conditions[] -In addition, provide a `weight` value between `1` and `100` for each `preference` so that the Kubernetes scheduler can determine which rules are more important and select the best matching node. Matching is based on the sum of the weighted preferences that a node meets. The scheduler selects a node with the greatest total weight over other nodes of lesser weight. -//end::flex-node-affinity-preferred-conditions[] -//END TAG - -//START TAG -//tag::flex-node-affinity-preferred-matching-yaml[] -[source,yaml,subs=attributes+] ----- -affinity: - nodeAffinity: - preferredDuringSchedulingIgnoredDuringExecution: - - weight: - preference: - matchExpressions: - - key: - operator: - values: - - - # - Add any other values. - - weight: - preference: - matchExpressions: - - key: - operator: - values: - - - # - Add any other node label values. - # - Add any other preferred conditions. - # - Any any more preferred rules. ----- - -You can add any number of preferred values, conditions, and rules. -//end::flex-node-affinity-preferred-matching-yaml[] -//END TAG -//// -// informational: -// After configuring the YAML file, proceed to <>. -//// - - - -//New section -//START TAG -//tag::flex-node-affinity-mixed-matching-intro[] -[[mixed_node_matching]] -=== Configure Required and Preferred Node Matching Rules for a Pod Containing Flex Gateway - -You can configure both types of node affinity (required and preferred) in the same YAML file. -//end::flex-node-affinity-mixed-matching-intro[] -//END TAG -//// -// just informational: -// The example combines the settings from <> and <>. -// tag for shared content from tag flex-node-affinity-common-conditions -// tag for shared content from tag flex-node-affinity-preferred-conditions -//// - -//START TAG -//tag::flex-node-affinity-mixed-matching-yaml[] -[source,yaml,subs=attributes+] ----- -affinity: - nodeAffinity: - requiredDuringSchedulingIgnoredDuringExecution: - nodeSelectorTerms: - - matchExpressions: - - key: - operator: - values: - - - # - Add any other node label values. - # - Add any other conditions. - preferredDuringSchedulingIgnoredDuringExecution: - - weight: - preference: - matchExpressions: - - key: - operator: - values: - - - # - Add any other node label values. - - weight: - preference: - matchExpressions: - - key: - operator: - values: - - - # - Add any other node label values. - # - Add any other preferred conditions. - # - Any any other preferred rules. ----- -//end::flex-node-affinity-mixed-matching-yaml[] -//END TAG -//// -// informational: -// After configuring the YAML file, proceed to <>. -//// - - - -//START TAG -//tag::upgrade-helm-chart[] -[[upgrade_helm_chart]] -== Upgrade the Helm Chart - -After adding the node affinity settings to your YAML configuration file, incorporate the file into the Helm chart for a Flex Gateway deployment so that the Kubernetes scheduler can use the setting. - -Use a `helm` command to incorporate the node affinity settings from your YAML configuration file into a Helm chart. The command to use depends on whether Flex Gateway is installed: - -* If you are installing Flex Gateway for the first time, use this command to set all values in the chart: -+ -[source,kubernetes,subs=attributes+] ----- -helm -n gateway upgrade -i --create-namespace \ ---wait ingress flex-gateway/flex-gateway \ --f \ ---set-file registration.content= ----- -+ -Notice that the command passes the YAML file with the node affinity rules. - -* If Flex Gateway is installed already, use this command to reuse the chart's existing configuration and set the node affinity configuration: -+ -[source,kubernetes,subs=attributes+] ----- -helm -n gateway upgrade -i --create-namespace \ ---wait ingress flex-gateway/flex-gateway \ ---reuse-values -f ----- -+ -Notice that the command passes the YAML file with the node affinity rules. - -For information about the Helm command, see -https://helm.sh/docs/helm/helm_upgrade[Helm Upgrade^]. -//end::upgrade-helm-chart[] -//END TAG \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/_partials/task-reg-run-flex-gateway.adoc b/gateway/1.6/modules/ROOT/pages/_partials/task-reg-run-flex-gateway.adoc deleted file mode 100644 index 441cacd5c..000000000 --- a/gateway/1.6/modules/ROOT/pages/_partials/task-reg-run-flex-gateway.adoc +++ /dev/null @@ -1,625 +0,0 @@ -// partial for registering in connected/local modes with a username and password, connected app, or a token, in a Docker container or as a Linux service - -// tag::prerequisites-heading[] - -== Before You Begin - -Before registering Flex Gateway, you must complete the following tasks: -// end::prerequisites-heading[] -// tag::app-prerequisites[] - -* xref:access-management::connected-apps-developers.adoc#create-a-connected-app[Configure a Connected App] -** Include the following scopes: -*** Read Servers -*** Manage Servers -*** View Organization -** Save the *Id* and *Secret* of the Connected app you configure. - -// end::app-prerequisites[] -// tag::prerequisites[] - -* xref:flex-install.adoc[Install a Flex Gateway] -* Request _Manage Servers_ and _Read Servers_ permissions in Runtime Manager from your Anypoint Platform admin -* Collect the following information from your Anypoint Platform instance: -** The *Organization ID* for the organization where you want to run Flex Gateway -+ -See xref:access-management::organization.adoc#find-your-organization-id[Find your Organization ID] for more information on how to find your Organization ID. - -// end::prerequisites[] -// tag::environment-prerequisites[] - -** The *Environment ID* for the environment where you want to run Flex Gateway -+ -See xref:api-manager::latest-overview-concept.adoc#what-api-manager-looks-like[What API Manager Looks Like] -for more information on how to find your Environment ID. - -// end::environment-prerequisites[] -// tag::token-prerequisites[] - -** The registration *token* for the environment in Anypoint Platform where you want to run Flex Gateway -+ -Navigate to Runtime Manager, select *Flex Gateway* in the left navigation, and click *Add Gateway* -to generate set of instructions that includes a command block with the registration token. - -// end::token-prerequisites[] -// tag::user-prerequisites[] - -** The *Username* and *Password* of a user with _Read Servers_ and _Manage Servers_ permissions for Runtime Manager - -// end::user-prerequisites[] -// tag::app-container-heading[] -== Register and Run with a Connected App in a Container -// end::app-container-heading[] -// tag::user-container-heading[] -== Register and Run with a Username and Password in a Container -// end::user-container-heading[] -// tag::token-container-heading[] -== Register and Run with a Token in a Container -// end::token-container-heading[] -// tag::app-docker-heading[] -=== Register and Run with a Connected App in a Docker Container -// end::app-docker-heading[] -// tag::user-docker-heading[] -=== Register and Run with a Username and Password in a Docker Container -// end::user-docker-heading[] -// tag::token-docker-heading[] -=== Register and Run with a Token in a Docker Container -// end::token-docker-heading[] -// tag::app-podman-heading[] -=== Register and Run with a Connected App in a Podman Container -// end::app-podman-heading[] -// tag::user-podman-heading[] -=== Register and Run with a Username and Password in a Podman Container -// end::user-podman-heading[] -// tag::token-podman-heading[] -=== Register and Run with a Token in a Podman Container -// end::token-podman-heading[] -// tag::app-linux-heading[] -== Register and Run with a Connected App as a Linux Service -// end::app-linux-heading[] -// tag::user-linux-heading[] -== Register and Run with a Username and Password as a Linux Service -// end::user-linux-heading[] -// tag::token-linux-heading[] -== Register and Run with a Token as a Linux Service -// end::token-linux-heading[] -// tag::app-k8s-heading[] -== Register and Run with a Connected App in a Kubernetes Cluster -// end::app-k8s-heading[] -// tag::user-k8s-heading[] -== Register and Run with a Username and Password in a Kubernetes Cluster -// end::user-k8s-heading[] -// tag::token-k8s-heading[] -== Register and Run with a Token in a Kubernetes Cluster -// end::token-k8s-heading[] -// tag::app-openshift-heading[] -== Register and Run with a Connected App in an OpenShift Cluster -// end::app-openshift-heading[] -// tag::user-openshift-heading[] -== Register and Run with a Username and Password in an OpenShift Cluster -// end::user-openshift-heading[] -// tag::token-openshift-heading[] -== Register and Run with a Token in an OpenShift Cluster -// end::token-openshift-heading[] - -// tag::note-openshift-k8[] - -From the command line, OpenShift procedures match Kubernetes procedures. -// end::note-openshift-k8[] - -// logos and links to sections that _use anchors_ in install and reg/run pages -// tag::table-logos-links[] -[cols="1a,1a,1a,1a"] -|=== -|image:install-linux-logo.png[20%,20%,xref="#linux"] -|image:install-container-logo.png[25%,25%,xref="#container"] -|image:install-kubernetes-logo.png[20%,20%,xref="#kubernetes"] -|image:install-openshift-logo.png[20%,20%,xref="#openshift"] - -|<> -|<> -|<> -|<> -|=== -// end::table-logos-links[] - -// tag::table-containers-logos-heading[] -You can register and run Flex Gateway for use in one of the following containers: -// end::table-containers-logos-heading[] - -// tag::table-containers-logos-links[] -[cols="1a,1a"] -|=== -|image:install-docker-logo.png[15%,15%,xref="#docker"] -|image:install-podman-logo.png[12%,12%,xref="#podman"] - -|<> -|<> -|=== -// end::table-containers-logos-links[] - -// tag::reg-command-intro[] -To register a Flex Gateway with Anypoint Platform, you must enter the registration command and then the start command. Each command includes information specific to your Anypoint Platform instance and *must be updated before* executing. See <> for more information on how to find the information you will need. -// end::reg-command-intro[] -// -// tag::k8s-connected-intro[] - -In Connected Mode, Flex Gateway typically serves as an ingress or Edge API gateway that receives traffic from outside of the cluster. Flex Gateway can also act as a standalone gateway for internal (east-west) services. - -Most management takes place within Anypoint Platform: - -* Deploy APIs to your cluster. -* Apply policies and other configurations. -* Create resources (_with the exception_ of Configuration and Service resources). - -In Connected Mode, resource creation through `kubectl apply` is possible but restricted to the following resource types: -Configuration, Service, Extension, and PolicyBinding of types `tls`, `tls-inbound`, and `tls-outbound`. For more info about resources, see xref:flex-local-configuration-reference-guide.adoc[]. - -// end::k8s-connected-intro[] -// -// tag::k8s-local-intro[] - -In Local Mode, Flex Gateway typically acts as an ingress controller that manages external access to your cluster. Flex Gateway can also act as a standalone gateway for internal (east-west) traffic. - -When using this mode, you must know what resources to create and apply, and use `kubectl apply` to deploy Kubernetes targets and resources such as APIs, policies, or Flex Gateway-related resources to your gateway. - -Flex Gateway acts as an ingress controller when you apply an `Ingress` resource to configure gateway routing rules. You provide this configuration through a YAML file. The file supports other properties, such as `apiVersion`, `kind`, `metadata`, `spec` to configure a load balancer or proxy server, and `rules` for directing HTTP and HTTPS traffic. For more information about how Flex Gateway manages `Ingress` resources, see xref:flex-gateway-k8-ingress-class.adoc[]. - -// end::k8s-local-intro[] - -// tag::k8s-reg-command-intro[] -To register Flex Gateway with Anypoint Platform, run the Docker registration command with required options. After registering, use a Helm command to install the Helm chart for the registered gateway, and deploy the gateway to a cluster. The deployment process requires an existing cluster. See <> for more prerequisites to these procedures. -// end::k8s-reg-command-intro[] - -// tag::sub-coll-info[] - -=== Collect Your Registration Data - -Before registering your Flex Gateway instance, collect information for the following registration command options: - -// end::sub-coll-info[] -// tag::sub-coll-info-container[] - -==== Collect Your Registration Data - -Before registering your Flex Gateway instance, collect information for the following registration command options: - -// end::sub-coll-info-container[] -// tag::user-replace-content[] - -* `--username` = the username for an Anypoint Platform user with _Read Servers_ and _Manage Servers_ permissions for Runtime Manager -* `--password` = the password for an Anypoint Platform user with _Read Servers_ and _Manage Servers_ permissions for Runtime Manager -// end::user-replace-content[] -// tag::token-replace-content[] -* `--token` = the registration token for your environment in Anypoint Platform -// end::token-replace-content[] -// tag::app-replace-content[] - -* `--client-id` = the Id for the Connected App you configured in Access Management -* `--client-secret` = the Secret for the Connected App you configured in Access Management - -// end::app-replace-content[] -// tag::environment-replace-content[] - -* `--environment` = the Environment Id for the environment in Anypoint Platform where you want the Flex Gateway to run - -// end::environment-replace-content[] -// tag::replace-content[] - -* `--organization` = your Organization ID in Anypoint Platform - -* `--split` (optional) = the flag that determines whether registration information should split into multiple files. The default value is `false`. -+ -If `split` is set to `true`, registration information is split into two files: `registration.yaml` and `certificate.yaml`. If `false`, all registration information is contained in one file: `registration.yaml`. -* `--output-directory` (optional) = the directory in which registration information is output - -* `my-gateway` = the name you want to assign the gateway cluster - -// end::replace-content[] -// tag::reg-command-heading[] - -=== Register Flex Gateway - -Register your Flex Gateway instance using the data that you gathered for the command options. - -// end::reg-command-heading[] -// tag::reg-command-heading-container[] - -==== Register Flex Gateway - -Register your Flex Gateway instance using the data that you gathered for the command options. - -// end::reg-command-heading-container[] -// tag::reg-command-heading-intro[] - -You can register using one of the following container runtimes: - -// * <> -// * <> - -// end::reg-command-heading-intro[] -// tag::reg-command-openshift-heading-intro[] - -You can register using one of the following container runtimes: - -// * <> -// * <> - -// end::reg-command-openshift-heading-intro[] -// tag::docker-reg-command-heading-intro[] -// ==== Docker -Run the following command to register using Docker: - -// end::docker-reg-command-heading-intro[] -// tag::podman-reg-command-heading-intro[] -// ==== Podman -Run the following command to register using Podman: - -// end::podman-reg-command-heading-intro[] -// tag::docker-create-directory-note[] - -IMPORTANT: Create a new directory called `flex-registration` (or similar) and then run the registration command in this new directory. The command creates registration files in this location. - -// end::docker-create-directory-note[] -// tag::reg-command-1[] - -[source,ssh,subs=attributes+] ----- -# end::reg-command-1[] -# tag::docker-reg-command[] -docker run --entrypoint flexctl \ --v "$(pwd)":/registration -u $UID mulesoft/flex-gateway \ -registration create \ -# end::docker-reg-command[] -# tag::podman-reg-command[] -podman run --entrypoint flexctl --userns=keep-id \ --v "$(pwd)":/registration:Z -u $UID docker.io/mulesoft/flex-gateway \ -registration create \ -# end::podman-reg-command[] -# tag::linux-reg-command[] -flexctl registration create \ -# end::linux-reg-command[] -# tag::user-reg-command[] ---username= \ ---password= \ -# end::user-reg-command[] -# tag::app-reg-command[] ---client-id= \ ---client-secret= \ -# end::app-reg-command[] -# tag::environment-reg-command[] ---environment= \ -# end::environment-reg-command[] -# tag::token-reg-command[] ---token= \ -# end::token-reg-command[] -# tag::connected-reg-command[] ---connected=true \ -# end::connected-reg-command[] -# tag::organization-reg-command[] ---organization= \ -# end::organization-reg-command[] -# tag::output-reg-command-linux[] ---output-directory=/usr/local/share/mulesoft/flex-gateway/conf.d \ -# end::output-reg-command-linux[] -# tag::output-reg-command-docker[] ---output-directory=/registration \ -# end::output-reg-command-docker[] -# tag::reg-command-2[] -my-gateway ----- - -Use `sudo` if you encounter file permission issues when running this command. - -NOTE: If you are in Europe you will need to add the `--anypoint-url=https://eu1.anypoint.mulesoft.com` flag -to your command. - -// end::reg-command-2[] -// tag::after-reg[] -In the output directory, you should see the following new registration file(s): - -* `registration.yaml` -* `certificate.yaml` (generated only if the `split` registration parameter is set to `true`, otherwise certificate information will be contained in `registration.yaml`) - -IMPORTANT: These generated files are credentials for you to connect your Flex Gateway. If you lose them you -can no longer connect your Flex Gateway. -// end::after-reg[] -// tag::after-reg-2[] - -// end::after-reg-2[] -// tag::linux-after-reg[] - -// end::linux-after-reg[] -// tag::k8s-after-reg[] - -// end::k8s-after-reg[] -// tag::disconnected-after-reg[] -In Runtime Manager, click *← Flex Gateway* in the left navigation to find your gateway in the UI. Notice that your gateway's status is *Disconnected*. Refresh the page, if necessary. -// end::disconnected-after-reg[] -// tag::start-command[] - -=== Start Command - -Run the following start command in the same directory where you ran the registration command: - -[source,ssh,subs=attributes+] ----- -docker run --rm \ --v "$(pwd)":/usr/local/share/mulesoft/flex-gateway/conf.d \ --p 8080:8080 \ -mulesoft/flex-gateway ----- -NOTE: Specify an optional name you want to assign to your Flex Replica by including the following: `-e FLEX_NAME= \`. -// end::start-command[] -// tag::start-command-container[] - -==== Start Command - -Run the following start command in the same directory where you ran the registration command: - -[source,ssh,subs=attributes+] ----- -docker run --rm \ --v "$(pwd)":/usr/local/share/mulesoft/flex-gateway/conf.d \ --p 8080:8080 \ -mulesoft/flex-gateway ----- -NOTE: Specify an optional name you want to assign to your Flex Replica by including the following: `-e FLEX_NAME= \`. -// end::start-command-container[] -// tag::podman-start-command[] - -==== Start Command - -Run the following start command in the same directory where you ran the registration command: - -[source,ssh,subs=attributes+] ----- -podman run --rm \ --v "$(pwd)":/usr/local/share/mulesoft/flex-gateway/conf.d \ --p 8080:8080 \ -docker.io/mulesoft/flex-gateway ----- -NOTE: Specify an optional name you want to assign to your Flex Replica by including the following: `-e FLEX_NAME= \`. -// end::podman-start-command[] -// tag::start-command-local-intro[] - -==== Start Command - -Run the following start command in the same directory where you ran the registration command: - -// end::start-command-local-intro[] -// tag::start-command-local[] - -[source,ssh,subs=attributes+] ----- -docker run --rm \ --v "$(pwd)":/usr/local/share/mulesoft/flex-gateway/conf.d \ --p 8080:8080 \ -mulesoft/flex-gateway ----- -NOTE: Specify an optional name you want to assign to your Flex Replica by including the following: `-e FLEX_NAME= \`. - -// end::start-command-local[] -// tag::podman-start-command-local[] - -[source,ssh,subs=attributes+] ----- -podman run --rm \ --v "$(pwd)":/usr/local/share/mulesoft/flex-gateway/conf.d \ --p 8080:8080 \ -docker.io/mulesoft/flex-gateway ----- -NOTE: Specify an optional name you want to assign to your Flex Replica by including the following: `-e FLEX_NAME= \`. - -// end::podman-start-command-local[] -// tag::start-command-local-valid[] -The output logs should include this line: - -[source,ssh] ----- -[flex-gateway-envoy][info] all dependencies initialized. starting workers ----- -// end::start-command-local-valid[] -// tag::create-config-folder-file[] - -// end::create-config-folder-file[] -// tag::config-content[] - -// end::config-content[] -// tag::linux-start-commands[] - -=== Start Commands - -Start Flex Gateway with the following command: - -[source,ssh] ----- -sudo systemctl start flex-gateway ----- - -Verify that the Flex Gateway service is running successfully: - -[source,ssh] ----- -systemctl list-units flex-gateway* ----- - -If `flex-gateway.service` has a status of `active`, Flex Gateway is successfully running. - -[source,text] ----- - UNIT LOAD ACTIVE SUB DESCRIPTION - flex-gateway.service loaded active running Application ----- - -// end::linux-start-commands[] -// tag::k8s-install-flex-helm-chart-title[] - -=== Install Helm Chart into the Namespace - -// end::k8s-install-flex-helm-chart-title[] -// tag::k8s-install-flex-helm-chart-intro-connected[] - -Register Flex Gateway, and then use Helm to deploy Flex Gateway to a node in your cluster and connect to Anypoint Platform. After deploying, use Runtime Manager to verify that the gateway is present and connected to Anypoint Platform. - -// end::k8s-install-flex-helm-chart-intro-connected[] -// tag::k8s-install-flex-helm-chart-intro-local[] - -Register Flex Gateway, and then use Helm to deploy Flex Gateway to a node in your cluster. -// end::k8s-install-flex-helm-chart-intro-local[] -// -// tag::k8s-flex-helm-chart[] -A Helm chart installs Flex Gateway, monitoring tools, and applications. -// end::k8s-flex-helm-chart[] -// -// tag::k8s-flex-helm-chart-add[] - -. Add a Helm repository named `flex-gateway` for your chart: -+ -[source,helm] ----- -helm repo add flex-gateway https://flex-packages.anypoint.mulesoft.com/helm ----- -+ -The command either adds the repository or skips this process if a Helm repository with that name already exists on your machine: -+ -* If the repository is new, the command returns the following message: -+ ----- -"flex-gateway" has been added to your repositories ----- -+ -* If the repository already exists, the command returns the following message: -+ ----- -"flex-gateway" already exists with the same configuration, skipping ----- - -. Run `helm repo up`. -+ -The command returns the following message: -+ ----- -Hang tight while we grab the latest from your chart repositories... -...Successfully got an update from the "flex-gateway" chart repository -Update Complete. ⎈Happy Helming!⎈ ----- -+ -If you have more than one Helm repository on your machine, the message in your terminal window lists all of the repositories. -// end::k8s-flex-helm-chart-add[] -// tag::k8s-flex-helm-chart-deploy[] -// PLEASE retain blank line before first step below - -. Run the Helm command for deploying your gateway in {reg-mode} Mode: -+ -[source,helm] ----- -helm -n gateway upgrade -i --create-namespace \ ---wait ingress flex-gateway/flex-gateway \ ---set gateway.mode=connected \ ---set-file registration.content=registration.yaml ----- -+ -This command creates the `gateway` namespace and a release named `ingress` if they do not exist. You can use names of your choice for your namespace and release. The command syntax for the Helm repository and chart names is `/`. -+ -The command uses `--set gateway.mode=connected` because the default for the Helm chart is Local Mode. -+ -When you install Flex Gateway, a Service type `LoadBalancer` is created by default. You must have the appropriate permissions to create a load balancer in your cloud. If the load balancer is not provisioned or has issues with the provisioning process, you must choose another type by changing the `service.type` property during the installation. -+ -When successful, the command prints a message indicating an upgrade to your `ingress` release: -+ ----- -Release "ingress" does not exist. Installing it now. -NAME: ingress -LAST DEPLOYED: Mon Mar 20 21:36:19 2023 -NAMESPACE: gateway -STATUS: deployed -REVISION: 1 -TEST SUITE: None ----- -+ -The `REVISION` value increments the `ingress` release by `1` each time you run this command with the same namespace, repository, and chart names. For example, if you run the command a second time, you find a new revision number (`REVISION: 2`). The `LAST DEPLOYED` date reflects the date of that revision. -// do not add an empty new line here at end, please -// end::k8s-flex-helm-chart-deploy[] -// tag::k8s-flex-helm-chart-deploy-local[] -// PLEASE retain blank line before first step below - -. Run the Helm command for deploying your gateway in {reg-mode} Mode: -+ -[source,helm] ----- -helm -n gateway upgrade -i --create-namespace \ ---wait ingress flex-gateway/flex-gateway \ ---set-file registration.content=registration.yaml ----- -+ -This command creates the `gateway` namespace and a release named `ingress` if they do not exist. You can use names of your choice for your namespace and release. The command syntax for the Helm repository and chart names is `/`. -+ -When you install Flex Gateway, a Service type `LoadBalancer` is created by default. You must have the appropriate permissions to create a load balancer in your cloud. If the load balancer is not provisioned or has issues with the provisioning process, you must choose another type by changing the `service.type` property during the installation. -+ -When successful, the command prints a message indicating an upgrade to your `ingress` release: -+ ----- -Release "ingress" does not exist. Installing it now. -NAME: ingress -LAST DEPLOYED: Mon Mar 20 21:36:19 2023 -NAMESPACE: gateway -STATUS: deployed -REVISION: 1 -TEST SUITE: None ----- -+ -The `REVISION` value increments the `ingress` release by `1` each time you run this command with the same namespace, repository, and chart names. For example, if you run the command a second time, you find a new revision number (`REVISION: 2`). The `LAST DEPLOYED` date reflects the date of that revision. -// do not add an empty new line here at end, please -// end::k8s-flex-helm-chart-deploy-local[] -// tag::gateway-connected[] - -In Runtime Manager, click *← Flex Gateway* in the left navigation to find your new gateway in the UI. Notice that your gateway's current status is *Connected*. Refresh the page, if necessary. - -NOTE: After 30 days, a stopped or deleted gateway is removed from the Runtime Manager UI. Otherwise, the UI continues to list the gateway even if it is no longer running or connected. -// end::gateway-connected[] -// tag::helm-chart-options[] - -=== Helm Chart Settings - -To modify the default Helm settings with new values, such as `resource` values for CPU and memory settings, see xref:flex-gateway-k8-change-helm-settings.adoc[]. For additional Helm chart configurations, see xref:flex-gateway-k8-management.adoc[]. - -Before modifying a Helm chart for a Flex Gateway deployment, review the default Helm chart settings: - -* Open the *flex-gateway* page in https://artifacthub.io/packages/helm/flex-gateway/flex-gateway[ArtifactHUB^] -* Run `helm show values /` from a terminal window. -+ -.Example: -[source,kubernetes] ----- -helm show values flex-gateway/flex-gateway ----- -+ -The example returns _default_ values of a repository and chart with the same name. - -To view the Helm chart `README`, run `helm show readme /` from a terminal window. - -.Example: -[source,kubernetes] ----- -helm show readme flex-gateway/flex-gateway ----- - -// end::helm-chart-options[] - -// tag::links-to-openshift-reg-steps[] -Complete the following steps: - -. <> -. <> -. <> -// end::links-to-openshift-reg-steps[] -// -// tag::links-to-k8s-reg-steps[] - -Complete the following steps: - -. <> -. <> -. <> -// end::links-to-k8s-reg-steps[] diff --git a/gateway/1.6/modules/ROOT/pages/_partials/task-rep-run-flex-gateway.adoc b/gateway/1.6/modules/ROOT/pages/_partials/task-rep-run-flex-gateway.adoc deleted file mode 100644 index 632fd5554..000000000 --- a/gateway/1.6/modules/ROOT/pages/_partials/task-rep-run-flex-gateway.adoc +++ /dev/null @@ -1,42 +0,0 @@ -//tag::add-flex-intro[] -== Flex Replicas - -A Flex Replica is an instance of Flex Gateway. Setting up your gateway layer with multiple Flex Gateway replicas enables the APIs deployed on Flex Gateway to serve more traffic. - -When using Flex Gateway to manage APIs in production, configure more than one Flex Replica to avoid a single point of failure. Running multiple Flex Replicas also increases performance if your API service receives a significant amount of traffic. -//end::add-flex-intro[] - -//tag::add-flex-rep-byb[] -== Before You Begin - -Before getting started, ensure you have completed the following tasks: - -* xref:flex-install.adoc[Install a Flex Gateway] -//end::add-flex-rep-byb[] -//tag::add-flex-rep-byb-conn[] -* xref:flex-conn-reg-run.adoc[Register and Run in Connected Mode] -//end::add-flex-rep-byb-conn[] -//tag::add-flex-rep-byb-local[] -* xref:flex-local-reg-run.adoc[Register and Run in Local Mode] -//end::add-flex-rep-byb-local[] -//tag::add-flex-rep1[] - -== Add a Flex Replica as a Linux Service - -Adding a Flex Replica as a Linux Service includes the following tasks: - -* Copy and paste the registration file created during registration to your Linux machine or VM. -* Run the Flex Gateway start command. - -=== Copy the Registration File - -Copy the `registration.yaml` file to the following location on your Linux machine or VM: - -* `/usr/local/share/mulesoft/flex-gateway/conf.d` - -//end::add-flex-rep1[] -//tag::add-flex-rep2[] - -Now if you check in Runtime Manager after clicking *Flex Gateway* in the left navigation, your Flex Gateway will have an additional replica listed. You may need to refresh the page. - -//end::add-flex-rep2[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/_partials/task-shared-storage-config.adoc b/gateway/1.6/modules/ROOT/pages/_partials/task-shared-storage-config.adoc deleted file mode 100644 index 8c3f47430..000000000 --- a/gateway/1.6/modules/ROOT/pages/_partials/task-shared-storage-config.adoc +++ /dev/null @@ -1,221 +0,0 @@ -//tag::intro1[] -Anypoint Flex Gateway enables you to configure shared storage for distributed caching and rate limiting policies. Redis also provides extra memory for caching. - -Production workflows should use https://redis.io/[Redis^]. If Redis is not defined, shared storage services at port 4000 are still available but use an in-memory implementation. You must configure Redis for distributed policies to share data. All other policies use replica memory for storage. - -//end::intro1[] -//tag::intro2[] -You configure shared storage via a custom YAML file. - -The following steps demonstrate Redis-based storage support for Flex Gateway running in a Docker container, as a Linux Service, -or as a Kubernetes cluster. - -To configure Redis Sentinel or a TLS connection to your Redis shared storage, refer to: - -* <> -* <> -//end::intro2[] -//tag::icon-table[] - -[cols="1a,1a,1a"] -|=== -|image:install-linux-logo.png[20%,20%,xref="#linux"] -|image:install-docker-logo.png[25%,25%,xref="#docker"] -|image:install-kubernetes-logo.png[20%,20%,xref="#kubernetes"] - -|<> -|<> -|<> -|=== - -//end::icon-table[] -//tag::byb[] - -== Before You Begin - -Before configuring shared storage for Flex Gateway, complete the following tasks: - -. xref:flex-install.adoc[Download Flex Gateway] -. xref:flex-{page-mode}-reg-run.adoc[Register and Run Flex Gateway] - -//end::byb[] -//tag::linux[] - -[[linux]] -== Configure Shared Storage for Flex Gateway as a Linux Service - -. Create a folder in the `/etc/mulesoft/flex-gateway/conf.d` directory and name it `custom`: -+ -[source,ssh] ----- -sudo mkdir /etc/mulesoft/flex-gateway/conf.d/custom ----- - -. Create a YAML configuration file in the `custom` folder: -+ -[source,ssh] ----- -sudo touch /etc/mulesoft/flex-gateway/conf.d/custom/shared-storage-config.yaml ----- - -. Update the file with your Redis storage configuration details. For example: -+ -[source,ssh] ----- -sudo vi /etc/mulesoft/flex-gateway/conf.d/custom/shared-storage-config.yaml ----- -+ -//end::linux[] -//tag::docker-intro[] - -[[docker]] -== Configure Shared Storage for Flex Gateway in a Docker Container - -NOTE: If you have already added a volume for a folder with your -Flex Gateway configuration files, skip to the last step. - -. Stop your Flex Gateway and any replicas. -. Create a folder named `app` in the directory with your Flex Gateway configuration files. -. Restart your Flex Gateway with an additional volume for the new `app` directory: -//end::docker-intro[] - -//tag::docker-config-file-step[] -. Create and save a YAML configuration file in your `app` folder with your shared storage details. -+ -//end::docker-config-file-step[] -//tag::k8s[] - -[[kubernetes]] -== Configure Shared Storage for Flex Gateway in a Kubernetes Cluster - -To configure shared storage for Flex Gateway, create a new resource using -a YAML configuration file with your storage details. - -//end::k8s[] -//tag::sample-config-all-intro[] -Sample configuration for adding Redis-based shared storage: -//end::sample-config-all-intro[] -//tag::sample-config-all[] -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Configuration -metadata: - name: shared-storage-redis -spec: - sharedStorage: - redis: - address: redis.e-commerce.svc:6379 - username: ecomm-user - password: ecomm-pwd-123 - DB: 7 ----- -//end::sample-config-all[] - -//tag::sentinel-intro[] -[[redis-sentinel]] -== Configure Redis Sentinel - -Redis Sentinel provides high availability for Redis shared storage. For more information about Redis Sentinel, refer to https://redis.io/docs/management/sentinel/[Redi Sentinel^]. - -Configure Redis Sentinel using the steps described in the previous sections. - -Sample configuration for adding Redis Sentinel: -//end::sentinel-intro[] - -//tag::sentinel-sample-config[] -[source, yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Configuration -metadata: - name: shared-storage - namespace: test-ns -spec: - sharedStorage: - redis: - username: "user" - password: "pass" - sentinel: - addresses: - - internal.redis.com:6379 - masterName: "name" - password: "pass" - db: 0 ----- -//end::sentinel-sample-config[] - -//tag::tls-intro[] -[[redis-tls]] -== Configure TLS for Redis-Based Shared Storage - -Use TLS with Redis to ensure data security between Flex Gateway and the Redis instance. Configuring TLS enables you to protect sensitive data, prevent unauthorized access, and maintain the reliability of your services. Additionally, configuring TLS helps organizations meet compliance requirements and build trust with users. - -TLS works with both Redis and Redis Sentinel. - -Configure TLS for Redis-based shared storage using the steps described in the previous sections. - -Sample configuration for adding Redis-based shared storage with TLS: -//end::tls-intro[] - -//tag::tls-sample-config[] -[source, yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Configuration -metadata: - name: shared-storage-redis -spec: - sharedStorage: - redis: - address: internal.redis.com:6379 - tls: - skipValidation: false - minVersion: "1.1" - maxVersion: "1.3" - alpn: - - h2 - - http/1.1 - ciphers: - - TLS_AES_128_GCM_SHA256 - - TLS_AES_256_GCM_SHA384 - - TLS_CHACHA20_POLY1305_SHA256 - - TLS_RSA_WITH_3DES_EDE_CBC_SHA - - TLS_RSA_WITH_AES_128_CBC_SHA - - TLS_RSA_WITH_AES_256_CBC_SHA - - TLS_RSA_WITH_AES_128_CBC_SHA256 - - TLS_RSA_WITH_AES_128_GCM_SHA256 - - TLS_RSA_WITH_AES_256_GCM_SHA384 - - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA - - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA - - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 - - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 - - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 - - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 - - TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 - trustedCA: | - -----BEGIN CERTIFICATE----- - ... - -----END CERTIFICATE----- - - certificate: - keyPassphrase: "****" - key: | - -----BEGIN RSA PRIVATE KEY----- - ... - -----END RSA PRIVATE KEY----- - - crt: | - -----BEGIN CERTIFICATE----- - ... - -----END CERTIFICATE----- - ----- -//end::tls-sample-config[] - -//tag::tls-more-information[] -For information about configuration parameters, see the xref:flex-local-configuration-reference-guide.adoc#shared-storage[Declarative Configuration Reference (Shared Storage)]. -//end::tls-more-information[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/_partials/task-tls-config.adoc b/gateway/1.6/modules/ROOT/pages/_partials/task-tls-config.adoc deleted file mode 100644 index 37c6c4d1b..000000000 --- a/gateway/1.6/modules/ROOT/pages/_partials/task-tls-config.adoc +++ /dev/null @@ -1,412 +0,0 @@ -//tag::intro1[] -Using encryption, Transport Layer Security (TLS) policies protect communication between clients, API instances, and upstream services. To use TLS when creating an API instance using Flex Gateway in Local Mode as your runtime, you must configure the TLS context in a `PolicyBinding` YAML configuration file. - -When you add a TLS context, you can also select the ciphers to use with the TLS context and configure different inbound and outbound validation settings. - -//end::intro1[] - -//tag::intro2[] -Flex Gateway supports the following: - -* Regular TLS between a client and the API instance (HTTPS), referred to as inbound TLS -* Regular TLS between an API instance and an upstream service, referred to as outbound TLS -* Mutual authentication TLS (mTLS) in both the inbound and outbound direction - -//end::intro2[] - -//tag::intro3[] -The following tutorials demonstrate how to apply a configured `PolicyBinding` resource. For how to configure the resource, see the policy configuration pages: - -* xref:policies-included-tls.adoc[Transport Layer Security Policy - Inbound] -* xref:policies-included-tls-outbound.adoc[Transport Layer Security Policy - Outbound] - -//end::intro3[] - -//tag::resources[] -For inbound TLS, you bind the policy resource to the API instance. For outbound TLS, you bind the policy resource to the upstream service. - -//end::resources[] - -//tag::port-sharing-inbound[] -Flex Gateway implements port-level inbound TLS, meaning if you apply an inbound TLS to an API instance that shares a port with other instances, the same inbound TLS context is applied to all instances sharing the port. Flex Gateway supports multiple TLS certificates on a single gateway, but you must apply the certificates to unique ports. If you apply inbound TLS to one API instance, you do not need to apply the same inbound TLS context to instances that share that port. Consequently, you cannot apply different inbound TLS contexts to API instances that share the same port. - -Port sharing is not a concern for outbound TLS. You can apply an outbound TLS context for each individual upstream service. - -//end::port-sharing-inbound[] - -//tag::outboundAllInstances[] -Unlike inbound TLS, it is not suggested to apply the same outbound TLS context to all API instances in your Flex Gateway because your API upstream services might come from different providers. Therefore, no configuration example for outbound TLS on all instances is provided. - -Port sharing is not a concern for outbound TLS. You can apply an outbound TLS context for each individual upstream service. - -//end::outboundAllInstances[] - -//tag::intro4[] -You can configure the TLS context for a Flex Gateway running in a Docker container, as a Linux Service, -or in a Kubernetes cluster. - -//end::intro4[] - -//tag::icon-table[] - -[cols="1a,1a,1a"] -|=== -|image:install-linux-logo.png[20%,20%,xref="flex-{page-mode}-tls-config.adoc#linux"] -|image:install-docker-logo.png[25%,25%,xref="flex-{page-mode}-tls-config.adoc#docker"] -|image:install-kubernetes-logo.png[20%,20%,xref="flex-{page-mode}-tls-config.adoc#kubernetes"] - -|xref:flex-{page-mode}-tls-config.adoc#linux[Configure TLS Context for Flex Gateway as a Linux Service] -|xref:flex-{page-mode}-tls-config.adoc#docker[Configure TLS Context for Flex Gateway in a Docker Container] -|xref:flex-{page-mode}-tls-config.adoc#kubernetes[Configure TLS Context for Flex Gateway in a Kubernetes Cluster] -|=== - -//end::icon-table[] -//tag::byb[] - -== Before You Begin - -Before configuring the TLS context for a Flex Gateway, you must complete the following tasks: - -* xref:flex-install.adoc[Download Flex Gateway] -* xref:flex-{page-mode}-reg-run.adoc[Register and Run Flex Gateway] - -//end::byb[] -//tag::linux[] - -[[linux]] -== Configure TLS Context for Flex Gateway as a Linux Service - -. Create a YAML configuration file in the Flex Gateway configuration directory: -+ -[source,ssh] ----- -sudo touch /usr/local/share/mulesoft/flex-gateway/conf.d/tls-config.yaml ----- - -. Update the file with your TLS context configuration details. For example: -+ -[source,ssh] ----- -sudo vi /usr/local/share/mulesoft/flex-gateway/conf.d/tls-config.yaml ----- -+ -The following configuration file only applies inbound TLS to one API instance. For all configuration file options, such as mTLS and outbound TLS, see: -+ -* xref:policies-included-tls.adoc[Transport Layer Security Policy - Inbound] -* xref:policies-included-tls-outbound.adoc[Transport Layer Security Policy - Outbound] -+ -//end::linux[] -//tag::docker-intro[] - -[[docker]] -== Configure TLS Context for Flex Gateway in a Docker Container - -NOTE: If you have already added volume for a folder with your -Flex Gateway configuration files, skip to the last step. - -. Press Ctrl+C to stop your Flex Gateway and any replicas. -. Create a folder named `app` in the directory with your Flex Gateway configuration files. -. Restart your Flex Gateway with an additional volume for the new `app` directory: -//end::docker-intro[] - -//tag::docker-config-file-step[] -. Create and save a YAML configuration file in your `app` folder with your TLS context details. -+ -The following configuration file only applies inbound TLS to one API instance. For all configuration file options, such as mTLS and outbound TLS, see: -+ -* xref:policies-included-tls.adoc[Transport Layer Security Policy - Inbound] -* xref:policies-included-tls-outbound.adoc[Transport Layer Security Policy - Outbound] -//end::docker-config-file-step[] - -//tag::k8s-intro[] - -[[kubernetes]] -== Configure TLS Context for Flex Gateway in a Kubernetes Cluster - -To configure the TLS context for Flex Gateway, create a new resource using -a YAML configuration file with your TLS context details. - -The following configuration file only applies inbound TLS to one API instance. For all configuration file options, such as mTLS and outbound TLS, see: - -* xref:policies-included-tls.adoc[Transport Layer Security Policy - Inbound] -* xref:policies-included-tls-outbound.adoc[Transport Layer Security Policy - Outbound] - -//end::k8s-intro[] - -//tag::sample-config-all-intro[] -*Sample configuration for adding inbound TLS context for all API instances running on this Flex Gateway:* -//end::sample-config-all-intro[] -//tag::sample-config-all[] -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: ingress-https-tls -spec: - targetRef: - kind: Selector - selector: - kind: ApiInstance - policyRef: - name: tls - config: - certificate: - key: | - # -----BEGIN PRIVATE KEY----- - # insert certificate key - # -----END PRIVATE KEY----- - crt: | - # -----BEGIN CERTIFICATE----- - # insert certificate - # -----END CERTIFICATE----- - alpn: - - http/1.1 - - h2 - minversion: "1.1" - maxversion: "1.3" - ciphers: - - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 - - TLS_CHACHA20_POLY1305_SHA256 - - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 - - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA - - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - - TLS_RSA_WITH_AES_128_GCM_SHA256 - - TLS_RSA_WITH_AES_128_CBC_SHA - - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 - - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 - - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA - - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - - TLS_RSA_WITH_AES_256_GCM_SHA384 - - TLS_RSA_WITH_AES_256_CBC_SHA ----- -//end::sample-config-all[] -//tag::sample-config-instance-intro[] -*Sample configuration for adding inbound TLS context for a specific API instance:* -//end::sample-config-instance-intro[] -//tag::sample-config-instance[] -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: ingress-https-tls -spec: - targetRef: - kind: ApiInstance - name: ingress-https - policyRef: - name: tls - config: - certificate: - key: | - # -----BEGIN PRIVATE KEY----- - # insert certificate key - # -----END PRIVATE KEY----- - crt: | - # -----BEGIN CERTIFICATE----- - # insert certificate - # -----END CERTIFICATE----- - alpn: - - http/1.1 - - h2 - minversion: "1.1" - maxversion: "1.3" - ciphers: - - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 - - TLS_CHACHA20_POLY1305_SHA256 - - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 - - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA - - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - - TLS_RSA_WITH_AES_128_GCM_SHA256 - - TLS_RSA_WITH_AES_128_CBC_SHA - - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 - - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 - - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA - - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - - TLS_RSA_WITH_AES_256_GCM_SHA384 - - TLS_RSA_WITH_AES_256_CBC_SHA ----- -//end::sample-config-instance[] - -//tag::sample-config-mtls-intro[] -*Sample configuration for adding an inbound mTLS context for a specific API instance:* -//end::sample-config-mtls-intro[] -//tag::sample-config-mtls[] -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: mtls -spec: - targetRef: - name: ingress-https - policyRef: - name: tls - config: - requireClientCertificate: true - trustedCA: | - # -----BEGIN CERTIFICATE----- - # insert certificate - # -----END CERTIFICATE----- - certificate: - key: | - # -----BEGIN RSA PRIVATE KEY----- - # insert private key - # -----END RSA PRIVATE KEY----- - crt: | - # -----BEGIN CERTIFICATE----- - # insert certificate - # -----END CERTIFICATE----- ----- - -This example uses the default values for `alpn`, `minversion`, `maxversion`, and `ciphers`. -//end::sample-config-mtls[] - - -//tag::sample-config-outbound-instance-intro[] -*Sample configuration for adding outbound TLS context for a specific upstream service:* -//end::sample-config-outbound-instance-intro[] -//tag::sample-config-outbound-instance[] -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: tls-outbound -spec: - targetRef: - name: ingress-test-outbound-upstream - policyRef: - name: tls-outbound - config: - skipValidation: true - certificate: - key: | - # -----BEGIN PRIVATE KEY----- - # insert certificate key - # -----END PRIVATE KEY----- - crt: | - # -----BEGIN CERTIFICATE----- - # insert certificate - # -----END CERTIFICATE----- ----- - -This example uses the default values for `alpn`, `minversion`, `maxversion`, and `ciphers`. -//end::sample-config-outbound-instance[] - -//tag::sample-config-mtls-outbound-intro[] -*Sample configuration for adding outbound mTLS context for a specific upstream service:* -//end::sample-config-mtls-outbound-intro[] -//tag::sample-config-mtls-outbound[] -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: mtls-outbound -spec: - targetRef: - name: ingress-test-outbound-upstream - policyRef: - name: tls-outbound - config: - skipValidation: false - trustedCA: | - # -----BEGIN CERTIFICATE----- - # insert certificate - # -----END CERTIFICATE----- - certificate: - key: | - # -----BEGIN PRIVATE KEY----- - # insert certificate key - # -----END PRIVATE KEY----- - crt: | - # -----BEGIN CERTIFICATE----- - # insert certificate - # -----END CERTIFICATE----- - alpn: - - http/1.1 - - h2 - minversion: "1.1" - maxversion: "1.3" - ciphers: - - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 - - TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 - - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 - - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 - - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 ----- -//end::sample-config-mtls-outbound[] - -//tag::verify-config[] -. Verify that the policy was correctly applied. -+ -The following example `curl` command tests an HTTPS endpoint with a certificate that matches the certificate specified in the policy binding configuration resource. -+ -[source,ssh] ----- -curl https://:/get --cacert -v ----- -+ -The command should return information on the TLS handshake, as well as an HTTP status of `200` for the endpoint: -+ ----- -* TLSv1.3 (OUT), TLS handshake, Client hello (1): -* TLSv1.3 (IN), TLS handshake, Server hello (2): -* TLSv1.2 (IN), TLS handshake, Certificate (11): -* TLSv1.2 (IN), TLS handshake, Server key exchange (12): -* TLSv1.2 (IN), TLS handshake, Server finished (14): -* TLSv1.2 (OUT), TLS handshake, Client key exchange (16): -* TLSv1.2 (OUT), TLS change cipher, Client hello (1): -* TLSv1.2 (OUT), TLS handshake, Finished (20): -* SSL connection using TLSv1.2 / ECDHE-RSA-CHACHA20-POLY1305 -* ALPN, server did not agree to a protocol -... -> HTTP/1.1 200 OK ----- -+ -For inbound mTLS, the following example `curl` command requests an API proxy whose basepath is `/`. -+ -[source,ssh] ----- -curl https://:/get \ ---cert \ ---key \ ---cacert \ ---resolve ::127.0.0.1 -v ----- -+ -[NOTE] -==== -The configuration `key` and `crt` values must be correctly indented, otherwise `curl` returns the following error when attempting to test the endpoint: ----- -curl: (35) error:1408F10B:SSL routines:ssl3_get_record:wrong version number ----- -==== -//end::verify-config[] - -//tag::config-ref[] -See xref:policies-included-tls.adoc[] for more information about inbound TLS context configuration options. See xref:policies-included-tls-outbound.adoc[] for more information about outbound TLS context configuration options. - -[NOTE] -==== -Flex Gateway supports multiple TLS certificates on a single gateway, but the certificates need to be applied on unique ports. -==== - -[NOTE] -==== -Policy ordering cannot be applied to the Transport Layer Security policies. -==== -//end::config-ref[] - -//tag::openssl-standards[] -[NOTE] -==== -To comply with security standards, all certificates must be 2048 bits or longer. -==== -//end::openssl-standards[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/_partials/troubleshoot.adoc b/gateway/1.6/modules/ROOT/pages/_partials/troubleshoot.adoc deleted file mode 100644 index 22349ed3e..000000000 --- a/gateway/1.6/modules/ROOT/pages/_partials/troubleshoot.adoc +++ /dev/null @@ -1,173 +0,0 @@ -//Tags are used and shared in these file: -// * flex-gateway-k8-getting-started.adoc -// * flex-troubleshoot-docker.adoc -// * flex-troubleshoot-helm.adoc -// -// -//DOCKER -//tag::troubleshoot-docker-intro[] - -Troubleshoot errors returned by a `docker` command: - -* <> -* <> - -//end::troubleshoot-docker-intro[] -// -// -//tag::troubleshoot-docker-daemon-bad-response[] - -If Docker is not started, a `docker` command returns an error message similar to the following ones: - -* {empty} -+ ----- -Error response from daemon: Bad response from Docker engine ----- - -* {empty} -+ ----- -ERROR: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. - Is the docker daemon running? ----- - -If you get this error, start Docker. - -//end::troubleshoot-docker-daemon-bad-response[] -// -// -//tag::troubleshoot-docker-bad-request[] - -The following error can occur when you use `docker run` to register your gateway: - ----- -[flexctl][error] reg facade call returned error response: -HTTP/1.1 400 Bad Request ----- - -The reason for this error is available within the error message. Common causes include: - -[[name-already-exists]] -* `an active target with the same name already exists in this organization and environment` -+ -To avoid this issue, provide a _unique name_ for your gateway when running the registration command. Note that you _cannot reuse the same name_ even if a previous registration with that name was successful. When this error occurs, the command generates an _empty_ `registration.yaml`, which prevents re-registration _and_ produces an error when you try to use the file when deploying the gateway to your cluster. -+ -[[no-token]] -* `no valid registration token was found` -+ -To avoid this issue, generate a new token for the command by refreshing the *Add a Flex Gateway* page for Kubernetes and rerun the registration command. - -//end::troubleshoot-docker-bad-request[] -// -// -// -//HELM (for k8 & openshift) -//tag::troubleshoot-helm-intro[] - -Troubleshoot errors returned by a `helm` command for Kubernetes and OpenShift clusters: - -* <> -* <> -* <> -* <> - -//end::troubleshoot-helm-intro[] -// -//tag::troubleshoot-helm-yaml-empty[] - -[[yaml-empty]] -If the `registration.yaml` file is invalid when you pass it to the Helm command during deployment of Flex Gateway, the following error results: - ----- -Error: UPGRADE FAILED: execution error at (flex-gateway/templates/deployment.yaml:4:10): -registerSecretName, registration.content or registration.secretName is required! ----- - -When this error occurs, make sure that the `registration.yaml` file is not empty. If the file is empty, reregister your gateway with a new, unique name to generate a new `registration.yaml` and rerun the procedures that follow the registration step. See xref:flex-gateway-k8-getting-started.adoc#register-flex[Register Flex Gateway] for an example of the registration command. - -//end::troubleshoot-helm-yaml-empty[] -// -// -//tag::troubleshoot-helm-cluster-unreachable[] - -[[cluster-unreachable]] -If your Kubernetes cluster is not running when you attempt to deploy Flex Gateway using `helm`, the following error might occur: - ----- -Error: Kubernetes cluster unreachable: -the server could not find the requested resource ----- - -Start the service that runs your cluster. - -Check that your Kubernetes cluster host is running your cluster, for example: - -[source,kubectl] ----- -kubectl cluster-info ----- - -* If the cluster is running, the command returns a result similar to this one: -+ ----- -Kubernetes control plane is running at https://34.30.50.119 -GLBCDefaultBackend is running at https://34.30.50.119/api/v1/namespaces/kube-system/services/default-http-backend:http/proxy -KubeDNS is running at https://34.30.50.119/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy -Metrics-server is running at https://34.30.50.119/api/v1/namespaces/kube-system/services/https:metrics-server:/proxy ----- - -* If the cluster is not up, the command can return a result similar to this one: -+ ----- -To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'. -error: the server doesn't have a resource type "services" ----- - -//end::troubleshoot-helm-cluster-unreachable[] -// -// -//tag::troubleshoot-helm-upgrade-failed[] - -[[upgrade-failed]] -Some issues can cause the Helm upgrade command to hang for up to 5 minutes (due to the `--wait` flag in the command) before producing the following timeout error: - ----- -Error: UPGRADE FAILED: timed out waiting for the condition ----- - -This error typically means that your cluster configuration is incorrect or that your cluster configuration tool does not support this process. One potential cause is the failure to generate a `Service` resource of the `LoadBalancer` type. You can troubleshoot further by running the following commands: - -* {empty} -+ -[source,kubectl] ----- -kubectl -n gateway describe deployment ----- - -* {empty} -+ -[source,kubectl] ----- -kubectl -n gateway describe service ----- - -//end::troubleshoot-helm-upgrade-failed[] -// -// -//tag::troubleshoot-helm-openshift-rbac[] - -//cluster-level access when rbac enabled, as for OpenShift -[[rbac-openshift]] -include::partial$prerequisites.adoc[tags=rbac-permission-k8;rbac-role-openshift] - -Without the required access, you receive an error similar to the following one: - ----- -Error: failed to install CRD crds/apiinstance.yaml: -customresourcedefinitions.apiextensions.k8s.io is forbidden: -User "user1" cannot create resource "customresourcedefinitions" -in API group "apiextensions.k8s.io" at the cluster scope ----- - -//end::troubleshoot-helm-openshift-rbac[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-architecture-basic-deployments.adoc b/gateway/1.6/modules/ROOT/pages/flex-architecture-basic-deployments.adoc deleted file mode 100644 index 9bd2460e4..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-architecture-basic-deployments.adoc +++ /dev/null @@ -1,85 +0,0 @@ -= Flex Gateway Deployment Models -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Flex Gateway supports multiple deployment models, which apply to both Connected Mode and Local Mode: - -* <> -* <> -* <> -* <> - -You can extend the deployment models in this overview to all technological stacks that have the appropriate network controls applied. For more information about routing configuration modes, see <>. - -All the following diagrams show Flex Gateway running in Connected Mode. For Flex Gateway running in Local Mode, the only difference is that Anypoint Platform would not be present in the deployment model. This does not affect how information flows between Flex Gateway and the upstream and downstream services. - -== Standalone Deployment - -In a standalone deployment, Flex Gateway acts as a standalone service that protects one or more integration API flows by managing internal traffic. - -As the following diagram shows, all traffic is inside an organization-owned network. The traffic passes through Flex Gateway before reaching the consumer APIs. - -image:ad-standalone-deployment.png["In a standalone deployment, Flex Gateway and the consumer applications are in the same network."] - -== Ingress Deployment - -Similar to standalone deployment, in an ingress deployment, Flex Gateway acts as a standalone service that protects one or more integration API flows. However, in an ingress deployment, Flex Gateway manages external traffic entering the internal network. Ingress deployment is the most common deployment model. - -Flex Gateway can act as both an ingress and an egress gateway. - -As the following diagram shows, all external traffic passes through Flex Gateway before reaching the consumer APIs. Flex Gateway is typically deployed behind a load balancer, and the consumer application does not belong to the same network as Flex Gateway or the APIs. - -image:ad-ingress-deployment.png["In an ingress deployment, Flex Gateway and the consumer applications are in different networks."] - - -NOTE: Ingress deployment is not the same as a Kubernetes Ingress controller or Ingress `Resource`. For more information about routing configuration, see <>. - -== Egress Deployment - -An egress deployment is the opposite deployment model of an ingress deployment. Flex Gateway still acts as a standalone service that protects one or more integration API flows. However, in an egress deployment, Flex Gateway manages internal traffic exiting the internal network, for example, API requests to non-organization-owned APIs. - -Flex Gateway can act as both an ingress and an egress gateway. - -As the following diagram shows, all internal traffic from the consumer application passes through Flex Gateway before reaching the external APIs. - -image:ad-egress-deployment.png[] - -== Sidecar Deployment -In a sidecar deployment, each Flex Gateway deployment only protects the APIs exposed by its protected service. A new Flex Gateway replica is added with each new protected service. - -As the following diagram shows, traffic in a sidecar deployment passes through Flex Gateway to the respective consumer API. The consumer application can belong to the same network as Flex Gateway or an external network. - -image:ad-sidecar-deployment.png["In a sidecar deployment, Flex Gateway and the consumer application are in the same Kubernetes pod."] - -== Routing Configuration Methods - -There are different routing configuration methods dependent on what mode Flex Gateway is running in or what technological stack Flex Gateway is deployed on. - -How connections between Flex Gateway and services are configured is independent of the deployment model. - -=== Control Plane - -In control plane routing configuration, Flex Gateway and service connections are configured in a remote control plane. For Flex Gateway, the control plane is Anypoint Platfrom. Control plane configuration is only available in Flex Gateway Connected Mode. - -=== Custom Resource Definitions (CRDs) - -In custom resource definitions (CRDs) routing configuration, Flex Gateway and service connections are configured in custom resource yaml files. - -For Flex Gateway, the CRDs are `APIinstance`, `Service`, `PolicyBinding`, and `Configuration` and are defined in the xref:flex-local-configuration-reference-guide.adoc[]. - -In Flex Gateway CRDs define connections in Local Mode but are also necessary for some connections in Connected Mode. - -=== Kubernetes Ingress Resource - -Flex Gateways running in Local Mode and deployed on Kubernetes can use Kubernetes `Ingress` resources to define connection routing. When routing is defined via `Ingress` resources, Flex Gateway acts as an Ingress Controller. `Ingress` resources are only avaliable in Kubernetes Local Mode. - -You can use `Ingress` resources and CRDs simultaneously. - -For more information about how to configure Flex Gateway as an Ingress Controller, see xref:flex-gateway-k8-ingress-class.adoc[]. - -== See Also - -* xref:flex-architecture-uc-overview.adoc[] -* xref:flex-architecture-shared-storage.adoc[] diff --git a/gateway/1.6/modules/ROOT/pages/flex-architecture-overview.adoc b/gateway/1.6/modules/ROOT/pages/flex-architecture-overview.adoc deleted file mode 100644 index aab33760e..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-architecture-overview.adoc +++ /dev/null @@ -1,15 +0,0 @@ -= Flex Gateway Reference Architecture -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -The following architecture diagrams explain Flex Gateway concepts and deployments: - -* xref:flex-architecture-basic-deployments.adoc[] -* xref:flex-architecture-uc-overview.adoc[] -** xref:flex-architecture-uc1.adoc[] -** xref:flex-architecture-uc2.adoc[] -** xref:flex-architecture-uc3.adoc[] -** xref:flex-architecture-uc4.adoc[] -* xref:flex-architecture-shared-storage.adoc[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-architecture-shared-storage.adoc b/gateway/1.6/modules/ROOT/pages/flex-architecture-shared-storage.adoc deleted file mode 100644 index 67c557f25..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-architecture-shared-storage.adoc +++ /dev/null @@ -1,32 +0,0 @@ -= Shared Storage Models -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -When configuring shared storage, MuleSoft recommends placing the Redis shared storage service as close to Flex Gateway as possible. - -If the Redis shared storage service is available locally in the same cluster or the same Virtual Private Cloud (VPC), a mutual authentication Transport Layer Security (mTLS) connection is not required to communicate with the shared storage. - -To configure the connection between Flex Gateway and the shared storage service, see: - -* xref:flex-conn-shared-storage-config.adoc[Configure Shared Storage in Connected Mode] -* xref:flex-local-shared-storage-config.adoc[Configure Shared Storage in Local Mode] - -The following diagrams use Kubernetes terminology, but you can extend the architecture to other technology stacks that have the appropriate network controls applied. - -You can place the Redis shared storage within the same Kubernetes cluster as Flex Gateway or instantiated within the same VPC as Flex Gateway: - - -== Shared Storage in the Same Cluster - -image:redis-same-cluster.png["The redis shared storage is in the same cluster as the Flex Gateway replicas."] - -== Shared Storage in the Same VPC - -image:redis-same-vpc.png["The redis shared storage is in the same VPC as the Flex Gateway replicas but is not in the same cluster."] - -== See Also - -* xref:flex-architecture-basic-deployments.adoc[] -* xref:flex-architecture-uc-overview.adoc[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-architecture-uc-overview.adoc b/gateway/1.6/modules/ROOT/pages/flex-architecture-uc-overview.adoc deleted file mode 100644 index c427c9aa7..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-architecture-uc-overview.adoc +++ /dev/null @@ -1,103 +0,0 @@ -= Integration Use Cases -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -The following integration use cases are determined by the ownership of the API provider and API consumer. Each use case shows physical patterns that demonstrate the necessary services in the system. - -For the following use case diagrams, Flex Gateway is running in Connected Mode. However, you can also run Flex Gateway in Local Mode or use a combination of Connected Mode and Local Mode for separate runtimes in the same or in different environments. - -The use case diagrams use Kubernetes terminology, but you can extend the architecture to other technology stacks that have the appropriate network controls applied. - -Flex Gateway supports four use cases: - -* xref:flex-architecture-uc1.adoc[] -* xref:flex-architecture-uc2.adoc[] -* xref:flex-architecture-uc3.adoc[] -* xref:flex-architecture-uc4.adoc[] - -image:ad-intergration-use-cases.png["The four use cases are linked to products that they can support."] - -Each use case supports different integration patterns that vary depending on the location of APIs relative to the network in which Flex Gateway is located. You can use different use case patterns, depending on the different API owners and networks in your system. - -In each use case, there are three different classifications of networks. The classifications describe the relation of each network to your organization and the network that Flex Gateway is in: - -* Organization internal -+ -Networks owned by your organization and in the same network as Flex Gateway -* Organization external -+ -Trusted networks external to your organization but in a different network than Flex Gateway, for example, your organization’s Splunk instance -* Non-Organization external -+ -External networks untrusted by your company and in a different network as Flex Gateway. An API provider’s or API consumers network status affects the necessary security protocols (mTLS) you take when communicating between networks - -If an API provider or API consumer is organization-owned, it belongs to either the organization's internal network or its external networks. - -The following tables: - -* Relate the previously mentioned use cases to use case patterns -* Show the networks involved in the pattern -* Indicate whether Flex Gateway acts as an ingress, egress, or both - - - -== Use Case 1: Organization-Owned API Exposed to an Organization-Owned API Consumer - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== -| Pattern | Provider Network | Consumer Network | Role of Flex Gateway -| xref:flex-architecture-uc1.adoc#pattern-1a[Pattern 1A: Organization internal API exposed to an organization internal consumer that uses the same VPC or network as the API] | Organization internal | Organization internal | Ingress -| xref:flex-architecture-uc1.adoc#pattern-1b[Pattern 1B: Organization internal API exposed to an organization internal consumer that uses a different VPC or network from the API] | Organization internal | Organization internal | Ingress -| xref:flex-architecture-uc1.adoc#pattern-2[Pattern 2: Organization internal API exposed to an organization external consumer] | Organization internal | Organization external | Ingress -| xref:flex-architecture-uc1.adoc#pattern-3[Pattern 3: Organization external API exposed to an organization internal consumer] | Organization external | Organization internal | Egress -| xref:flex-architecture-uc1.adoc#pattern-4[Pattern 4: Organization external API exposed to an organization external consumer] | Organization external | Organization external | Ingress and egress -|=== - - -== Use Case 2: Organization-Owned API Exposed to a Non-Organization-Owned API Consumer - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== -| Pattern | Provider Network | Consumer Network | Role of Flex Gateway -| xref:flex-architecture-uc2.adoc#pattern-5[Pattern 5: Organization internal API exposed to a non-organization external consumer] | Organization internal | Non-organization external | Ingress -| xref:flex-architecture-uc2.adoc#pattern-6[Pattern 6: Organization external API exposed to a non-organization external consumer] | Organization external | Non-organization external | Ingress and egress -|=== - -== Use Case 3: Non-Organization-Owned API Exposed to an Organization-Owned API Consumer - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== -| Pattern | Provider Network | Consumer Network | Role of Flex Gateway -| xref:flex-architecture-uc3.adoc#pattern-7[Pattern 7: Non-organization external API exposed to an organization internal consumer] | Non-organization external | Organization internal | Egress -| xref:flex-architecture-uc3.adoc#pattern-8[Pattern 8: Non-organization external API exposed to an organization external consumer] | Non-organization external | Organization external | Ingress and egress -|=== - -== Use Case 4: Non-Organization-Owned API Exposed to an External Non-Organization-Owned API Consumer -[%header%autowidth.spread,cols="a,a,a,a"] -|=== -| Pattern | Provider Network | Consumer Network | Role of Flex Gateway -| xref:flex-architecture-uc4.adoc#pattern-9[Pattern 9: Non-organization external API exposed to a non-organization external consumer] | Non-organization external | Non-organization external | Ingress and egress -|=== - -== mTLS considerations for integration flows -Flex Gateway supports Mutual Transport Layer Security (mTLS) for all Flex Gateway-initiated and Flex Gateway-terminated connections. Mulesoft recommends using mTLS on all communication flows. - -For inbound connections that cross a network security boundary, use a network application firewall as close to the boundary as possible. For inbound connections, configure the external mTLS connection to terminate at the firewall and configure a new mTLS context between the firewall and Flex Gateway. - -=== Certificate authorities -Different certificate authorities (CA) participate in the mTLS connection, depending on the type of integration. In the use case diagrams, color codes and labels represent the different mTLS contexts. Each mTLS context contains a truststore that contains CAs for validating far-side certificates and a keystore that contains a certificate issued by this same CA. The following table describes the three possible mTLS contexts: - -[%header%autowidth.spread,cols="a,a,a"] -|=== -| mTLS context symbol | Certificate authority | Description -| image:ad-internal-org-mtls.png[white hexagon with mtls written in the middle] | Organization internal mTLS | For internal network communication, the expectation is that only the customer organization uses these certificates within the internal network. -| image:ad-external-org-mtls.png[green hexagon with mtls written in the middle] | Organization external mTLS | For external communication with trusted parties over the public internet, the organization can issue certificates that external consumers or third parties can use to access the services provided by the organization. -| image:ad-external-non-org-mtls.png[grey hexagon with mtls written in the middle] | Non-organization external mTLS | For external communication with entities that aren't trusted, the third party organization controls the CA. The third party CA issues certificates for the organization to use when communicating with third-party services. -|=== - -== See Also - -* xref:flex-architecture-basic-deployments.adoc[] -* xref:flex-architecture-shared-storage.adoc[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-architecture-uc1.adoc b/gateway/1.6/modules/ROOT/pages/flex-architecture-uc1.adoc deleted file mode 100644 index e09a50b39..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-architecture-uc1.adoc +++ /dev/null @@ -1,91 +0,0 @@ -= Use Case 1: Organization-Owned API Exposed to an Organization-Owned API Consumer -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Use case one covers all patterns of a scenario in which a trusted organization's API is exposed to a trusted organization's API consumer. - -== Pattern 1: Organization Internal API Exposed to an Organization Internal Consumer - -Pattern examples: - -* A sales application accesses a customer service API in which both sales and customer service are internal areas of the customer organization -* A call center application calls the API exposed by the customer domain to retrieve customer information -* A mobile bank calls customer and account services to display the account overview screen to the end consumer - -[[pattern-1a]] -=== Pattern 1A: Organization Internal API Exposed to an Organization Internal Consumer that Uses the Same VPC or Network -In this use case pattern, both services are available on the same infrastructure, such as the same public cloud VPC, datacenter, or Kubernetes cluster. You can deploy Flex Gateway as either a sidecar or a standalone gateway. - -image:ad-uc-1-p-1a.png["For both standalone and sidecar mode, Flex Gateway and the APIs are in the same internal network."] - -The following diagram shows the physical implementation of a standalone Flex Gateway running in Connected Mode. A network policy (Netpol) permits ingress access only from Flex Gateway. You can configure the consumer application in the same or different namespace from Flex Gateway and the provider services. - -image:ad-uc-1-p-1a-physical.png[A more detailed view of UC1 contains load balancers and Netpol protection] - -When the API provider is located in a different Kubernetes cluster from Flex Gateway and the consumer application, you can do either of the following: - -* Deploy a Flex Gateway runtime on each of the clusters, as in Pattern 1B. -* Establish network restrictions in the secure channel between clusters and deploy Flex Gateway in only one of them, as shown in the following diagram. The second cluster only allows connections from a Flex Gateway that acts as an ingress controller. - -image:ad-uc-1-p-1b-separate-clusters.png["A detailed view of pattern 1A, which contains the necessary services to support Flex Gateway"] - -[[pattern-1b]] -=== Pattern 1B: Organization Internal API Exposed to an Organization Internal Consumer that Uses a Different VPC or Network -In this pattern, the API provider is isolated from the API consumer. However, there is a secure communication channel available between the two networks. - -You deploy Flex Gateway as an ingress behind a firewall because traffic is considered external to the location of the provider. Flex Gateway receives and processes the incoming traffic. - -You can use Flex Gateway to terminate the TLS or mTLS connection if required. - -image:ad-uc-1-p-1b.png["Information travels from a trusted network to the internal network that contains Flex Gateway."] - -The following diagram shows the physical implementation on Kubernetes. - -image:ad-uc-1-p-1b-physical.png["The previous networks are now Kubernetes clusters and there are load balancers that separate the APIs from Flex Gateway."] - -[[pattern-2]] -== Pattern 2: Organization Internal API exposed an Organization External Consumer -In pattern two, the organization-owned API is isolated from the organization-owned API consumer, for example, in a package delivery tracking API that is accessed from a user interface. The consumer can access the exposed API only via the internet. In this use case, you deploy Flex Gateway as an ingress. - -image:ad-uc-1-p-2.png["Consumer application requests pass through the internet and a firewall before reaching Flex Gateway."] - -This pattern is similar to Pattern 1B. However, in this pattern, traffic arrives from the public internet instead of from a private channel. Because traffic is coming from the public internet, you must add additional controls to strengthen communication security before reaching Flex Gateway. - -The following diagram shows the physical implementation of a scenario in which an organization's internal API is exposed to an organization's internal consumer on Kubernetes. The diagram assumes that the firewall terminates the incoming external mTLS connection. - -image:ad-uc-1-p-2-physical.png["The previous networks are now Kubernetes clusters, there are load balancers separating the APIs from Flex Gateway, and mTLS connections to external networks."] - -[[pattern-3]] -== Pattern 3: Organization External API Exposed to an Organization Internal Consumer -In pattern three, the API Consumer is in the same network as Flex Gateway. You can use Flex Gateway to monitor, control, and enrich the flows to external services. For example, Flex Gateway can provide rate limiting for the external access traffic, or metrics and analytics tracking for this external service connection. - -Pattern examples: - -* A payments service must obtain exchange rates from an external service provider. -* An internal API Consumer accesses the organization’s external ServiceNow instance (SaaS service). - -For pattern three, you deploy Flex Gateway as a standalone gateway that acts as an egress container. - -image:ad-uc-1-p-3.png["Flex Gateway is deployed as an egress to monitor incoming traffic from the external API."] - -The following diagram shows the physical implementation of a scenario in which an organization's external API is exposed to an organization's internal consumer on Kubernetes. The diagram assumes that the firewall terminates the incoming external mTLS connection. - -image:ad-uc-1-p-3-physical.png["The previous networks are now kubernetes clusters. There are load balancers that separate the APIs from Flex Gateway and mTLS connections to external networks."] - -[[pattern-4]] -== Pattern 4: Organization External API Exposed to an Organization External Consumer -In pattern four, Flex Gateway acts as an intermediary between two organizations' external entities, for example, when an organization’s WorkDay instance (SaaS service) accesses the organization’s ServiceNow instance (SaaS service). In this pattern, Flex Gateway runs as an ingress and egress that applies secured communication and policy enforcement. - -image:ad-uc-1-p-4.png["Flex Gateway acts as an intermediary between an external application and external API."] - -The following diagram shows the physical implementation of a scenario in which an external organization's API is exposed to an external organization's consumer on Kubernetes. The diagram assumes that the firewall terminates the incoming organization's external mTLS connection. - -image:ad-uc-1-p-4-physical.png["A detailed view of pattern four, which contains the necessary services to support Flex Gateway"] - -== See Also - -* xref:flex-architecture-uc2.adoc[] -* xref:flex-architecture-uc3.adoc[] -* xref:flex-architecture-uc4.adoc[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-architecture-uc2.adoc b/gateway/1.6/modules/ROOT/pages/flex-architecture-uc2.adoc deleted file mode 100644 index b00c6c87d..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-architecture-uc2.adoc +++ /dev/null @@ -1,33 +0,0 @@ -= Use Case 2: Organization-Owned API Exposed to a Non-Organization-Owned API Consumer -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Use case two covers all patterns of a scenario in which an organization-owned API is exposed to a non-organization-owned API consumer; for example, when a user makes a request to your public-facing API. - -[[pattern-5]] -== Pattern 5: Organization Internal API exposed to a Non-Organization External Consumer -In pattern five, the infrastructure of the organization-owned API is isolated from the API consumer. The consumer can access the exposed API only via the internet. In this use case, you deploy Flex Gateway as an ingress. - -image:ad-uc-1-p-2.png["Consumer application requests pass through the internet and a firewall before reaching Flex Gateway."] - -The following diagram shows the physical implementation of a scenario in which an organization-owned internal API is exposed to a non-organization-owned external consumer on Kubernetes. The diagram assumes that the firewall terminates the incoming external mTLS connection. - -image:ad-uc-2-p-5-physical.png["A detailed view of pattern five, which contains the necessary services to support Flex Gateway"] - -[[pattern-6]] -== Pattern 6: Organization External API exposed to a Non-Organization External Consumer -In pattern six, Flex Gateway acts as an intermediary between two external network entities. Flex Gateway runs as an ingress and egress that applies secure communication and policy enforcement. - -image:ad-uc-1-p-4.png["Flex Gateway acts as an intermediary between an external application and external API."] - -The following diagram shows the physical implementation of a scenario in which an organization external API is exposed to an non-organization external consumer on Kubernetes. The diagram assumes that the firewall terminates the external mTLS connections. - -image:ad-uc-2-p-6-physical.png["A detailed view of pattern six, which contains the necessary services to support Flex Gateway"] - -== See Also - -* xref:flex-architecture-uc1.adoc[] -* xref:flex-architecture-uc3.adoc[] -* xref:flex-architecture-uc4.adoc[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-architecture-uc3.adoc b/gateway/1.6/modules/ROOT/pages/flex-architecture-uc3.adoc deleted file mode 100644 index a1fdfe0c8..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-architecture-uc3.adoc +++ /dev/null @@ -1,38 +0,0 @@ -= Use Case 3: Non-Organization-Owned API Exposed to an Organization-Owned API Consumer -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Use case three covers all patterns of a scenario in which a non-organization-owned API is exposed to an organization-owned API consumer. - -Use case examples: - -* A payments service must obtain exchange rates from an external service provider. -* An internal API Consumer accesses the organization’s external ServiceNow instance (SaaS service). - -[[pattern-7]] -== Pattern 7: Non-Organization External API exposed to an Organization Internal Consumer -In pattern seven, you deploy Flex Gateway as an egress. You can use Flex Gateway to monitor, control, and enrich the flows to external services. Additionally, you can rate limit external access and track metrics and analytics. - -image:ad-uc-1-p-3.png["Flex Gateway acts as an egress to monitor incoming traffic from the external API."] - -The following diagram shows the physical implementation of a scenario in which a non-organization external API is exposed to an organization internal consumer on Kubernetes. The diagram assumes that the firewall terminates the incoming non-organization external mTLS connection. - -image:ad-uc-3-p-7-physical.png[A detailed view of pattern, which contains the necessary services to support Flex gateway] - -[[pattern-8]] -== Pattern 8: Non-Organization External API exposed to an Organization External Consumer -In pattern eight, Flex Gateway acts as an intermediary between two organization external entities. Flex Gateway runs as an ingress and egress that applies secure communication and policy enforcement. - -image:ad-uc-1-p-4.png["Flex Gateway acts as an intermediary between an external application and external API."] - -The following diagram shows the physical implementation of a scenario in which an external non-organization API is exposed to an organization external consumer on Kubernetes. The diagram assumes that the firewall terminates the incoming external mTLS connection. - -image:ad-uc-3-p-8-physical.png["A detailed view of pattern eight, which contains the necessary services to support Flex Gateway"] - -== See Also - -* xref:flex-architecture-uc1.adoc[] -* xref:flex-architecture-uc2.adoc[] -* xref:flex-architecture-uc4.adoc[] diff --git a/gateway/1.6/modules/ROOT/pages/flex-architecture-uc4.adoc b/gateway/1.6/modules/ROOT/pages/flex-architecture-uc4.adoc deleted file mode 100644 index 98a41a1f9..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-architecture-uc4.adoc +++ /dev/null @@ -1,24 +0,0 @@ -= Use Case 4: Non-Organization-Owned API Exposed to a Non-Organization-Owned API Consumer -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Use case four has one pattern that supports the scenario in which a non-organization API is exposed to a non-organization API consumer. - -[[pattern-9]] -== Pattern 9: Non-Organization External API exposed to a Non-Organization External Consumer - -In pattern nine, Flex Gateway acts as an intermediary between two external entities; for example, when an external customer consumes a travel information service offered by an external airline. - -image:ad-uc-1-p-4.png[Flex Gateway acts as an intermediary between an external application and external API] - -The following diagram shows the physical implementation of a scenario in which a non-organization external API is exposed to a non-organization external consumer on Kubernetes. The diagram assumes that the firewall terminates the incoming external mTLS connection. - -image:ad-uc-4-p-9-physical.png["A detailed view of pattern nine, which contains the necessary services to support Flex Gateway"] - -== See Also - -* xref:flex-architecture-uc1.adoc[] -* xref:flex-architecture-uc2.adoc[] -* xref:flex-architecture-uc3.adoc[] diff --git a/gateway/1.6/modules/ROOT/pages/flex-conn-configure.adoc b/gateway/1.6/modules/ROOT/pages/flex-conn-configure.adoc deleted file mode 100644 index 82fb1b6bc..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-conn-configure.adoc +++ /dev/null @@ -1,17 +0,0 @@ -= Configuring Flex Gateway in Connected Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -// :page-aliases: gateway::flex-conn-manage.adoc -:page-mode: conn - -include::partial$configuration-task-list.adoc[tags=configuration-task-list-replicas] -include::partial$configuration-task-list.adoc[tags=configuration-task-list-tls] -include::partial$configuration-task-list.adoc[tags=configuration-task-list-shared-storage] -include::partial$configuration-task-list.adoc[tags=configuration-task-list-forward-proxy] -include::partial$configuration-task-list.adoc[tags=configuration-task-list-apim-api] -include::partial$configuration-task-list.adoc[tags=configuration-task-list-liveness-check] -include::partial$configuration-task-list.adoc[tags=configuration-task-list-proxy-protocol] -include::partial$configuration-task-list.adoc[tags=configuration-task-list-jenkins-cli] -include::partial$configuration-task-list.adoc[tags=configuration-task-list-jenkins] diff --git a/gateway/1.6/modules/ROOT/pages/flex-conn-disable-logs.adoc b/gateway/1.6/modules/ROOT/pages/flex-conn-disable-logs.adoc deleted file mode 100644 index def5ee7f0..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-conn-disable-logs.adoc +++ /dev/null @@ -1,47 +0,0 @@ -= Disabling Flex Gateway Log Output to Anypoint Platform -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:page-mode: conn - -include::partial$task-config-disable-logs.adoc[tags=config-disable-logs-intro] -include::partial$task-config-disable-logs.adoc[tags=icon-table] -include::partial$task-config-disable-logs.adoc[tags=byb] - -// Linux -include::partial$task-config-disable-logs.adoc[tags=linux-section-1] -include::partial$task-config-disable-logs.adoc[tags=config-disable-logs-example] -include::partial$task-config-disable-logs.adoc[tags=linux-section-2] - -// Containers -include::partial$task-config-disable-logs.adoc[tags=containers-section-1] -+ -include::partial$task-config-disable-logs.adoc[tags=config-disable-logs-example] -include::partial$task-config-disable-logs.adoc[tags=containers-section-2] -+ -[tabs] -==== -Docker:: -+ -include::partial$task-reg-run-flex-gateway.adoc[tags=start-command-local] - -Podman:: -+ -include::partial$task-reg-run-flex-gateway.adoc[tags=podman-start-command-local] -==== - -// K8s -include::partial$task-config-disable-logs.adoc[tags=k8s-section-1] -include::partial$task-config-disable-logs.adoc[tags=config-disable-logs-example] -+ -include::partial$task-config-disable-logs.adoc[tags=k8s-section-2] - -// OpenShift -include::partial$task-config-disable-logs.adoc[tags=openshift-section-1] -include::partial$task-config-disable-logs.adoc[tags=config-disable-logs-example] -+ -include::partial$task-config-disable-logs.adoc[tags=openshift-section-2] - -// See Also -include::partial$task-config-disable-logs.adoc[tags=see-also] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-conn-forward-proxy.adoc b/gateway/1.6/modules/ROOT/pages/flex-conn-forward-proxy.adoc deleted file mode 100644 index 818d7886b..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-conn-forward-proxy.adoc +++ /dev/null @@ -1,27 +0,0 @@ -= Configuring a Forward Proxy for Flex Gateway in Connected Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:page-mode: conn - -include::partial$forward-proxy-config.adoc[tags=intro;icon-table] - -include::partial$forward-proxy-config.adoc[tags=connections;noproxy] - -include::partial$forward-proxy-config.adoc[tags=forward-proxy-parameters] - -include::partial$forward-proxy-config.adoc[tags=linux] - -include::partial$forward-proxy-config.adoc[tags=docker] -+ -include::partial$task-reg-run-flex-gateway.adoc[tags=start-command-local] -+ -include::partial$forward-proxy-config.adoc[tags=docker2] - -include::partial$forward-proxy-config.adoc[tags=k8s] - -include::partial$forward-proxy-config.adoc[tags=proxy-registration] - -== See also -* xref:flex-conn-reg-run.adoc[Register and Run Flex Gateway in Connected Mode] diff --git a/gateway/1.6/modules/ROOT/pages/flex-conn-jenkins-api.adoc b/gateway/1.6/modules/ROOT/pages/flex-conn-jenkins-api.adoc deleted file mode 100644 index 00e4b231d..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-conn-jenkins-api.adoc +++ /dev/null @@ -1,415 +0,0 @@ -= Automating Flex Gateway with a Jenkins Pipeline using the API Manager API -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:page-mode: conn -// :page-aliases: gateway::flex-conn-manage-jenkins.adoc - -You can use a Jenkins Pipeline to automate the workflow for Flex Gateway in Connected Mode. With a Jenkins Pipeline, you can register and run a Flex Gateway and use features of the API Manager API, such as creating and deploying API instances. - -Automating your Flex Gateway in Connected Mode work flow shares many similarities with the xref:flex-conn-manage-public-api.adoc[Manage Flex Gateway Using the API Manager API] tutorial. You can use the Jenkins Pipeline to automate the calls made to the API Manager API. To add additional features from the https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/api-manager-api/[API Manager API^], use the <> and <> Pipeline stages as examples. - -This tutorial has different steps with different code blocks. As you work through the steps, add the code blocks to the same Jenkinsfile. If you are unfamiliar with the syntax used in a Jenkins Pipeline, see the https://www.jenkins.io/doc/book/pipeline/[Jenkins Pipeline documentation^]. - -NOTE: To instead automate your Flex Gateway with the Anypoint CLI, see xref:flex-conn-jenkins-cli.adoc[]. - -== Before You Begin -Before you can deploy a Jenkins Pipeline, complete the following tasks: - -. xref:flex-install.adoc[Download Flex Gateway]. - -. xref:access-management::connected-apps-developers.adoc#create-a-connected-app[Configure a Connected App]: - -.. Use the *App acts on its behalf (client credentials)* type and include the following scopes: - -*** API Manager: *Manage APIs Configuration*, *Manage Policies*, *View Policies*, and *Deploy API Proxies* -*** Runtime Manager: *Read Servers* and *Manage Servers* -*** Exchange: *Exchange Viewer* -*** General: *View Organization* - -.. Save the *Id* and *Secret* of the Connected app you configure. - - -. Collect the group ID, asset ID, and asset version (GAV) of the Exchange asset (API) you want to create or apply. -+ -To collect your GAV from Exchange: -+ -.. Go to Exchange. -.. Find the asset to add or apply. -.. Collect the group ID and asset ID from the URL. -+ -For example, the IDs collected from the API Manager API Exchange URL, `+https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/api-manager-api/minor/1.0/pages/home/+`, are: -+ -*** Group ID: `f1e97bc6-315a-4490-82a7-23abe036327` -*** Asset ID: `api-manager-api` - -.. Collect the asset version from *Latest Stable*. -+ -For example, the version collected from the API Gateway HTTP basic authentication policy template is `1.3.1`. - -. Collect the following information from your Anypoint Platform instance: - -** *Organization ID* for the organization where you want to run Flex Gateway -+ -For more information, see xref:access-management::organization.adoc#find-your-organization-id[Find Your Organization ID]. - -** *Environment ID* for the environment where you want to run Flex Gateway -+ -For more information, see xref:api-manager::latest-overview-concept.adoc#what-api-manager-looks-like[What API Manager Looks Like]. - - -== Initial Configuration - -Before you can create and deploy an API instance to your Flex Gateway, you must complete the following steps: - -. <>. -. <>. -. <>. -. <>. - -After you implement these Pipeline stages, you can customize your Pipeline by making API Manager API requests to manage APIs. - -=== Define Useful Functions - -To begin, define these useful functions in your Jenkinsfile. Define the functions before the `pipeline` block: - - -[source,Jenkinsfile] ----- -def parseYamlFile(String file) { - object = readYaml file: file - return object -} - -def parseJsonFile(file) { - object = readJSON file: file - return object -} - ----- - -=== Define Useful Parameters - -Since the commands in the Jenkins Pipeline reuses some parameters, it is helpful to define them at the beginning of your Jenkinsfile. - -Using the included parameter definitions as a template, you can also define any parameters that additional APIs or policies need. - -To define the parameters: - -. Collect the following information: -* ``: *Organization ID* for the organization where you want to run Flex Gateway -* ``: *Environment ID* for the organization where you want to run Flex Gateway -* ``: Version of Flex Gateway you are using, for example `1.4.0` -* ``: *Id* of your connected app -* ``:*Secret* of your connected app -* API GAV: -** ``: Group ID, obtained from Exchange -** ``: Asset ID, obtained from Exchange, of the API you want to create -** ``: Asset version, obtained from Exchange, of the API you want to create -* ``: Name of your Flex Gateway - -. After replacing the sample content, add the parameter definitions to your Jenkinsfile to validate whether all parameters are present. Define the parameters in the `pipeline` block before the `stages` block: -+ -[source,Jenkinsfile] ----- -parameters { - string(name: 'ENV_ID', defaultValue: '', description: 'Your environment id') - string(name: 'ORG_ID', defaultValue: '', description: 'Your organization id') - string(name: 'FLEX_VERSION', defaultValue: '', description: 'Flex version to run') - string(name: 'CONNECTED_APP_CLIENT_ID', defaultValue: '', description: 'Your connected app client id') - string(name: 'CONNECTED_APP_CLIENT_SECRET', defaultValue: '', description: 'The id of the http api exchange asset') - string(name: 'EXCHANGE_ASSET_VERSION', defaultValue: '', description: 'The version of the http api exchange asset') - string(name: 'GATEWAY_NAME', defaultValue: '', description: 'Unique gateway name') -} ----- - -. Add the check parameters `stage` to the `stages` block in your Jenkinsfile: -+ -[source,Jenkinsfile] ----- -stage('Check parameters') { - steps { - script { - if (!params.ENV_ID || !params.ORG_ID || !params.FLEX_VERSION || !params.CONNECTED_APP_CLIENT_ID || !params.CONNECTED_APP_CLIENT_SECRET || !params.EXCHANGE_ASSET_ID || !params.EXCHANGE_ASSET_VERSION || !params.GATEWAY_NAME) { - error("Not all parameters where specified") - } - } - } -} ----- -+ -If this stage fails, specify the missing parameters and rerun the Pipeline. - -=== Register and Run - -Add the register and run stages to the `stages` block in your Jenkinsfile: - -[source,Jenkinsfile] ----- -stage('Register flex gateway') { - steps { - script { - sh """ - docker run --entrypoint flexctl \ - -v "\$(pwd)":/registration -u 0 mulesoft/flex-gateway:${params.FLEX_VERSION} \ - register \ - --client-id=${params.CONNECTED_APP_CLIENT_ID} \ - --client-secret=${params.CONNECTED_APP_CLIENT_SECRET} \ - --environment=${params.ENV_ID} \ - --connected=true \ - --organization=${params.ORG_ID} \ - --output-directory=/registration \ - ${params.GATEWAY_NAME} - """ - if (!fileExists('registration.yaml')) { - error("Registration failed") - } - } - } -} - -stage('Run flex gateway') { - steps { - script { - sh """ - docker run -d \ - -v "\$(pwd)":/usr/local/share/mulesoft/flex-gateway/conf.d \ - -p 8082:8082 \ - mulesoft/flex-gateway:${params.FLEX_VERSION} > containerId - """ - } - } -} ----- - - -=== Obtain an Authorization Token from Access Management -After registering and running your Flex Gateway, you must obtain a valid authorization token from Access Management in order to authenticate subsequent requests. - -To login in to Anypoint, add the Anypoint login `stage` the `stages` block in your Jenkinsfile: - -[source,Jenkinsfile] ----- -stage("Anypoint login") { - steps { - script { - def cmd = """curl -s -w "%{http_code}" --location --request POST 'https://anypoint.mulesoft.com/accounts/api/v2/oauth2/token' -o 'login-response' \ - --header 'Content-Type: application/json' \ - --data-raw '{"grant_type": "client_credentials", "client_id": "${params.CONNECTED_APP_CLIENT_ID}", "client_secret": "${params.CONNECTED_APP_CLIENT_SECRET}"}' - """ - def status_code = sh(returnStdout: true, script: cmd).trim().toInteger() - if (status_code > 399) { - error("Anypoint login failed") - } - } - } -} ----- - -The authorization token returned in this step is saved for subsequent requests. - -== Create an API Instance -Having an authorization token from Access Management enables you to create an API instance and deploy it to your Flex Gateway. - -You can repeat this step to add multiple API instances. - -For example, this stage creates an API instance that listens on port `8082` and `/httpbin` path and proxies to `+https://httpbin.org/+`. - -To create an API instance: - -. Collect the following information: -* ``: URI upstream of your API -* ``: Proxy URI for you API instance -* `"isCloudHub"`: Cloud Hub status, for example `null` or `true` - -. Optionally, collect your `"endpointUri"` or remove the `"endpointUri"` field: -* ``: Consumer endpoint of your API, for example, `+http://consumer-endpoint.com+` - -. After replacing the HTTP addresses, add the create API instance `stage` to the `stages` block in your Jenkinsfile: - -[source,Jenkinsfile] ----- -stage("Create API instance") { - steps { - script { - def login_response = parseJsonFile('login-response') - def cmd = """ - curl -s -w "%{http_code}" --location --request POST 'https://anypoint.mulesoft.com/apimanager/api/v1/organizations/${params.ORG_ID}/environments/${params.ENV_ID}/apis' -o 'api-response' \ - --header 'Authorization: Bearer ${login_response.access_token}' \ - --header 'Content-Type: application/json' \ - --data-raw '{ - "spec": { - "groupId": "${params.ORG_ID}", - "assetId": "${params.EXCHANGE_ASSET_ID}", - "version": "${params.EXCHANGE_ASSET_VERSION}" - }, - "endpoint": { - "deploymentType": "HY", - "uri": "https://httpbin.org:443", - "proxyUri": "http://0.0.0.0:8082/httpbin", - "isCloudHub": null - }, - "technology": "flexGateway" - "endpointUri": "" // OPTIONAL - }' - """ - def status_code = sh(returnStdout: true, script: cmd).trim().toInteger() - if (status_code > 399) { - error("Error occurred while trying to create API instance") - } - } - } -} ----- - - - -== Apply an API Policy - -After you create an API instance, you can apply Connected Mode policies to the instance: - - -. Collect the following information: -* Policy GAV -** ``: Policy group ID from Exchange -** ``: Policy asset ID from Exchange, for example `http-basic-authentication` -** ``: Policy asset version from Exchange, for example `1.3.1` - -* `"configurationData"`: Policy configuration data -+ -The configuration data fields are dependent on the policy. The `"username"` and `"password"` parameters are only an example. To find the configuration data for your policy, see xref:policies-included-directory.adoc[Included Policies Directory]. - -. After replacing the sample content, add the apply policy `stage` to the `stages` block in your Jenkinsfile: - -[source,Jenkinsfile] ----- -stage("Apply policy") { - steps { - script { - def login_response = parseJsonFile('login-response') - def api_response = parseJsonFile('api-response') - - - def cmd = """ - curl -s -w "%{http_code}" -o /dev/null --location --request POST 'https://anypoint.mulesoft.com/apimanager/api/v1/organizations/${params.ORG_ID}/environments/${params.ENV_ID}/apis/${api_response.id}/policies' \ - --header 'Authorization: Bearer ${login_response.access_token}' \ - --header 'Content-Type: application/json' \ - --data-raw '{ - "configurationData":{ - "username": "user", - "password": "test" - }, - "pointcutData": null, - "assetId": "", - "assetVersion": "", - "groupId": "" - }' - """ - - - def status_code = sh(returnStdout: true, script: cmd).trim().toInteger() - if (status_code > 399) { - error("Error occurred while trying to apply Basic Auth Policy to the API instance") - } - } - } -} ----- - - -== Deploy an API Instance -After you create an API instance, you can deploy the instance. - -To deploy the new instance, add the deploy API `stage` to the `stages` block in your Jenkinsfile: - -[source,Jenkinsfile] ----- -stage("Deploy API") { - steps { - script { - def login_response = parseJsonFile('login-response') - def api_response = parseJsonFile('api-response') - def registration_file = parseYamlFile('registration.yaml') - - - def cmd = """ - curl -s -w "%{http_code}" -o /dev/null --location --request POST 'https://anypoint.mulesoft.com/proxies/xapi/v1/organizations/${params.ORG_ID}/environments/${params.ENV_ID}/apis/${api_response.id}/deployments' \ - --header 'Content-Type: application/json' \ - --header 'Authorization: Bearer ${login_response.access_token}' \ - --data-raw '{ - "type": "HY", - "gatewayVersion": "${params.FLEX_VERSION}", - "targetId": "${registration_file.spec.platformConnection.agentId[0]}", - "environmentId": "${params.ENV_ID}" - }' - """ - - - def status_code = sh(returnStdout: true, script: cmd).trim().toInteger() - if (status_code > 399) { - error("Error occurred while trying to deploy the API instance") - } - } - } -} ----- - -== Validate the API Instance is Deployed -After you deploy your API instance, validate whether the instance is deployed by adding the validate deployment `stage` to the `stages` block in your Jenkinsfile - - -[source,Jenkinsfile] ----- -stage("Validate deployment") { - steps { - script { - sleep(time:10, unit:"SECONDS") - - - def unauthorized_status_code = sh(script: "curl -s -w \"%{http_code}\" -o /dev/null http://localhost:8082/httpbin/headers -v", returnStdout: true).trim().toInteger() - if (unauthorized_status_code != 401) { - error("401 status code expected but the status code obtained is ${unauthorized_status_code}") - } - - - def authorized_status_code = sh(script: "curl -s -w \"%{http_code}\" -o /dev/null http://localhost:8082/httpbin/headers -v -u user:test", returnStdout: true).trim().toInteger() - if (authorized_status_code != 200) { - error("200 status code expected but the status code obtained is ${unauthorized_status_code}") - } - } - } -} ----- - - -== Stop the Flex Gateway and archive the registration file - -Use the following code blocks to stop your Flex Gateway and archive the registration file. Add the `post` block in the `pipeline` block after the `stages` block: - -[source,Jenkinsfile] ----- -post { - success { - script { - // Archive the build output artifacts. - archiveArtifacts artifacts: 'registration.yaml' - } - } - always { - script { - if (fileExists('containerId')) { - sh(script: "docker rm -f ${readFile(file: 'containerId')}") - } - } - } -} - ----- - -== See Also - -* xref:flex-conn-reg-run-app.adoc[Registering and Running in Connected Mode with a Connected App]. -* https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/api-manager-api/[Anypoint Developer API Manager API] -* xref:flex-conn-manage-public-api.adoc[Manage Flex Gateway Using the API Manager API] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-conn-jenkins-cli.adoc b/gateway/1.6/modules/ROOT/pages/flex-conn-jenkins-cli.adoc deleted file mode 100644 index 6d9725cd5..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-conn-jenkins-cli.adoc +++ /dev/null @@ -1,346 +0,0 @@ -= Automating Flex Gateway with a Jenkins Pipeline using Anypoint CLI -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:page-mode: conn - -You can use a Jenkins Pipeline to automate the workflow for Flex Gateway in Connected Mode. With a Jenkins Pipeline, you can register and run a Flex Gateway and use features of the Anypoint CLI, such as creating and deploying API instances. - -To add additional features from the API Manager CLI, see xref:4.x@anypoint-cli::api-mgr.adoc[]. - -This tutorial has different steps with different code blocks. As you work through the steps, add the code blocks to the same Jenkinsfile. If you are unfamiliar with the syntax used in a Jenkins Pipeline, see the https://www.jenkins.io/doc/book/pipeline/[Jenkins Pipeline documentation^]. - -NOTE: Automating your Flex Gateway with Anypoint CLI shares many similarities with Automating your Flex Gateway with the API Manager API. To automate your Flex Gateway using API Manger API requests, see xref:flex-conn-jenkins-api.adoc[]. - -== Before You Begin -Before you can deploy a Jenkins Pipeline, complete the following tasks: - -. xref:flex-install.adoc[Download Flex Gateway]. - -. xref:access-management::connected-apps-developers.adoc#create-a-connected-app[Configure a Connected App]: - -.. Use the *App acts on its behalf (client credentials)* type and include the following scopes: - -*** API Manager: *Manage APIs Configuration*, *Manage Policies*, *View Policies*, and *Deploy API Proxies* -*** Runtime Manager: *Read Servers* and *Manage Servers* -*** Exchange: *Exchange Viewer* -*** General: *View Organization* - -.. Save the *Id* and *Secret* of the Connected app you configure. - -. Collect the group ID, asset ID, and asset version (GAV) of the Exchange asset (API) you want to create or apply. -+ -To collect your GAV from Exchange: -+ -.. Go to Exchange. -.. Find the asset to add or apply. -.. Collect the group ID and asset ID from the URL. -+ -For example, the IDs collected from the API Manager API Exchange URL, `+https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/api-manager-api/minor/1.0/pages/home/+`, are: -+ -*** Group ID: `f1e97bc6-315a-4490-82a7-23abe036327` -*** Asset ID: `api-manager-api` - -.. Collect the asset version from *Latest Stable*. -+ -For example, the version collected from the API Gateway HTTP basic authentication policy template is `1.3.2`. - -. Collect the following information from your Anypoint Platform instance: - -** *Organization ID* for the organization where you want to run Flex Gateway -+ -For more information, see xref:access-management::organization.adoc#find-your-organization-id[Find Your Organization ID]. - -** *Environment ID* for the environment where you want to run Flex Gateway -+ -For more information, see xref:api-manager::latest-overview-concept.adoc#what-api-manager-looks-like[What API Manager Looks Like]. - - -== Initial Configuration - -Before you can create and deploy an API instance to your Flex Gateway, you must complete the following steps: - -. <>. -. <>. -. <> -. <>. - -After you implement these Pipeline stages, you can customize your Pipeline by making API Manager CLI requests to manage APIs. - -=== Define Useful Functions - -To begin, define these useful functions before the `pipeline` block in your Jenkinsfile: - -[source,Jenkinsfile] ----- -def parseYamlFile(String file) { - object = readYaml file: file - return object -} - -def getAPIInstanceID(String file) { - return readFile(file: file).split(' ').last().replace('\n', '').trim() -} ----- - -=== Define Useful Parameters - -Since the commands in the Jenkins Pipeline reuse some parameters, it is helpful to define them at the beginning of your Jenkinsfile. - -Using the included parameter definitions as a template, you can also define any parameters that additional APIs or policies need. - -To define the parameters: - -. Collect the following information: -* ``: *Organization ID* for the organization where you want to run Flex Gateway -* ``: *Environment ID* for the organization where you want to run Flex Gateway -* ``: Version of Flex Gateway you are using, for example `1.4.0` -* ``: *Id* of your connected app -* ``: *Secret* of your connected app -* API GAV: -** ``: Group ID, obtained from Exchange -** ``: Asset ID, obtained from Exchange, of the API you want to create -** ``: Asset version, obtained from Exchange, of the API you want to create -* ``: Name of your Flex Gateway - -. After replacing the sample content, add the parameter definitions to your Jenkinsfile to validate whether all parameters are present. Define the parameters in the `pipeline` block before the `stages` block: -+ -[source,Jenkinsfile] ----- -parameters { - string(name: 'ENV_ID', defaultValue: '', description: 'Your environment id') - string(name: 'ORG_ID', defaultValue: '', description: 'Your organization id') - string(name: 'FLEX_VERSION', defaultValue: '', description: 'Flex version to run') - string(name: 'CONNECTED_APP_CLIENT_ID', defaultValue: '', description: 'Your connected app client id') - string(name: 'CONNECTED_APP_CLIENT_SECRET', defaultValue: '', description: 'The id of the http api exchange asset') - string(name: 'EXCHANGE_ASSET_VERSION', defaultValue: '', description: 'The version of the http api exchange asset') - string(name: 'GATEWAY_NAME', defaultValue: '', description: 'Unique gateway name') -} ----- - -. Add the check parameters `stage` to the `stages` block in your Jenkinsfile: -+ -[source,Jenkinsfile] ----- -stage('Check parameters') { - steps { - script { - if (!params.ENV_ID || !params.ORG_ID || !params.GATEWAY_NAME || !params.FLEX_VERSION || !params.CONNECTED_APP_CLIENT_ID || !params.CONNECTED_APP_CLIENT_SECRET || !params.EXCHANGE_ASSET_ID || !params.EXCHANGE_ASSET_VERSION) { - error("Not all parameters where specified") - } - } - } -} ----- -+ -If this stage fails, specify the missing parameters and rerun the Pipeline. - - -== Install Anypoint CLI 4.x - -To install Anypoint CLI 4.x to your Docker container, add the install Anypoint CLI 4.x `stage` to the `stages` block in your Jenkinsfile: - -[source,Jenkinsfile] ----- -stage('Install anypoint-cli-v4') { - steps { - script { - sh """ - docker run --name container-anypoint-cli-v4 -d node:16 \ - sh -c " npm install -g anypoint-cli-v4 ; anypoint-cli-v4 plugins:install anypoint-cli-api-mgr-plugin; \ - while :; do sleep 1; done" - """ - sh """ - docker exec container-anypoint-cli-v4 \ - sh -c "while ! anypoint-cli-v4 plugins 2> /dev/null | grep -q "anypoint-cli-api-mgr-plugin"; do :; done" - """ - } - } -} ----- - -=== Register and Run - -Add the register and run stages to the `stages` block in your Jenkinsfile: - -[source,Jenkinsfile] ----- -stage('Register flex gateway') { - steps { - script { - sh """ - docker run --entrypoint flexctl \ - -v ${pwd()}:/registration -u 0 mulesoft/flex-gateway:${params.FLEX_VERSION} \ - register \ - --client-id=${params.CONNECTED_APP_CLIENT_ID} \ - --client-secret=${params.CONNECTED_APP_CLIENT_SECRET} \ - --environment=${params.ENV_ID} \ - --connected=true \ - --organization=${params.ORG_ID} \ - --output-directory=/registration \ - ${params.GATEWAY_NAME} - """ - - sh """ - grep "name: registration" registration.yaml - """ - } - } -} - - -stage('Run flex gateway') { - steps { - script { - sh """ - docker run --name flex-gw -d \ - -v ${pwd()}:/usr/local/share/mulesoft/flex-gateway/conf.d \ - -p 8082:8082 \ - mulesoft/flex-gateway:${params.FLEX_VERSION} - """ - } - } -} ----- - -== Create an API Instance -After installing Anypoint CLI 4.x, you can create an API instance and deploy it to your Flex Gateway. - -You can repeat this step to add multiple API instances. For additional API configuration flags, see the xref:4.x@anypoint-cli::api-mgr.adoc#api-mgr-api-manage[api-mgr:api:manage command]. - -Add the create API instance `stage` to the `stages` block in your Jenkinsfile: - -[source,Jenkinsfile] ----- -stage("Create API Instance") { - steps { - script { - sh """ - docker exec container-anypoint-cli-v4 anypoint-cli-v4 api-mgr:api:manage ${params.EXCHANGE_ASSET_ID} ${params.EXCHANGE_ASSET_VERSION} \ - --client_id=${params.CONNECTED_APP_CLIENT_ID} --client_secret=${params.CONNECTED_APP_CLIENT_SECRET} \ - --isFlex --withProxy --deploymentType=hybrid --scheme=http --port=8082 \ - --uri=https://httpbin.org:443 --path=/httpbin > api-response - """ - } - } -} ----- - -NOTE: For example, this stage creates an API instance that listens on port `8082` and `/httpbin` path and proxies to `+https://httpbin.org/443+`. - -== Apply a Basic Authentication Policy - -After you create an API instance, you can apply policies to the API instance. - -This stage applies the xref:policies-included-basic-auth-simple.adoc[] as an example, but you can apply any Connected Mode policy. To find additional policies, see xref:policies-included-directory.adoc[Included Policies Directory]. - -To apply a policy: - -. Collect the following information: -* Policy GAV -** ``: Policy group ID from Exchange, for example `68ef9520-24e9-4cf2-b2f5-620025690913`` -** ``: Policy asset ID from Exchange, for example `http-basic-authentication` -** ``: Policy asset version from Exchange, for example `1.3.2` -* `"configurationData"`: Policy configuration data -+ -The configuration data fields are dependent on the policy. The Basic Authentication: Simple policy uses parameters `"username"` and `"password"`. - -. After replacing the sample content, add the apply basic authentication policy `stage` to the `stages` block in your Jenkinsfile: - -[source,Jenkinsfile] ----- -stage("Apply Basic Authentication Policy to API Instance") { - steps { - script { - def apiInstanceId = getAPIInstanceID('api-response') - sh """ - docker exec container-anypoint-cli-v4 anypoint-cli-v4 api-mgr:policy:apply ${apiInstanceId} 'http-basic-authentication' \ - --policyVersion='1.3.1' --groupId '68ef9520-24e9-4cf2-b2f5-620025690913' \ - --client_id=${params.CONNECTED_APP_CLIENT_ID} --client_secret=${params.CONNECTED_APP_CLIENT_SECRET} \ - -c '{"username": "user", "password": "test"}' - """ - } - } -} ----- - -NOTE: For example, this stage uses the policy GAV and `"configurationData"` associated with the xref:policies-included-basic-auth-simple.adoc[]. - -== Deploy an API Instance -After you create an API instance, you can deploy the instance. - -To deploy the new instance, add the deploy API `stage` to the `stages` block in your Jenkinsfile: - -[source,Jenkinsfile] ----- -stage("Deploy API") { - steps { - script { - sleep(time:15, unit:"SECONDS") - def registration_file = parseYamlFile('registration.yaml') - def apiInstanceId = getAPIInstanceID('api-response') - - sh """ - docker exec container-anypoint-cli-v4 anypoint-cli-v4 api-mgr:api:deploy ${apiInstanceId} \ - --client_id=${params.CONNECTED_APP_CLIENT_ID} --client_secret=${params.CONNECTED_APP_CLIENT_SECRET} \ - --target=${registration_file.spec.platformConnection.agentId[0]} --gatewayVersion=${params.FLEX_VERSION} - """ - } - } -} ----- - -== Validate the API Instance is Deployed -After you deploy your API instance, validate whether the instance is deployed by adding the validate deployment `stage` to the `stages` block in your Jenkinsfile: - - -[source,Jenkinsfile] ----- -stage("Validate Deployment") { - steps { - script { - sleep(time:10, unit:"SECONDS") - - def unauthorized_status_code = sh(script: "curl -s -w \"%{http_code}\" -o /dev/null http://localhost:8082/httpbin/headers -v", returnStdout: true).trim().toInteger() - if (unauthorized_status_code != 401) { - error("401 status code expected but the status code obtained is ${unauthorized_status_code}") - } - - def authorized_status_code = sh(script: "curl -s -w \"%{http_code}\" -o /dev/null http://localhost:8082/httpbin/headers -v -u user:test", returnStdout: true).trim().toInteger() - if (authorized_status_code != 200) { - error("200 status code expected but the status code obtained is ${unauthorized_status_code}") - } - } - } -} ----- - - -== Stop the Flex Gateway and Archive the Registration File - -Use the following code blocks to archive the registration file and remove the Docker container running Flex Gateway. Add the `post` block in the `pipeline` block after the `stages` block: - -[source,Jenkinsfile] ----- -post { - success { - script { - // Archive the build output artifacts. - archiveArtifacts artifacts: 'registration.yaml' - } - } - always { - script { - sh(script: "docker rm -f container-anypoint-cli-v4 flex-gw") - } - } -} ----- - -== See Also - -* xref:4.x@anypoint-cli::index.adoc[] -* xref:flex-conn-reg-run-app.adoc[Registering and Running in Connected Mode with a Connected App]. -* xref:flex-conn-manage-public-api.adoc[Manage Flex Gateway Using the API Manager API] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-conn-liveness-check.adoc b/gateway/1.6/modules/ROOT/pages/flex-conn-liveness-check.adoc deleted file mode 100644 index 490f37424..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-conn-liveness-check.adoc +++ /dev/null @@ -1,8 +0,0 @@ -= Configuring a Liveness Check in Connected Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:page-mode: conn - -include::partial$task-config-liveness-probe.adoc[tags=intro1;;k8s-liveness-probe;docker-linux-deployments;see-also] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-conn-manage-public-api.adoc b/gateway/1.6/modules/ROOT/pages/flex-conn-manage-public-api.adoc deleted file mode 100644 index fbbf9bc17..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-conn-manage-public-api.adoc +++ /dev/null @@ -1,202 +0,0 @@ -= Configuring Flex Gateway with the API Manager API Tool -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:page-mode: conn - -You can configure Flex Gateway in Connected Mode using the API Manager API tool from the https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/[Anypoint Platform Developer Portal^] instead of using the API Manager user interface through Anypoint Platform. This tool enables you to use the command line to communicate with API Manager. Use the steps in this tutorial to create, deploy, apply a policy to, and delete an API instance. - -For more information about the API Manager API, see the https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/api-manager-api/[API Manager API documentation^]. - -NOTE: To automate these commands using a Jenkins pipeline, see xref:flex-conn-jenkins-api.adoc[]. - -== Before You Begin -Before you can configure Flex Gateway using the API Manager API, complete the following tasks: - -. xref:flex-install.adoc[Download Flex Gateway]. -. xref:flex-{page-mode}-reg-run.adoc[Register and Run Flex Gateway in Connected Mode]. - -. xref:access-management::connected-apps-developers.adoc#create-a-connected-app[Configure a Connected App]: - -** Use the *App acts on its behalf (client credentials)* type and include the following scopes: - -*** API Manager: *Manage APIs Configuration*, *Manage Policies*, *View Policies*, and *Deploy API Proxies* -*** Runtime Manager: *Read Servers* -*** Exchange: *Exchange Viewer* -+ -You do not have to xref:flex-conn-reg-run-app.adoc[Register and Run Flex Gateway with a Connected App] to use the API Manager API, but you can use the same Connected App if you include the proper scopes. - -** Save the *Id* and *Secret* of the Connected app you configure. - - -. Collect the group ID, asset ID, and asset version (GAV) of the Exchange asset you want to create or apply. -+ -To collect your GAV from Exchange: -+ -.. Go to Exchange. -.. Find the asset to add or apply. -.. Collect the group ID and asset ID from the URL. -+ -For example, the IDs collected from the API Manager API Exchange URL, `+https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/api-manager-api/minor/1.0/pages/home/+`, are: -+ -*** Group ID: `f1e97bc6-315a-4490-82a7-23abe036327` -*** Asset ID: `api-manager-api` - -.. Collect the asset version from *Latest Stable*. -+ -For example, the version collected from the API Gateway HTTP basic authentication policy template is `1.3.1`. - -. Collect the following information from your Anypoint Platform instance: - -** *Organization ID* for the organization where you want to run Flex Gateway -+ -For more information, see xref:access-management::organization.adoc#find-your-organization-id[Find Your Organization ID]. - -** *Environment ID* for the environment where you want to run Flex Gateway -+ -For more information, see xref:api-manager::latest-overview-concept.adoc#what-api-manager-looks-like[What API Manager Looks Like]. -** Runtime *Target ID* for the Flex Gateway you want to deploy the API to -+ -To find the *Target ID*, go to *Anypoint Platform > Runtime Manager > Flex Gateway*. - - -== Obtain an Authorization token from Access Management - -You must obtain an authorization token to make calls using the API Manager API: - -. Collect the following information: - -* ``: *Id* of your connected app -* ``: *Secret* of your connected app - -. Execute the following request to obtain your Authorization Token after replacing the placeholders with the following: -+ -[source,ssh] ----- -curl --location --request POST 'https://anypoint.mulesoft.com/accounts/api/v2/oauth2/token' \ ---header 'Content-Type: application/json' \ ---data-raw '{ - "grant_type": "client_credentials", - "client_id": "", - "client_secret": "" -}' ----- - -. Save the returned authorization token. - -== Create an API Instance - -To create an API instance using the API Manager API: - -. Collect the following information: -* ``: *Organization ID* for the organization where you want to run Flex Gateway -* ``: *Environment ID* for the organization where you want to run Flex Gateway -* ``: Authorization token collected in the <> step -* API GAV: -** ``: Group ID, obtained from Exchange -** ``: Asset ID, obtained from Exchange, of the API you want to create -** ``: Asset version, obtained from Exchange, of the API you want to create -* ``: URI upstream of your API -* ``: Proxy URI, a combination of your port and base path for your API instance, for example, `\http://0.0.0.0:/` - -. Optionally, collect your `"endpointUri"` or remove the `"endpointUri"` field: -* ``: Consumer endpoint of your API, for example, `+http://consumer-endpoint.com+` - -. Make a POST request to Anypoint Platform after replacing the sample content: -+ -[source,ssh,subs=attributes+] ----- -curl --location --request POST https://anypoint.mulesoft.com/apimanager/api/v1/organizations//environments//apis \ ---header 'Authorization: bearer ' \ ---header 'Content-Type: application/json' \ ---data-raw '{ - "spec": { - "groupId": "", - "assetId": "", - "version": "" - }, - "endpoint": { - "deploymentType": "HY", - "uri": "", - "proxyUri": "", - "isCloudHub": null - }, - "technology": "flexGateway" - "endpointUri": "" // OPTIONAL -}' ----- - -. Save the Instance ID, `"id"`, from the response to deploy, apply a policy, or delete the instance. - -== Deploy an API Instance -To deploy an API instance using the API Manager API: - -. Collect the following information: -* ``: Instance ID, `"id"`, from <> -* ``: Version of Flex Gateway you are using, for example `1.4.0` -* ``: Target ID collected from runtime manager - -. Make a POST request to Anypoint Platform after replacing the sample content: -+ -[source,ssh,subs=attributes+] ----- -curl --location --request POST 'https://anypoint.mulesoft.com/proxies/xapi/v1/organizations//environments//apis//deployments' \ ---header 'Content-Type: application/json' \ ---header 'Authorization: bearer ' \ ---data-raw '{ - "type": "HY", - "gatewayVersion": "", - "targetId": "", - "environmentId": "" -}' ----- - -== Apply a Policy -Using the API Manager API, you can only apply Connected Mode policies to a Flex Gateway. - -To apply a policy to an API instance using the API Manager API: - -. Collect the following information: -* Policy GAV: -** ``: Policy group ID from Exchange -** ``: Policy asset ID from Exchange, for example `http-basic-authentication` -** ``: Policy asset version from Exchange, for example `1.3.1` - -* `"configurationData"`: Required configuration parameters for the policy -+ Each policy has unique configuration data fields. The `"username"` and `"password"` fields are an example. To find the configuration data for your policy, see xref:policies-included-directory.adoc[Included Policies Directory]. - -. Make a POST request to Anypoint Platform after replacing the sample content: -+ -[source,ssh,subs=attributes+] ----- -curl --location --request POST 'https://anypoint.mulesoft.com/apimanager/api/v1/organizations//environments//apis//policies' \ ---header 'Authorization: bearer ' \ ---header 'Content-Type: application/json' \ ---data-raw '{ - "configurationData":{ - "username": "user", - "password": "test" - }, - "pointcutData":null, - "assetId": "", - "assetVersion": "", - "groupId": "" -}' ----- - - -== Delete an API Instance -To delete an API instance using the API Manager API, make a DELETE request to Anypoint Platform after replacing the sample content: -[source,ssh,subs=attributes+] ----- -curl --location --request DELETE 'https://anypoint.mulesoft.com/apimanager/api/v1/organizations//environments//apis/' \ ---header 'Content-Type: application/json' \ ---header 'Authorization: bearer ' ----- - -//Ciphers -== See Also - -* xref:flex-conn-jenkins-api.adoc[]. -* https://anypoint.mulesoft.com/exchange/portals/anypoint-platform/f1e97bc6-315a-4490-82a7-23abe036327a.anypoint-platform/api-manager-api/[Anypoint Developer API Manager API] diff --git a/gateway/1.6/modules/ROOT/pages/flex-conn-message-log.adoc b/gateway/1.6/modules/ROOT/pages/flex-conn-message-log.adoc deleted file mode 100644 index 6c61704ae..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-conn-message-log.adoc +++ /dev/null @@ -1,65 +0,0 @@ -= Configuring Message Logging for Flex Gateway in Connected Mode - -Applying a Message Logging policy to your API instance in API Manager allows you to view basic logs, such as inbound and outbound calls and headers, for APIs managed by Flex Gateway within API Manager. Logging for an API instance only happens if you configure and apply a Message Logging policy. - -To view metrics in API Manager, such as total requests, total policy violations, total errors, and average response time, see xref:flex-view-api-metrics.adoc[]. - -== Message Logging Limits and Features - -include::reuse::partial$billing/pricing.adoc[tag=apimLogging] - -For each API instance configured through a policy, basic logs report the following: - -* Inbound and outbound API calls, as well as the packet contents -* Headers and any other information in the request - -To view message logs in API Manager, you need one of the following permissions: - -* API Manager Environment Administrator -* API Manager Deploy API Proxies -* General Organization Administration - -See xref:access-management::permissions-by-product.adoc[]. - -== Before You Begin - -Before configuring message logging for a Flex Gateway, complete the following tasks: - -* xref:flex-install.adoc[Download Flex Gateway] -* xref:flex-conn-reg-run.adoc[Register and Run Flex Gateway] -* xref:api-manager::create-instance-task-flex.adoc[Add an API Instance] - -== Configure Message Logging in Connected Mode - -. From API Administration in API Manager, select the name of the API Instance. -. Click *Policies*. -. Click *+ Add policy*. -. Under the *Troubleshooting* category, click *Message Logging*. -. Click *Next*. -. Click *+ Add*. -. Enter a *Configuration Name*, for example, Info messages before calling API. -. Enter a DataWeave expression that selects what information you want to see. -+ -For example, `#[attributes.header['id']]` extracts the ids from the headers of -the messages. For more information, see xref:policies-flex-dataweave-support.adoc[]. - -. If you want to filter log messages, enter a DataWeave expression. -+ -For example, `#[attributes.headers['id']==1]` displays log messages that have -an id of 1 in the header. - -. If you want to affix a prefix to your logs, enter a *Category*. -. Enter the severity level. -+ -You can only enter one level. See <> -for a description of each severity level and the hierarchy for the levels. - -. If you want messages after the API is called, select *After Calling API*. -. If you want to add additional configurations, click *+ Add*. -. Click *Save*. -+ -Afterward, you should see a *Message Log* option for the API instance. -+ -Use the search field to search for specific logs based on the time and log severity (INFO, ERROR, WARN, DEBUG). You can download these logs for further analysis. - -include::partial$logging-severity-level.adoc[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-conn-monitor.adoc b/gateway/1.6/modules/ROOT/pages/flex-conn-monitor.adoc deleted file mode 100644 index a00ab9277..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-conn-monitor.adoc +++ /dev/null @@ -1,18 +0,0 @@ -= Monitoring in Connected Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Flex Gateway running in Connected Mode enables you to monitor APIs via Anypoint Platform. By using Anypoint Platform, you can configure logs and view key metrics and analytics. - -Refer to the following tasks for details about monitoring in Connected Mode: - -* xref:flex-conn-message-log.adoc[Configure Message Logging] - Apply a Message Logging policy to your API instance via API Manager. This policy enables you to view basic logs for Flex Gateway APIs. -* xref:flex-use-api-alerts.adoc[Configure API Alerts] - Configure API alerts to receive email notifications that flag unusual API behavior. -* xref:flex-conn-third-party-logs-config.adoc[Configure Flex Gateway Log Output for Third-Party Services] - Configure log output for consumption by third-party services such as Splunk. -* xref:flex-view-api-metrics.adoc[View Key Metrics for Flex Gateway APIs] - Collect metrics for active Flex Gateway APIs via API Manager. You can view charts and filter metrics by date. -* xref:flex-view-replica-status.adoc[View the Replica Status in Runtime Manager] - View Flex Replica connection status from within the Runtime Manager UI. -* xref:flex-view-api-status.adoc[View the Flex Gateway API Status in Runtime Manager] - View the Flex Gateway API status from within the Runtime Manager UI. -* xref:flex-view-logs-in-monitoring.adoc[View Logs in Anypoint Monitoring] - View details of your Flex Gateway logs from within the Anypoint Monitoring UI. -* xref:flex-conn-disable-logs.adoc[Disable Flex Gateway Log Output] - Disable log output to Anypoint Platform by using a local declarative configuration file. \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-conn-proxy-protocol.adoc b/gateway/1.6/modules/ROOT/pages/flex-conn-proxy-protocol.adoc deleted file mode 100644 index 913590cdf..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-conn-proxy-protocol.adoc +++ /dev/null @@ -1,20 +0,0 @@ -= Configuring PROXY Protocol in Connected Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:page-mode: conn - -include::partial$task-config-proxy-protocol.adoc[tags=intro1;icon-table;byb] - -include::partial$task-config-proxy-protocol.adoc[tags=linux;sample-config] - -include::partial$task-config-proxy-protocol.adoc[tags=docker-intro] -+ -include::partial$task-reg-run-flex-gateway.adoc[tags=start-command-local] -+ -include::partial$task-config-proxy-protocol.adoc[tags=docker-config-file-step;sample-config] - -include::partial$task-config-proxy-protocol.adoc[tags=k8s;sample-config] - -include::partial$task-config-proxy-protocol.adoc[tags=see-also] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-conn-reg-run-app.adoc b/gateway/1.6/modules/ROOT/pages/flex-conn-reg-run-app.adoc deleted file mode 100644 index d2208db3e..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-conn-reg-run-app.adoc +++ /dev/null @@ -1,159 +0,0 @@ -// Register and run a flex gateway with a connected app either in a Docker container or as a Linux service -= Registering and Running in Connected Mode with a Connected App -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:reg-mode: Connected - -//table with tech logos and links (linux, docker, k8, openshift) -include::partial$task-reg-run-flex-gateway.adoc[tags=table-logos-links] - -[[prereqs]] -// Prerequisites -include::partial$task-reg-run-flex-gateway.adoc[tags=prerequisites-heading;app-prerequisites;prerequisites;environment-prerequisites] - -[[linux]] -// Register and run with a connected app as a Linux service -include::partial$task-reg-run-flex-gateway.adoc[tags=app-linux-heading;reg-command-intro;app-replace-content;environment-replace-content;replace-content;reg-command-heading;reg-command-1;linux-reg-command;app-reg-command;environment-reg-command;connected-reg-command;organization-reg-command;output-reg-command-linux;reg-command-2;after-reg;linux-after-reg;disconnected-after-reg;create-config-folder-file;config-content;linux-start-commands;gateway-connected] - -[[container]] -include::partial$task-reg-run-flex-gateway.adoc[tags=app-container-heading] -include::partial$task-reg-run-flex-gateway.adoc[tags=table-containers-logos-heading] -include::partial$task-reg-run-flex-gateway.adoc[tags=table-containers-logos-links] - -[[docker]] -// Register and run with a connected app in a Docker container -include::partial$task-reg-run-flex-gateway.adoc[tags=app-docker-heading;reg-command-intro;sub-coll-info-container;app-replace-content;environment-replace-content;replace-content;reg-command-heading-container;docker-create-directory-note;reg-command-1;docker-reg-command;app-reg-command;environment-reg-command;connected-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;after-reg-2;disconnected-after-reg;start-command-container;gateway-connected] - -// PODMAN -[[podman]] -// Register and run with a connected app in a Podman container -include::partial$task-reg-run-flex-gateway.adoc[tags=app-podman-heading;reg-command-intro;sub-coll-info-container;app-replace-content;environment-replace-content;replace-content;reg-command-heading-container;docker-create-directory-note;reg-command-1;podman-reg-command;app-reg-command;environment-reg-command;connected-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;after-reg-2;disconnected-after-reg;podman-start-command;gateway-connected] - -// KUBERNETES -[[kubernetes]] -// Register and run with a connected app in a Kubernetes cluster -//intro -// - overview -include::partial$task-reg-run-flex-gateway.adoc[tags=app-k8s-heading;k8s-install-flex-helm-chart-intro-connected] -// - cluster-level access when rbac enabled -include::partial$prerequisites.adoc[tags=rbac-permission-k8] -//- links to steps -include::partial$task-reg-run-flex-gateway.adoc[tags=links-to-k8s-reg-steps] -//- connected mode supplemental info for k8 and openshift -include::partial$task-reg-run-flex-gateway.adoc[tag=k8s-connected-intro] - -[[options-k8s]] -//sub collected info -include::partial$task-reg-run-flex-gateway.adoc[tags=sub-coll-info;app-replace-content;environment-replace-content;replace-content] - -[[reg-k8s]] -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-heading] -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-heading-intro] - -[[docker-container-reg]] -.*Docker* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=docker-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;docker-reg-command;app-reg-command;environment-reg-command;connected-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg;disconnected-after-reg] -==== - -[[podman-container-reg]] -.*Podman* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=podman-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;podman-reg-command;app-reg-command;environment-reg-command;connected-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg;disconnected-after-reg] -==== - -[[deploy-k8s]] -//install helm chart section -//- title -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-title] -//- helm chart info -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart] -include::partial$prerequisites.adoc[tags=helm] -Refer to <> for configuration options. -//- add chart repo and deploy flex via chart -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart-add;k8s-flex-helm-chart-deploy] -//- for flex connected mode deployment only -include::partial$task-reg-run-flex-gateway.adoc[tags=gateway-connected] - -[[helm-options-k8s]] -//helm config options -include::partial$task-reg-run-flex-gateway.adoc[tags=helm-chart-options] - - -// OPENSHIFT -[[openshift]] -// Register and run with a connected app in an OpenShift cluster -//heading -include::partial$task-reg-run-flex-gateway.adoc[tags=app-openshift-heading] -//task intro -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-intro-connected] -//- cluster-level access when rbac enabled -include::partial$prerequisites.adoc[tags=rbac-permission-k8;rbac-role-openshift] -//- note (openshift command line procedures same as k8) -include::partial$task-reg-run-flex-gateway.adoc[tags=note-openshift-k8] -//- links to steps -include::partial$task-reg-run-flex-gateway.adoc[tags=links-to-openshift-reg-steps] -//- connected mode supplemental info for k8 and openshift -include::partial$task-reg-run-flex-gateway.adoc[tag=k8s-connected-intro] - -[[options-openshift]] -//sub collected info -include::partial$task-reg-run-flex-gateway.adoc[tags=sub-coll-info;app-replace-content;environment-replace-content;replace-content] - -[[reg-openshift]] -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-heading] - -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-openshift-heading-intro] - -[[docker-openshift-container-reg]] -.*Docker* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=docker-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;docker-reg-command;app-reg-command;environment-reg-command;connected-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg;disconnected-after-reg] -==== - -[[podman-openshift-container-reg]] -.*Podman* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=podman-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;podman-reg-command;app-reg-command;environment-reg-command;connected-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg;disconnected-after-reg] -==== - -[[deploy-openshift]] -//install helm chart section -//- title -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-title] -//- helm chart info -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart] -include::partial$prerequisites.adoc[tags=helm] -Refer to <> for configuration options. -//- add chart repo and deploy flex via chart -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart-add;k8s-flex-helm-chart-deploy] -//- for flex connected mode deployment only -include::partial$task-reg-run-flex-gateway.adoc[tags=gateway-connected] - -[[helm-options-openshift]] -//helm config options -include::partial$task-reg-run-flex-gateway.adoc[tags=helm-chart-options] - - -== See Also - -* xref:flex-gateway-getting-started.adoc[] -* xref:flex-local-reg-run.adoc[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-conn-reg-run-token.adoc b/gateway/1.6/modules/ROOT/pages/flex-conn-reg-run-token.adoc deleted file mode 100644 index b03a92a26..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-conn-reg-run-token.adoc +++ /dev/null @@ -1,160 +0,0 @@ -= Registering and Running in Connected Mode with a Token -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:reg-mode: Connected - -//table with tech logos and links (linux, docker, k8, openshift) -include::partial$task-reg-run-flex-gateway.adoc[tags=table-logos-links] - -[[prereqs]] -// Prerequisites -include::partial$task-reg-run-flex-gateway.adoc[tags=prerequisites-heading;prerequisites;token-prerequisites] - -[[linux]] -// Register and run with a token as a Linux service -include::partial$task-reg-run-flex-gateway.adoc[tags=token-linux-heading;reg-command-intro;sub-coll-info;token-replace-content;replace-content;reg-command-heading;reg-command-1;linux-reg-command;token-reg-command;connected-reg-command;organization-reg-command;output-reg-command-linux;reg-command-2;after-reg;linux-after-reg;disconnected-after-reg;create-config-folder-file;config-content;linux-start-commands;gateway-connected] - -[[container]] -include::partial$task-reg-run-flex-gateway.adoc[tags=token-container-heading] -include::partial$task-reg-run-flex-gateway.adoc[tags=table-containers-logos-heading] -include::partial$task-reg-run-flex-gateway.adoc[tags=table-containers-logos-links] - -[[docker]] -// Register and run with a token in a Docker container -include::partial$task-reg-run-flex-gateway.adoc[tags=token-docker-heading;reg-command-intro;sub-coll-info-container;token-replace-content;replace-content;reg-command-heading-container;docker-create-directory-note;reg-command-1;docker-reg-command;token-reg-command;connected-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;after-reg-2;disconnected-after-reg;start-command-container;gateway-connected] - -// PODMAN -[[podman]] -// Register and run with a token in a Podman container -include::partial$task-reg-run-flex-gateway.adoc[tags=token-podman-heading;reg-command-intro;sub-coll-info-container;token-replace-content;replace-content;reg-command-heading-container;docker-create-directory-note;reg-command-1;podman-reg-command;token-reg-command;connected-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;after-reg-2;disconnected-after-reg;podman-start-command;gateway-connected] - -// KUBERNETES -[[kubernetes]] -// Register and run with a token in a Kubernetes cluster -//heading -include::partial$task-reg-run-flex-gateway.adoc[tags=token-k8s-heading] -// - task overview -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-intro-connected] -// - cluster-level access when rbac enabled -include::partial$prerequisites.adoc[tags=rbac-permission-k8] -//- links to steps -include::partial$task-reg-run-flex-gateway.adoc[tags=links-to-k8s-reg-steps] -//- connected mode supplemental info for k8 and openshift -include::partial$task-reg-run-flex-gateway.adoc[tag=k8s-connected-intro] - -[[options-k8s]] -//sub collected info -include::partial$task-reg-run-flex-gateway.adoc[tags=sub-coll-info;token-replace-content;replace-content] - -[[reg-k8s]] -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-heading] -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-heading-intro] - -[[docker-container-reg]] -.*Docker* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=docker-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;docker-reg-command;token-reg-command;connected-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg;disconnected-after-reg] -==== - -[[podman-container-reg]] -.*Podman* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=podman-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;podman-reg-command;token-reg-command;connected-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg;disconnected-after-reg] -==== - -[[deploy-k8s]] -//install helm chart section -//- title -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-title] -//- helm chart info -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart] -include::partial$prerequisites.adoc[tags=helm] -Refer to <> for configuration options. -//- add chart repo and deploy flex via chart -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart-add;k8s-flex-helm-chart-deploy] -//- for flex connected mode deployment only -include::partial$task-reg-run-flex-gateway.adoc[tags=gateway-connected] - -[[helm-options-k8s]] -//helm config options -include::partial$task-reg-run-flex-gateway.adoc[tags=helm-chart-options] - - -// OPENSHIFT -[[openshift]] -// Register and run with a token in an OpenShift cluster -//heading -include::partial$task-reg-run-flex-gateway.adoc[tags=token-openshift-heading] -//intro -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-intro-connected] -//- cluster-level access when rbac enabled -include::partial$prerequisites.adoc[tags=rbac-permission-k8;rbac-role-openshift] -//- note (openshift command line procedures same as k8) -include::partial$task-reg-run-flex-gateway.adoc[tags=note-openshift-k8] -//- links to steps -include::partial$task-reg-run-flex-gateway.adoc[tags=links-to-openshift-reg-steps] - -//- connected mode supplemental info for k8 and openshift -include::partial$task-reg-run-flex-gateway.adoc[tag=k8s-connected-intro] - -[[options-openshift]] -//sub collected info -include::partial$task-reg-run-flex-gateway.adoc[tags=sub-coll-info;token-replace-content;replace-content] - -[[reg-openshift]] -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-heading] - -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-openshift-heading-intro] - -[[docker-openshift-container-reg]] -.*Docker* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=docker-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;docker-reg-command;token-reg-command;connected-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg;disconnected-after-reg] -==== - -[[podman-openshift-container-reg]] -.*Podman* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=podman-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;podman-reg-command;token-reg-command;connected-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg;disconnected-after-reg] -==== - -[[deploy-openshift]] -//install helm chart section -//- title -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-title] -//- helm chart info -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart] -include::partial$prerequisites.adoc[tags=helm] -Refer to <> for configuration options. -//- add chart repo and deploy flex via chart -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart-add;k8s-flex-helm-chart-deploy] -//- for flex connected mode deployment only -include::partial$task-reg-run-flex-gateway.adoc[tags=gateway-connected] - -[[helm-options-openshift]] -//helm config options -include::partial$task-reg-run-flex-gateway.adoc[tags=helm-chart-options] - - -== See Also - -* xref:flex-gateway-getting-started.adoc[] -* xref:flex-local-reg-run.adoc[] diff --git a/gateway/1.6/modules/ROOT/pages/flex-conn-reg-run-up.adoc b/gateway/1.6/modules/ROOT/pages/flex-conn-reg-run-up.adoc deleted file mode 100644 index f13cdfd65..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-conn-reg-run-up.adoc +++ /dev/null @@ -1,160 +0,0 @@ -= Registering and Running in Connected Mode with a Username and Password -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:reg-mode: Connected - -//table with tech logos and links (linux, docker, k8, openshift) -include::partial$task-reg-run-flex-gateway.adoc[tags=table-logos-links] - -[[prereqs]] -// Prerequisites -include::partial$task-reg-run-flex-gateway.adoc[tags=prerequisites-heading;prerequisites;environment-prerequisites;user-prerequisites] - -[[linux]] -// Register and run with a username and password as a Linux service -include::partial$task-reg-run-flex-gateway.adoc[tags=user-linux-heading;reg-command-intro;user-replace-content;environment-replace-content;replace-content;reg-command-heading;reg-command-1;linux-reg-command;user-reg-command;environment-reg-command;connected-reg-command;organization-reg-command;output-reg-command-linux;reg-command-2;after-reg;linux-after-reg;disconnected-after-reg;create-config-folder-file;config-content;linux-start-commands;gateway-connected] - -[[container]] -include::partial$task-reg-run-flex-gateway.adoc[tags=user-container-heading] -include::partial$task-reg-run-flex-gateway.adoc[tags=table-containers-logos-heading] -include::partial$task-reg-run-flex-gateway.adoc[tags=table-containers-logos-links] - -[[docker]] -// Register and run with a username and password in a Docker container -include::partial$task-reg-run-flex-gateway.adoc[tags=user-docker-heading;reg-command-intro;sub-coll-info-container;user-replace-content;environment-replace-content;replace-content;reg-command-heading-container;docker-create-directory-note;reg-command-1;docker-reg-command;user-reg-command;environment-reg-command;connected-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;after-reg-2;disconnected-after-reg;start-command-container;gateway-connected] - -// PODMAN -[[podman]] -// Register and run with a username and password in a Podman container -include::partial$task-reg-run-flex-gateway.adoc[tags=user-podman-heading;reg-command-intro;sub-coll-info-container;user-replace-content;environment-replace-content;replace-content;reg-command-heading-container;docker-create-directory-note;reg-command-1;podman-reg-command;user-reg-command;environment-reg-command;connected-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;after-reg-2;disconnected-after-reg;podman-start-command;gateway-connected] - -// KUBERNETES -[[kubernetes]] -// Register and run with a username and password in a Kubernetes cluster -//heading -include::partial$task-reg-run-flex-gateway.adoc[tags=user-k8s-heading] -// - task overview -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-intro-connected] -// - cluster-level access when rbac enabled -include::partial$prerequisites.adoc[tags=rbac-permission-k8] -//- links to steps -include::partial$task-reg-run-flex-gateway.adoc[tags=links-to-k8s-reg-steps] -//- connected mode supplemental info for k8 and openshift -include::partial$task-reg-run-flex-gateway.adoc[tag=k8s-connected-intro] - -//sub collected info -[[options-k8s]] -include::partial$task-reg-run-flex-gateway.adoc[tags=sub-coll-info;user-replace-content;environment-replace-content;replace-content] - -[[reg-k8s]] -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-heading] -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-heading-intro] - -[[docker-container-reg]] -.*Docker* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=docker-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;docker-reg-command;user-reg-command;environment-reg-command;connected-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg;disconnected-after-reg] -==== - -[[podman-container-reg]] -.*Podman* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=podman-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;podman-reg-command;user-reg-command;environment-reg-command;connected-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg;disconnected-after-reg] -==== - -[[deploy-k8s]] -//install helm chart section -//- title -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-title] - -//- helm chart info -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart] -include::partial$prerequisites.adoc[tags=helm] -Refer to <> for configuration options. -//- add chart repo and deploy flex via chart -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart-add;k8s-flex-helm-chart-deploy] -//- for flex connected mode deployment only -include::partial$task-reg-run-flex-gateway.adoc[tags=gateway-connected] - -[[helm-options-k8s]] -//helm config options -include::partial$task-reg-run-flex-gateway.adoc[tags=helm-chart-options] - - -// OPENSHIFT -[[openshift]] -// Register and run with a username and password in an OpenShift cluster -//heading -include::partial$task-reg-run-flex-gateway.adoc[tags=user-openshift-heading] -//intro -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-intro-connected] -//- cluster-level access when rbac enabled -include::partial$prerequisites.adoc[tags=rbac-permission-k8;rbac-role-openshift] -//- note (openshift command line procedures same as k8) -include::partial$task-reg-run-flex-gateway.adoc[tags=note-openshift-k8] -//- links to steps -include::partial$task-reg-run-flex-gateway.adoc[tags=links-to-openshift-reg-steps] -//- connected mode supplemental info for k8 and openshift -include::partial$task-reg-run-flex-gateway.adoc[tag=k8s-connected-intro] - -[[options-openshift]] -//sub collected info -include::partial$task-reg-run-flex-gateway.adoc[tags=sub-coll-info;user-replace-content;environment-replace-content;replace-content] - -[[reg-openshift]] -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-heading] - -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-openshift-heading-intro] - -[[docker-openshift-container-reg]] -.*Docker* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=docker-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;docker-reg-command;user-reg-command;environment-reg-command;connected-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg;disconnected-after-reg] -==== - -[[podman-openshift-container-reg]] -.*Podman* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=podman-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;podman-reg-command;user-reg-command;environment-reg-command;connected-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg;disconnected-after-reg] -==== - -[[deploy-openshift]] -//install helm chart section -//- title -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-title] -//- helm chart info -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart] -include::partial$prerequisites.adoc[tags=helm] -Refer to <> for configuration options. -//- add chart repo and deploy flex via chart -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart-add;k8s-flex-helm-chart-deploy] -//- for flex connected mode deployment only -include::partial$task-reg-run-flex-gateway.adoc[tags=gateway-connected] - -[[helm-options-openshift]] -//helm config options -include::partial$task-reg-run-flex-gateway.adoc[tags=helm-chart-options] - - -== See Also - -* xref:flex-gateway-getting-started.adoc[] -* xref:flex-local-reg-run.adoc[] diff --git a/gateway/1.6/modules/ROOT/pages/flex-conn-reg-run.adoc b/gateway/1.6/modules/ROOT/pages/flex-conn-reg-run.adoc deleted file mode 100644 index 476c6118b..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-conn-reg-run.adoc +++ /dev/null @@ -1,19 +0,0 @@ -= Registering and Running Flex Gateway in Connected Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -// :page-aliases: runtime-manager::flex-gateway-register.adoc -:imagesdir: ../assets/images - -Before you can use your Flex Gateway to configure API instances, you must register and start the gateway. - -There are three ways to register Flex Gateway in Connected Mode: - -* xref:flex-conn-reg-run-up.adoc[Register and Run using a Username and Password]: If you have -a username and password for Anypoint Platform, you can use these credentials to register -your Flex Gateway. -* xref:flex-conn-reg-run-app.adoc[Register and Run using a Connected App]: If you do not have -a username or password for Anypoint Platform, you can use connected app credentials to register -your Flex Gateway. -* xref:flex-conn-reg-run-token.adoc[Register and Run using a Token]: If you do not have a username -or password for Anypoint Platform, you can use a registration token generated by the Runtime Manager UI. \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-conn-rep-run.adoc b/gateway/1.6/modules/ROOT/pages/flex-conn-rep-run.adoc deleted file mode 100644 index 5d669476a..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-conn-rep-run.adoc +++ /dev/null @@ -1,32 +0,0 @@ -= Configuring Replicas for Flex Gateway in Connected Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -// :page-aliases: runtime-manager::flex-gateway-replicas.adoc -:imagesdir: ../assets/images - -[cols="1a,1a"] -|=== -|image:install-linux-logo.png[20%,20%,xref="flex-conn-rep-run.adoc#add-a-flex-replica-as-a-linux-service"] -|image:install-docker-logo.png[25%,25%,xref="flex-conn-rep-run.adoc#docker"] - -|xref:flex-conn-rep-run.adoc#add-a-flex-replica-as-a-linux-service[Add a Flex Replica as a Linux Service] -|xref:flex-conn-rep-run.adoc#docker[] -|=== - -include::partial$task-rep-run-flex-gateway.adoc[tags=add-flex-intro] - -include::partial$task-rep-run-flex-gateway.adoc[tags=add-flex-rep-byb;add-flex-rep-byb-conn;add-flex-rep1] - -include::partial$task-reg-run-flex-gateway.adoc[tags=create-config-folder-file;config-content;linux-start-commands] - -include::partial$task-rep-run-flex-gateway.adoc[tags=add-flex-rep2] - -[[docker]] -== Add a Flex Replica in a Docker Container - -To add a Flex Replica in a Docker Container you must run the Flex Gateway start command using the same `registration.yaml` file created during registration. If you are running the container locally, you will also need to use a different port. - -include::partial$task-reg-run-flex-gateway.adoc[tags=start-command] - -Now if you check in Runtime Manager after clicking *Flex Gateway* in the left navigation, your Flex Gateway will have an additional replica listed. You may need to refresh the page. \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-conn-shared-storage-config.adoc b/gateway/1.6/modules/ROOT/pages/flex-conn-shared-storage-config.adoc deleted file mode 100644 index b96e81564..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-conn-shared-storage-config.adoc +++ /dev/null @@ -1,46 +0,0 @@ -= Configuring Shared Storage for Flex Gateway in Connected Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:page-mode: conn - -include::reuse::partial$non-inclusive-banner.adoc[] - -// intro and graphics for each option - linux, docker, kubernetes -include::partial$task-shared-storage-config.adoc[tags=intro1;intro2;icon-table;byb;linux;sample-config-all-intro] -// configure shared storage for Flex Gateway as a Linux Service -+ -include::partial$task-shared-storage-config.adoc[tags=sample-config-all] - -// configure shared storage for Flex Gateway in a Docker container -include::partial$task-shared-storage-config.adoc[tags=docker-intro] -+ -include::partial$task-reg-run-flex-gateway.adoc[tags=start-command-local] -+ -include::partial$task-shared-storage-config.adoc[tags=docker-config-file-step;sample-config-all-intro] -+ -include::partial$task-shared-storage-config.adoc[tags=sample-config-all] - -//configure shared storage for Flex Gateway in a Kubernetes cluster -include::partial$task-shared-storage-config.adoc[tags=k8s;sample-config-all-intro] - -include::partial$task-shared-storage-config.adoc[tags=sample-config-all] - -// Redis Sentinel - -include::partial$task-shared-storage-config.adoc[tags=sentinel-intro] - -include::partial$task-shared-storage-config.adoc[tags=sentinel-sample-config] - -// TLS -include::partial$task-shared-storage-config.adoc[tags=tls-intro] - -include::partial$task-shared-storage-config.adoc[tags=tls-sample-config] - -include::partial$task-shared-storage-config.adoc[tags=tls-more-information] - -== See Also - -* xref:flex-local-shared-storage-config.adoc[Configuring Shared Storage for Flex Gateway in Local Mode] -* xref:flex-local-configuration-reference-guide.adoc#shared-storage[Declarative Configuration Reference Guide] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-conn-third-party-logs-config.adoc b/gateway/1.6/modules/ROOT/pages/flex-conn-third-party-logs-config.adoc deleted file mode 100644 index 9cb764ca2..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-conn-third-party-logs-config.adoc +++ /dev/null @@ -1,54 +0,0 @@ -= Configuring Flex Gateway Log Output for Third-Party Services -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:page-mode: conn - -include::partial$task-config-logs-third-party.adoc[tags=intro1;intro2-conn] - -include::partial$task-config-logs-third-party.adoc[tags=icon-table] - -include::partial$task-config-logs-third-party.adoc[tags=byb] - -include::partial$task-config-logs-third-party.adoc[tags=runtime-access-logs] - -include::partial$task-config-logs-third-party.adoc[tags=file-example] - -include::partial$task-config-logs-third-party.adoc[tags=linux;view-logs-conn;configure-message-logging-step] - -include::partial$task-config-logs-third-party.adoc[tags=docker] -+ -include::partial$task-reg-run-flex-gateway.adoc[tags=start-command-local] -+ -include::partial$task-config-logs-third-party.adoc[tags=docker2;view-logs-conn;configure-message-logging-step] - -include::partial$task-config-logs-third-party.adoc[tags=k8s;view-logs-conn;configure-message-logging-step] - -include::partial$task-config-logs-third-party.adoc[tags=file-configuration-example] - -include::partial$task-config-logs-third-party.adoc[tags=http-configuration-example] - -include::partial$task-config-logs-third-party.adoc[tags=splunk-configuration-example] - -include::partial$task-config-logs-third-party.adoc[tags=dynatrace-configuration-example] - -[[configure-access-logs]] -== Configure Access Logs -To configure access logs in your log output, you must apply a Message Logging policy to the APIs whose request and response data you want to monitor. If you have previously applied a Message Logging policy to an API instance, you do not need to configure another. - -To configure a Message Logging policy, see xref:flex-conn-message-log.adoc[]. - -Configuring a Message Logging policy makes access logs visible in both API Manager *Logs* and your third-party log services. - -If your access logs are not visible, it is possible that a policy with a higher execution order is causing an error before the Message Logging policy can execute. To reorder policy execution, see xref:policies-reorder.adoc[]. - -// Logging examples -include::partial$task-config-logs-third-party.adoc[tags=log-output-examples] - - -== See Also - -* xref:flex-local-configuration-reference-guide.adoc#logging[Declarative Configuration Reference Guide] -* xref:flex-conn-message-log.adoc[] -* xref:flex-conn-disable-logs.adoc[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-conn-tls-config.adoc b/gateway/1.6/modules/ROOT/pages/flex-conn-tls-config.adoc deleted file mode 100644 index 341465d33..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-conn-tls-config.adoc +++ /dev/null @@ -1,99 +0,0 @@ -= Configuring TLS Context for Flex Gateway in Connected Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:page-mode: conn - -// Add TLS Context intro -include::partial$task-flex-add-tls-context.adoc[tags=intro1;intro2] - -include::partial$task-tls-config.adoc[tags=intro2] - -Flex Gateway implements inbound TLS at the port level, meaning that an inbound TLS context applied to an API instance is also applied to all other instances that share the same port. To learn more about how TLS context is shared across ports, see <>. - -Port sharing is not a concern for outbound TLS. You can select the outbound TLS context for each individual upstream service. - -== Before You Begin -Before configuring the TLS context for a Flex Gateway Connected Mode, complete the following tasks: - -* xref:flex-install.adoc[Download Flex Gateway] -* xref:flex-{page-mode}-reg-run.adoc[Register and Run Flex Gateway] -* Ensure the following permissions are enabled: -** _Grant access to secrets_ in Secrets Manager -** _Deploy API Proxies_ in API Manager -+ -Your Anypoint Platform Admin can add these permissions in Access Management. -See xref:access-management::configure-teams.adoc#manage-team-permissions[Manage Team Permissions] for more information. - -* xref:anypoint-security::asm-secret-group-creation-task.adoc[Create a Secret Group] -+ -When adding a secret group, refer to the <>. -+ -Depending on your desired configuration, either: -+ -** xref:anypoint-security::asm-secret-group-creation-task.adoc#adding-a-keystore[Add a Keystore] -** xref:anypoint-security::asm-secret-group-creation-task.adoc#adding-a-truststore[Add a Trustore] -+ -NOTE: Privacy Enhanced Mail (PEM) type is required for your Keystore or Truststore. - -// TLS Configuration Options -include::partial$task-flex-add-tls-context.adoc[tags=configurationOptions] - - -// Add TLS Context in Secrets Manager -include::partial$task-flex-add-tls-context.adoc[tags=addContext] - - -//redeploy - - - -== Apply a TLS Context to an API - -You can apply a TLS context to an API instance either when creating a new instance or by editing an existing instance. - -API instance settings configuration has two parts, the downstream configuration and the upstream configuration. Inbound TLS context is a downstream configuration option, and outbound TLS context is an upstream configuration option. When adding a new API instance, the downstream and upstream configuration is on separate pages. When editing an API instance, the downstream and upstream configuration options appear on the same page but are in different sections. - -For information about either option, see the relevant tutorial: - -* xref:api-manager::create-instance-task-flex.adoc[] -* xref:api-manager::edit-api-endpoint-task.adoc[] - -To apply a TLS context: - -. Go to *Anypoint Platform > API Manager*. -. Navigate to either the: -* Upstream or downstream configuration page, if adding a new API instance. -* *Settings* page, if editing an existing API instance. -. Select *HTTPS* for the *Protocol* configuration field if configuring an inbound TLS context. -. Click *Add TLS Context*. -.. Select a *Secret Group*. -.. Select a *TLS Context*. -.. Click *Ok*. -. Finish creating the API instance or save the configuration edits. - - -[[tls-context-applied-to-shared-ports]] -== Inbound TLS Context Applied to Shared Ports -Though a port must have an API instance to have an inbound TLS context applied, the inbound TLS context is applied to the port rather than the API instance. - -Applying an inbound TLS context to an API instance that shares its port with other instances applies the inbound TLS context to all instances sharing the port. - -When you apply, edit, or remove the inbound TLS context of an API instance sharing a port, API Manager shows a warning with a list of the instances sharing the port. You can then choose to override the inbound TLS context of the listed API instances. Overriding the inbound TLS context of the API instances that share the port applies the inbound TLS context to the instances and then redeploys the instances. - -Overriding the inbound TLS context of deployed API instances redeploys the instances. Redeploying causes a brief period of downtime in the API instances. - -If you edit the port of an API instance that previously shared a port and an inbound TLS context with other instances, the inbound TLS context remains applied to the instances on the previous port. - -include::partial$task-flex-add-tls-context.adoc[tags=redeploy] -//Redeploy - -//Ciphers -include::partial$flex-tls-cipher.adoc[tags=connectedSelect;cipherSupport;ciphers] - -//Ciphers -== See Also - -* xref:flex-local-tls-config.adoc[Configuring TLS Context for Flex Gateway in Local Mode] -* xref:policies-included-tls.adoc[Transport Layer Security Policy] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-gateway-configure.adoc b/gateway/1.6/modules/ROOT/pages/flex-gateway-configure.adoc deleted file mode 100644 index d97ce2371..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-gateway-configure.adoc +++ /dev/null @@ -1,24 +0,0 @@ -= Configuring Flex Gateway -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -// :page-aliases: gateway::flex-gateway-replicas.adoc - -Flex Gateway enables configuration via Anypoint Platform (Connected Mode) or declarative configuration files (Local Mode). Configurations include: - -* Replicas -* TLS contexts -* Shared storage -* Forward proxies -* Automated Jenkins pipelines -* Node selection for Kubernetes deployments - -For Connected Mode, see xref:flex-conn-configure.adoc[]. - -For Local Mode, see xref:flex-local-configure.adoc[]. - -== See Also - -* xref:index.adoc[] -* xref:flex-gateway-getting-started.adoc[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-gateway-delete.adoc b/gateway/1.6/modules/ROOT/pages/flex-gateway-delete.adoc deleted file mode 100644 index 869a12805..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-gateway-delete.adoc +++ /dev/null @@ -1,38 +0,0 @@ -= Deleting an Instance of Flex Gateway -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -// :page-aliases: runtime-manager::flex-gateway-delete.adoc -:imagesdir: ../assets/images - -To delete a gateway and its replicas in Runtime Manager: - -. From Anypoint Platform, select *Runtime Manager*. -. Select *Flex Gateway* in the navigation menu. -. Click the action menu button for the gateway that you want to delete. -. Click *Delete gateway*. - -If there are APIs associated with the gateway you want to delete, Runtime Manager displays a message that prompts you to either: - -* Move the associated APIs to another gateway. -* Delete all associated APIs. - -Once you moved or deleted all the associated APIs, follow the steps previously described to delete a gateway and confirm the deletion. - -== Flex Gateway Status - -The following table describes the meaning of each gateway status: - -[%header,cols="20a,50a"] -|=== -|Status Name |Description -|Connected |Gateway is connected to the platform, and you can add APIs to it. -|Disconnected |Gateway is not connected to the platform. -|Deleting | Gateway is in the process of being deleted. -|Deleted | Gateway was deleted from the platform. It stops accepting API requests and configuration changes, and stops reporting metrics. -|=== - -Deleted gateways are shown with status `Deleted` for 30 days before the status is removed from the gateways list. - -[NOTE] -If you delete a gateway, you lose its configuration history and cannot recover it. \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-gateway-getting-started.adoc b/gateway/1.6/modules/ROOT/pages/flex-gateway-getting-started.adoc deleted file mode 100644 index d692b8f86..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-gateway-getting-started.adoc +++ /dev/null @@ -1,192 +0,0 @@ -= Getting Started with Flex Gateway -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -// :page-aliases: runtime-manager::flex-gateway-add.adoc, runtime-manager::flex-gateway-api-add.adoc -:imagesdir: ../assets/images - -The goal of this tutorial is to quickly get started with Anypoint Flex Gateway. Using Docker, the tutorial describes how to install, register, and run Flex Gateway in Connected Mode. Additionally, the tutorial describes how to publish an API that is secured with a basic authentication policy. - -== Before You Begin - -Before getting started with Flex Gateway, ensure that you have: - -* A username and password for your Anypoint Platform organization. If you don’t have Anypoint Platform yet, https://anypoint.mulesoft.com/login/signup[create a Trial organization^] on Anypoint Platform. - -* A Linux machine with an x86 processor. M1 and M2 processors are not supported. -+ -include::partial$prerequisites.adoc[tag=intro] - -** {empty} -include::partial$prerequisites.adoc[tag=amazon-linux] - -** {empty} -include::partial$prerequisites.adoc[tag=centos] - -** {empty} -include::partial$prerequisites.adoc[tag=debian] - -** {empty} -include::partial$prerequisites.adoc[tag=red-hat] - -** {empty} -include::partial$prerequisites.adoc[tag=ubuntu] - -* A Docker installation. See https://www.docker.com/products/docker-desktop/[Docker Desktop^] for an example. - -== Download Flex Gateway - -To download the Flex Gateway Docker image, run the following command in a terminal window: - -[source,ssh,subs=attributes+] ----- -docker pull mulesoft/flex-gateway:{gateway-ver-var} ----- - -[NOTE] -Use `sudo` if you encounter file permission issues when running this command. - -== Register Flex Gateway - -. Create a new directory by running: -+ -[source,ssh] ----- -mkdir flex-registration ----- - -. Navigate to the new directory by running: -+ -[source,ssh] ----- -cd flex-registration ----- - -. Log in to https://anypoint.mulesoft.com/login/[Anypoint Platform^] with your Anypoint username and password. -. Select *Runtime Manager*. -. Click on the *Flex Gateways* tab in the side navigation panel. -. Click *Add Gateway*. -. Select *Docker*. -. Copy the code block in the *Register your gateway* section. The code block contains your unique organization ID and token. -+ -The following screenshot of the *Add a Flex Gateway* page highlights the code block to copy: -+ -image::gateway-quickstart-add-gateway.png["Add a Flex Gateway page with code block to copy selected",width=90%] - -. Run the copied code block in your terminal window, making sure to first replace `` with a name, such as `my-gw`. -+ -[NOTE] -Use `sudo` if you encounter file permission issues when running this command. - -. In Runtime Manager, select *Flex Gateways* from the side navigation panel. -+ -Your registered Flex Gateway now appears in the list of gateways. - -== Run Flex Gateway - -To run Flex Gateway, run the following in a terminal window: - -[source,ssh] ----- -docker run --rm \ - -v "$(pwd)":/usr/local/share/mulesoft/flex-gateway/conf.d \ - -p 8081:8081 \ - mulesoft/flex-gateway ----- - -[NOTE] -Use `sudo` if you encounter file permission issues when running this command. - -A new Flex Gateway instance is now running in your terminal window. - -[NOTE] -The Flex Gateway instance will continue running in the terminal window until the process is stopped, or until the window is closed. - -== Publish a Simple API - -. Select *API Manager* from the Anypoint Platform menu. -. Click *Add API*, followed by *Add new API*: -+ -image::gateway-quickstart-add-new-api.png["Add new API page with Add new API selected",width=35%] - -. From the *Add API* page, select *Flex Gateway* as your runtime. -. Select your registered gateway in the *Select a gateway* section. -. Click *Next*. -+ -The following screenshot of the *Add API* page highlights the specified options: -+ -image::gateway-quickstart-select-gateway-for-api.png["Add API page with Flex Gateway Runtime and my-gw gateway selected",width=100%] - -. Click *Create New API*. -. Specify an API name and select *HTTP API* as the asset type. -. Click *Next*. -. From the *Endpoint* page, enter the following in the *Implementation URI* field: -+ -[source] ----- -https://jsonplaceholder.typicode.com/ ----- -. Enter `8081` in the *Port* field. -. Click *Next*. -+ -// The following screenshot of the *Endpoint* page highlights the specified options. -// + -// image::gateway-quickstart-select-endpoint.png["Screenshot of 'Endpoint' page",width=100%] - -. Click *Save & Deploy*. -+ -Inside the gateway instance Docker container, all HTTP requests made to `localhost` on port `8081` are now proxied to the `jsonplaceholder` service. -. To test the API Instance, run the following command in a new terminal window: -+ -[source,ssh] ----- -curl -s -o /dev/null -w "%{http_code}\n" --request GET 'http://localhost:8081/' ----- -+ -The command executes a `GET` request to the API, and then prints the resulting `200` status code, indicating success. - -== Secure Your API Using the Basic Authentication Policy - -. While still in *API Manager*, select *API Administration* from the side navigation panel. -. Select the name of the API created in the previous section. -. Select *Policies* from the side navigation panel. -. In the *Policies* page, click *Add policy*. -+ -The following screenshot of the *Policies* page highlights the specified options: -+ -image::gateway-quickstart-add-policy.png["Add Policy page with Add policy button",width=65%] - -. Select the *Basic Authentication - Simple* policy. -. Click *Next*. -. For *User Name*, enter `user`. -. For *User Password*, enter `password`. -. Click *Apply*. -+ -The following screenshot of the *Configure Basic Authentication - Simple policy* page highlights the specified options: -+ -image::gateway-quickstart-config-basic-auth.png["Configure Basic Authentication Policy page with User Password field selected",width=65%] - -. To test the API Instance _without_ authentication, run the following `curl` command in the terminal window: -+ -[source,ssh] ----- -curl -s -o /dev/null -w "%{http_code}\n" --request GET 'http://localhost:8081/' ----- -+ -The command prints a resulting `401 (Unauthorized)` status code, because the request does not include the Authentication context. -. To test the API Instance _with_ authentication, run the following command in the terminal window: -+ -[source,ssh] ----- -curl -s -o /dev/null -w "%{http_code}\n" --request GET 'http://localhost:8081/' -u user:password ----- -+ -[NOTE] -The `user` and `password` parameters must match what was specified when you applied the policy via *API Manager*. -+ -The command prints the resulting `200` status code, indicating success. - -== Next Steps - -* xref:flex-review-prerequisites.adoc[] -* xref:flex-gateway-set-up.adoc[] diff --git a/gateway/1.6/modules/ROOT/pages/flex-gateway-k8-change-helm-settings.adoc b/gateway/1.6/modules/ROOT/pages/flex-gateway-k8-change-helm-settings.adoc deleted file mode 100644 index 2db01d38b..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-gateway-k8-change-helm-settings.adoc +++ /dev/null @@ -1,228 +0,0 @@ -= Update Pod Settings for a Flex Gateway Deployment Through a Helm Chart - -Change requirements for a Pod that contains a Flex Gateway deployment. The example in this guide sets the following CPU and memory requirements in the Helm chart for a Flex Gateway deployment: - -* `resources.limits.cpu=1500m` -* `resources.limits.memory=2048Mi` -* `resources.requests.cpu=260m` -* `resources.requests.memory=384Mi` - -Use this example as a guide to updating values in the Helm chart for your Flex Gateway deployment. - -Find the default Helm chart settings for Flex Gateway through one of the following methods: - -* Open the *flex-gateway* page in https://artifacthub.io/packages/helm/flex-gateway/flex-gateway[ArtifactHUB^] -* Run `helm show values <repository-name>/<chart-name>` from a terminal window, for example, `helm show values flex-gateway/flex-gateway`. - -For details about CPU and memory resource settings, see the https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/[Kubernetes documentation^]. - -== Before You Begin - -Register and deploy Flex Gateway to a Kubernetes cluster. For guidance, see xref:flex-gateway-set-up.adoc[] or xref:flex-gateway-k8-getting-started.adoc[]. - -[[update-cpu-memory-example]] -== Check the Current Settings of Your Helm Chart - -Before updating settings for a Pod that contains a Flex Gateway deployment, check the Pod's settings for the current deployment. - -. Ensure that your Helm repository is up and available by running the following command from a terminal window: -+ -[source,helm] ----- -helm repo up ----- -+ -//TODO: Link to troubleshooting info for this once it's moved to the Troubleshooting section (from getting started for k8). - -. Find the `REVISION` number of the latest deployment. -+ -The following example requests the history of the `ingress` release in the `gateway` namespace: -+ -[source,helm] ----- -helm history ingress -n gateway ----- -+ -The command returns a result similar to this one: -+ ----- -REVISION UPDATED STATUS CHART APP VERSION DESCRIPTION -1 Mon Mar 27 09:36:20 2023 superseded flex-gateway-1.4.2 1.4.2 Upgrade complete -2 Mon Mar 27 11:40:56 2023 deployed flex-gateway-1.4.2 1.4.2 Upgrade complete ----- - -. Check for `USER-SUPPLIED VALUES` settings for `resources` in the currently deployed revision: -+ -.Command Syntax: ----- -helm get values --revision= -n ----- -+ -.Example: -[source,helm] ----- -helm get values --revision=2 ingress -n gateway ----- -+ - -The following example shows the `resources` settings for the Pod's CPU and memory below the Pod's `registration` data: -+ ----- -USER-SUPPLIED VALUES: -registration: - ... -resources: - limits: - cpu: 1000m - memory: 2024Mi - requests: - cpu: 250m - memory: 256Mi ----- -+ -This example displays settings from `REVISION` number `2`. The output displays only revised settings. If your chart has never revised the default Helm chart values, _no_ revisions appear in the output. - -. Use one of the following procedures to change settings in the Helm chart for your Flex Gateway deployment: - -* <> uses `--set` options in a `helm upgrade` command. The command allows multiple `--set` options. -* <> passes a configuration file with multiple settings though the `-f` option to `helm upgrade`. The command allows multiple `-f` options. - -[[use-helm-set-option]] -== Modify Settings for Your Helm Chart - -After following the steps in <>, use the `--set` option to pass new values individually to the Helm chart for your Flex Gateway deployment. Alternatively, follow the procedure in <>. - -. Change the `cpu` and `memory` values by using the `helm upgrade` command. -+ -.Syntax: ----- -helm -n upgrade \ ---wait \ ---reuse-values \ -/ \ ---set = ---set = -... ----- -+ -.Example: -[source,helm] ----- -helm -n gateway upgrade ingress \ ---wait \ ---reuse-values \ -flex-gateway/flex-gateway \ ---set resources.limits.cpu=1500m \ ---set resources.limits.memory=2048Mi \ ---set resources.requests.cpu=260m \ ---set resources.requests.memory=384Mi ----- -+ -When successful, the command returns output similar to this: -+ ----- -Release "ingress" has been upgraded. Happy Helming! -NAME: ingress -LAST DEPLOYED: Mon Mar 27 11:58:36 2023 -NAMESPACE: gateway -STATUS: deployed -REVISION: 3 -TEST SUITE: None ----- - -. Using the new `REVISION` value, check the `resources` settings, for example: -+ -[source,helm] ----- -helm get values --revision=3 ingress -n gateway ----- -+ -The output displays the new `resources` settings for the Pod: -+ ----- -USER-SUPPLIED VALUES: -registration: - ... -resources: - limits: - cpu: 1500m - memory: 2048Mi - requests: - cpu: 260m - memory: 384Mi ----- - -[[use-helm-f-option]] -== Provide a File with Modified Settings for Your Helm Chart - -After following the steps in <>, use the `-f` option with `helm upgrade` to identify the file that contains new Helm chart settings for your Flex Gateway deployment. Alternatively, follow the procedure in <>. - -. Create a configuration file that contains your new settings. -+ -For example, create a YAML file named `my-config-file.yaml` that contains the new `cpu` and `memory` values: -+ -[source,yaml] ----- -resources: - limits: - cpu: 1500m - memory: 2048Mi - requests: - cpu: 260m - memory: 384Mi ----- - -. Pass the new values from your configuration file to your Helm chart, for example: -+ -.Syntax: ----- -helm -n upgrade \ ---wait \ ---reuse-values \ -/ \ --f ----- -+ -.Example: -[source,helm] ----- -helm -n gateway upgrade ingress \ ---wait \ ---reuse-values \ -flex-gateway/flex-gateway \ --f my-config-file.yaml ----- -+ -When successful, the command returns output similar to this: -+ ----- -Release "ingress" has been upgraded. Happy Helming! -NAME: ingress -LAST DEPLOYED: Mon Mar 27 16:38:07 2023 -NAMESPACE: gateway -STATUS: deployed -REVISION: 4 -TEST SUITE: None ----- - -. Using your Helm repository and chart names, verify the update to your chart, for example: -+ -[source,helm] ----- -helm get values --revision=4 ingress -n gateway ----- -+ -The output displays the new `resources` settings for the Pod: -+ ----- -USER-SUPPLIED VALUES: -registration: - ... -resources: - limits: - cpu: 1500m - memory: 2048Mi - requests: - cpu: 260m - memory: 384Mi ----- diff --git a/gateway/1.6/modules/ROOT/pages/flex-gateway-k8-external-dns.adoc b/gateway/1.6/modules/ROOT/pages/flex-gateway-k8-external-dns.adoc deleted file mode 100644 index b41ab95a9..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-gateway-k8-external-dns.adoc +++ /dev/null @@ -1,135 +0,0 @@ -= Provide a Domain Name for an Application on Your Kubernetes Cluster - -Use ExternalDNS to expose an application or service on your Kubernetes cluster through a domain name instead of a difficult-to-understand external IP or random host name. - -https://github.com/kubernetes-sigs/external-dns/blob/master/README.md[ExternalDNS^] is an open source project that supports DNS configurations on many DNS providers. The tool is _not_ a DNS server or provider. Instead, ExternalDNS discovers Kubernetes resources through public DNS servers and configures the resources for supported DNS providers. - -This guide uses ExternalDNS to configure domain names in an AWS Route 53 provider, which is one of the stable providers supported by ExternalDNS. - -== Before You Begin - -Ensure that the following prerequisites are in place: - -* A Kubernetes cluster on AWS - -* A Flex Gateway deployment to an AWS cluster or a registered Flex Gateway instance (gateway) -+ -For gateway registration and deployment processes, see xref:flex-gateway-set-up.adoc[] or xref:flex-gateway-k8-getting-started.adoc[]. - -* An AWS Identity and Access Management (IAM) policy that allows ExternalDNS to update Amazon Route 53 Resource Record Sets and Hosted Zones -+ -To use another target or create the IAM Policy with these permissions, see the https://github.com/kubernetes-sigs/external-dns/blob/master/docs/tutorials/aws.md[ExternalDNS documentation^]. - -== Add ExternalDNS to Your Cluster - -Add ExternalDNS (`external-dns`) to your cluster by creating and deploying a YAML configuration file with the following content to your cluster: - -. Create a YAML file with the following settings. -+ -[source,yaml] ----- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: external-dns - labels: - app.kubernetes.io/name: external-dns -spec: - strategy: - type: Recreate - selector: - matchLabels: - app.kubernetes.io/name: external-dns - template: - metadata: - labels: - app.kubernetes.io/name: external-dns - spec: - containers: - - name: external-dns - image: registry.k8s.io/external-dns/external-dns:v0.13.1 - args: - - --source=service - - --source=ingress - - --domain-filter= # makes only hosted zones visible - - --provider=aws - - --policy=upsert-only # prevents record deletion - - --aws-zone-type=public # public zones only - - --registry=txt - - --txt-owner-id=my-hostedzone-identifier - env: - - name: AWS_DEFAULT_REGION - value: # sets the EKS region - # # Uncomment the following settings when using static credentials - # - name: AWS_SHARED_CREDENTIALS_FILE - # value: /.aws/credentials - # volumeMounts: - # - name: aws-credentials - # mountPath: /.aws - # readOnly: true - # volumes: - # - name: aws-credentials - # secret: - # secretName: external-dns ----- - -. In your new YAML file, set the following options, as needed, for your deployment: - -* `args` options: - -** `- --domain-filter=`: Make hosted zones that match your domain visible to ExternalDNS. Omit this option to process all available hosted zones. -+ -The option is critical for making `external-dns` work as intended. - -** `- --policy=upsert-only`: Prevent ExternalDNS from deleting any records. Omit this option to enable full synchronization. - -** `- --aws-zone-type=public`: Make only public hosted zones visible. Valid values are `public`, `private`, or no value for both types of zones. - -* `env` option `value: `: Set the region in which your EKS cluster is installed, for example, `us-east-1`. - -. If you are using static credentials, remove the comments (`#`) from the lines that contain hidden `env` and `volumes` configurations. - -. Apply the configuration to your cluster by using the following command from a terminal window: -+ -[source,kubctl] ----- -kubectl create --filename --namespace ----- - -== Set DNS Names through Your Helm Chart for Flex Gateway - -Use the `extraAnnotations` parameter with `helm upgrade` to set the domain names. This parameter is described in the https://artifacthub.io/packages/helm/flex-gateway/flex-gateway[Helm chart for Flex Gateway (flex-gateway)^]. - -. Create a YAML configuration file to specify an ExternalDNS key and a comma-separated set of domain values. -+ -Replace the placeholder values `,...,` with your domains: -+ ----- -extraAnnotations: - external-dns.alpha.kubernetes.io/hostname: ,..., ----- - -. Use the `-f` option to pass your configuration file to the `helm upgrade` command. -+ -The command options to use depend on whether your registered gateway is deployed to a cluster: - -.. If you are deploying Flex Gateway to the cluster for the first time, run the following command, replacing the placeholder values with the path to your gateway's registration YAML file (by default, `registration.yaml`) and your domain names: -+ -[source,helm] ----- -helm -n gateway upgrade \ --i --create-namespace \ ---wait ingress flex-gateway/flex-gateway \ ---set-file registration.content= \ --f ----- - -.. If you are updating a running gateway with the annotation, run the following command: -+ -[source,helm] ----- -helm -n gateway upgrade \ ---wait ingress flex-gateway/flex-gateway \ ---reuse-values \ --f ----- diff --git a/gateway/1.6/modules/ROOT/pages/flex-gateway-k8-getting-started.adoc b/gateway/1.6/modules/ROOT/pages/flex-gateway-k8-getting-started.adoc deleted file mode 100644 index 0baaf1ea2..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-gateway-k8-getting-started.adoc +++ /dev/null @@ -1,608 +0,0 @@ -= Getting Started with Flex Gateway in a Kubernetes Cluster -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:reg-mode: Connected - -Get started with Anypoint Flex Gateway in a Kubernetes cluster or an OpenShift cluster, which is based on Kubernetes. Set up a Flex Gateway deployment that connects to Anypoint Platform, and use the deployment to route traffic to your API. This guide covers the following high-level tasks: - -* Downloading, registering, and deploying Flex Gateway in xref:flex-conn-reg-run-token.adoc#k8-token[Connected Mode] with a token -* Creating a simple API in Anypoint API Manager that runs on your gateway -* Protecting the API with a basic authentication policy that you configure in API Manager - -The Flex Gateway deployment process requires a working Kubernetes cluster that you create or that is provisioned for you by a Kubernetes professional. - -Setting up a Kubernetes cluster requires a level of skill and expertise that is _beyond the scope of this guide to provide_. Cluster configuration in Kubernetes differs significantly by service provider and platform. For cluster configuration questions, consult documentation from your Kubernetes service provider or use the https://kubernetes.io/docs/setup/[Kubernetes documentation^]. - -If you lack a Kubernetes cluster but want to try out Flex Gateway quickly, without creating a cluster, see xref:flex-gateway-getting-started.adoc[Getting Started with Flex Gateway] (on Docker). That guide uses Docker exclusively and does not require you to perform any cluster configuration. - - -== Before You Begin - -Before starting the procedures in this guide, ensure that the following prerequisites are in place: - -* A username and password for your Anypoint Platform organization. If you do not have an Anypoint Platform account, https://anypoint.mulesoft.com/login/signup[create a Trial organization^] on Anypoint Platform. - -//docker prereq -* {empty} -include::partial$prerequisites.adoc[tag=docker] -+ -Run `docker --version` from a terminal window to determine if this tool is installed. If you need to install Docker, try https://www.docker.com/[Docker Desktop^]. - -//helm prereq -* {empty} -include::partial$prerequisites.adoc[tag=helm] -+ -Run `helm version` from a terminal window to determine if this tool is installed and check the version. To install or upgrade, use the https://helm.sh/[Helm^] website. - -//kubectl prereq to select cluster prior to deployment -* {empty} -include::partial$prerequisites.adoc[tag=kubectl] -+ -Run `kubectl version --output=yaml` from a terminal window to determine if this tool is installed. If not, find `kubectl` among the installation tools available through the https://kubernetes.io/docs/tasks/tools/[Kubernetes documentation^]. - -//curl prereq to test the API with flex -* {empty} -include::partial$prerequisites.adoc[tag=curl] -+ -Run `curl --version` from a terminal window to determine if this tool is installed. If not, you can download it with a package manager for your machine. - -[[kubernetes-cluster-reqs]] -== Cluster Requirements - -The host for your Kubernetes cluster can be any xref:flex-review-prerequisites.adoc#software-requirements[supported Kubernetes provider], including common cloud-based services, such as Amazon Elastic Kubernetes Service (EKS), Azure Kubernetes Service (AKS), or Google Kubernetes Engine (GKE). - -//cluster-level access when rbac enabled, as for OpenShift -include::partial$prerequisites.adoc[tags=rbac-permission-k8;rbac-role-openshift] - -To complete the procedures in this guide, you must create a Kubernetes cluster or use an existing one for your Flex Gateway deployment. In this guide, you use Helm to deploy Flex Gateway to a Kubernetes cluster and connect it to Anypoint Platform. - -[[min-cluster-reqs]] -The following minimum requirements apply to a small Kubernetes cluster used for demonstration purposes in this guide and _do not apply to requirements of a production environment_: -//TODO: POINT TO PROD REQUIREMENTS ONCE THEY ARE AVAILABLE. -//Create story - -* At least one node. - -* Support for the creation of a `Service` resource of the `LoadBalancer` type. -+ -This requirement avoids deployment errors when you use this guide. However, it is possible to customize the `Service` type when deploying a gateway. Flex Gateway supports the following services: `ClusterIP`, `NodePort`, `LoadBalancer` (default), `ExternalName`. See the `service.type` key in the https://artifacthub.io/packages/helm/flex-gateway/flex-gateway[Helm chart for Flex Gateway^]. - -//TODO: TBD, MAYBE REMOVE THESE NUMBERS UNTIL PERF HAS A RECOMMENDATION -* Compute resources needed for the deployment procedure are _very unlikely_ to exceed the following values (equivalent to the EKS t3.micro instance type): - -** vCPU: 2 vCPUs -** Memory: 1 GiB -** Network: Up to 5 Gigabit -** Max ENI: 2 -** Max IPs: 4 - -To determine whether your cluster is ready for the <>, review <> _before starting_ the deployment. The checks require you to run a set of `kubectl` commands. - -[[download-flex]] -== Step 1: Download the Flex Gateway Image - -Use Docker to download the Flex Gateway image from the Docker Hub registry. - -This procedure is a prerequisite to registering the Flex Gateway with Anypoint Platform in <>. Registration is required during the gateway deployment through Helm in <>. - -. Check that Docker is running by executing the following command in a terminal window: -+ -[source,docker,subs=attributes+] ----- -docker info ----- -+ -If you receive an error after executing this command, see the information about <>. -. Run the following command in a terminal window: -+ -[source,docker,subs=attributes+] ----- -docker pull mulesoft/flex-gateway:{gateway-ver-var} ----- -+ -When successful, this command prints a message similar to the following one in your terminal window: -+ ----- -latest: Pulling from mulesoft/flex-gateway -Digest: sha256:e55555abcdefg1234567zxynwo33333fadjf -Status: Image is up to date for mulesoft/flex-gateway:latest -docker.io/mulesoft/flex-gateway:latest ----- -+ -Use `sudo` if you encounter permission issues when running this command. - -[[register-flex]] -== Step 2: Register Flex Gateway - -Register the Flex Gateway image from a terminal window using a temporary token generated by Anypoint Runtime Manager. This procedure produces a local `registration.yaml` file that contains registration properties for a named gateway. These properties are incorporated into a Helm chart in <>. - -. From a terminal window, prepare a directory for a Flex Gateway registration file (`registration.yaml`). -.. Create a directory: -+ -[source,mkdir] ----- -mkdir flex-registration ----- -.. Navigate to the new directory: -+ -[source,cd] ----- -cd flex-registration ----- - -. Log in to https://anypoint.mulesoft.com/login/[Anypoint Platform^] and select *Runtime Manager*. -. From Runtime Manager, locate the procedure for registering Flex Gateway: -.. Click *Flex Gateways* in the side navigation panel. -.. Click *Add Gateway*. -.. Select one of the following environments: -+ -* *Kubernetes* -* *OpenShift* -.. In the page that opens, locate the command in the *Register your gateway* section. -+ -Kubernetes Example: -+ -image::gateway-quickstart-k8-add-gateway-rtm.png["Add registration code block from Add a Flex Gateway page"] -+ -The highlighted command block includes your unique organization ID and a temporary token. - -. In your terminal window, copy the command block from Runtime Manager to your `./flex-registration` directory. -+ -Notice that Runtime Manager provides the required organization and token values. - -. Before running the command, replace `` at the end of the command block with a _unique_ name for your gateway, such as `my-gateway`. -+ -The name that you provide for your gateway must be unique within the scope of your Anypoint Platform organization and environment. Completing this registration step is required once _and allowed no more than once_ per named gateway and organization. - -. Run the edited command from your terminal window. -+ -When successful, the command produces a `registration.yaml` in your `./flex-registration` directory and displays the following message in your terminal window: -+ ----- -Starting registration, please be patient. -Registration completed, the configuration files were written -in directory "/registration". For security, modify the file permissions -to restrict production scenario access to the user running flex. ----- -+ -Note that the message in the terminal window refers to a `/registration` directory that resides within the Docker container. -+ -Use `sudo` if you encounter file permission issues when running this command. If your token expires before you run the command, a `400 Bad Request` error occurs. In this case, you must refresh the Runtime Manager page to generate a new token and run the modified command that appears on the page. - -[[create-repo]] -== Step 3: Add a Repository for the Helm Chart - -Add the Flex Gateway chart repository. Note that you can get more information about the properties of the Helm chart for Flex Gateway in https://artifacthub.io/packages/helm/flex-gateway/flex-gateway[ArtifactHUB^]. - -. Add a Helm repository named `flex-gateway` for your Helm chart: -+ -[source,helm] ----- -helm repo add flex-gateway https://flex-packages.anypoint.mulesoft.com/helm ----- -+ -The command either adds the repository or skips this process if a Helm repository with that name already exists on your machine: -+ -* If the repository is new, the command returns the following message: -+ ----- -"flex-gateway" has been added to your repositories ----- -+ -* If the repository already exists, the command returns the following message: -+ ----- -"flex-gateway" already exists with the same configuration, skipping ----- - -. Run `helm repo up`. -+ -The command returns the following message: -+ ----- -Hang tight while we grab the latest from your chart repositories... -...Successfully got an update from the "flex-gateway" chart repository -Update Complete. ⎈Happy Helming!⎈ ----- -+ -If you have more than one Helm repository on your machine, the message in your terminal window lists all of the repositories. - -[[deploy-flex]] -== Step 4: Deploy and Connect Flex Gateway - -Use Helm to deploy Flex Gateway to a node in your cluster and connect it to Anypoint Platform. After deploying, use Runtime Manager to verify that the gateway is present and connected to Anypoint Platform. - - -Before you begin: - -Confirm that your Kubernetes cluster is available by following the steps in <>. Review <> if you have not done so already. These prerequisites help avoid deployment errors. - -After confirming that your Kubernetes cluster is ready, deploy and connect your gateway: - -. Run the Helm command for deploying your gateway in {reg-mode} Mode: -+ -[source,helm] ----- -helm -n gateway upgrade -i --create-namespace \ ---wait ingress flex-gateway/flex-gateway \ ---set gateway.mode=connected \ ---set-file registration.content=registration.yaml ----- -+ -This command creates the `gateway` namespace and `ingress` release if they do not exist. The command syntax for the Helm repository and chart names is `/`. -+ -The command uses `--set gateway.mode=connected` because the default for the Helm chart is Local Mode. -+ -When you install Flex Gateway, a Service type `LoadBalancer` is created by default. You must have the appropriate permissions to create a load balancer in your cloud. If the load balancer is not provisioned or has issues with the provisioning process, you must choose another type by changing the `service.type` property during the installation. -+ -When successful, the command prints a message indicating an upgrade to your `ingress` release: -+ ----- -Release "ingress" does not exist. Installing it now. -NAME: ingress -LAST DEPLOYED: Mon Mar 20 21:36:19 2023 -NAMESPACE: gateway -STATUS: deployed -REVISION: 1 -TEST SUITE: None ----- -+ -The `REVISION` value increments the `ingress` release by `1` each time you run this command with the same namespace, repository, and chart names. For example, if you run the command a second time, you find a new revision number (`REVISION: 2`). The `LAST DEPLOYED` date reflects the date of that revision. -+ -If you receive an `UPGRADE FAILED` response, see <> information about this issue. - -. If you want to check the status of the Pod that runs your gateway, execute the following `kubectl` command: -+ -[source,kubectl] ----- -kubectl get pods -n gateway ----- -+ -The output indicates whether the pod is running successfully in the `gateway` namespace: -+ ----- -NAME READY STATUS RESTARTS AGE -ingress-57bc75cb46-dmkdq 1/1 Running 0 35s ----- - -. Return to Runtime Manager: -.. Select *← Flex Gateways* from the side navigation panel of the *Add a Flex Gateway* page. -+ -image::gateway-quickstart-k8-return-to-gateway-list.png["Return to Flex Gateway list in Runtime Manager"] -.. Navigate to your registered gateway in the *Flex Gateways* page: -+ -image::gateway-quickstart-k8-my-gateway-rtm.png["Flex Gateway my-gateway in Runtime Manager"] -+ -You can use the search field in the page to narrow the list of gateways. - -.. Make sure that the status of your gateway is *Connected*. -+ -If the status is *Disconnected*, it is likely that the cluster configuration is incorrect or a network issue occurred. Check <> for more information. -//TODO: COVER BOTH TYPES OF ISSUES; MAKE SURE MOST COMMON ARE COVERED -// don't have network-related troubleshooting yet; -// so have some config troubleshooting - -[[create-api]] -== Step 5: Publish and Deploy a Simple API to Flex Gateway - -Create and deploy a simple API to your gateway in Anypoint API Manager: - -. In Runtime Manager, click the *View APIs* menu option for your gateway to navigate to its *View APIs* page. -+ -image::gateway-quickstart-k8-view-apis.png["View APIs menu item for Flex Gateway"] -+ -Alternatively, you can navigate to API Manager from the Anypoint Platform menu. -. From the page that opens, click *Add API* (and if present, *Add new API*) to navigate to the *APIs / Add API* page in API Manager. -. From *APIs / Add API*, configure an API by working through the API configuration pages, starting with the *Runtime* configuration: -+ -image::gateway-quickstart-k8-select-gateway-for-api.png["Add API page with Flex Gateway Runtime and my-gateway selected"] -+ -.. From the *Runtime* configuration page, select *Flex Gateway* as your runtime. -.. Find and select your gateway in the *Select a gateway* area of the page. -+ -Use the search field to locate it, if necessary. -.. Click *Next* to open the *API* page. - -. In the *API* configuration page associated with *APIs / Add API*, provide an API name and asset type: -+ -image::gateway-quickstart-k8-api-config-api.png["Screenshot of 'API' page",width=60%] -+ -.. Click *Create new API*. -+ -The remaining procedures walk you through steps for creating and testing a new HTTP API in Anypoint Exchange. Notice, however, that it is also possible to select an existing API from Exchange from this page. That process is described in the xref:api-manager::create-instance-task-flex.adoc#add-a-new-api[Add a New API] in the API Manager documentation. -+ -.. Provide an API name, such as *my-api*. -.. Select *HTTP API* as the asset type. -.. Click *Next* to open the *Endpoint* configuration page. - -. In the *Endpoint* page associated with *APIs / Add API*, set up an endpoint for your API: -+ -image::gateway-quickstart-k8-api-config-endpoint.png["Screenshot of 'Endpoint' page",width=90%] -+ -.. For the *Scheme*, use the default, *HTTP* setting. -+ -This guide focuses on a simple HTTP API. For HTTPS configuration details, see xref:flex-conn-tls-config.adoc[]. -.. Copy the following URI into the *Implementation URI* field: -+ -[source] ----- -https://jsonplaceholder.typicode.com/ ----- -.. Type `80` in the *Port* field. -+ -The example in this guide uses HTTP port `80` instead of the API Manager default port, `8081`, because the created `Service` maps incoming port `80` to target port `80` on the Pod. See the `service.http.port` key in the https://artifacthub.io/packages/helm/flex-gateway/flex-gateway[Helm chart for Flex Gateway^]. - -.. Click *Next* to open the *Review* page. - -. In the *Review* page associated with *APIs / Add API*: -.. Review your API configuration. -.. If necessary, use *Edit* to revise any configurations. -.. When your configuration is correct, click *Save & Deploy*. -+ -Inside the gateway, all incoming HTTP requests on port `80` are proxied to the `jsonplaceholder` service. -. From a terminal window, test the API instance: -.. Get your external IP address and use it to check that your IP redirects to the *Implementation URI*: -+ -[source,kubectl] ----- -kubectl -n gateway get services ----- -+ -The command returns a result that looks similar to this example: -+ -[[get-services]] ----- -NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE -ingress LoadBalancer 10.100.145.109 <123456.aws.com> 80:30524/TCP,443:31710/TCP 7d7h ----- -+ -The `EXTERNAL-IP` value `<123456.aws.com>` is an example and not an actual value. -+ -.. Run the following `curl` command, replacing `` with _your_ `EXTERNAL-IP` from the preceding step: -+ -[source,curl] ----- -curl -s -o /dev/null -w "%{http_code}\n" --request GET 'http://:80/users' ----- -+ -The command executes a `GET` request to the API and prints a success code: -+ ----- -200 ----- -+ -You can also run a simpler `curl` command to return an array of JSON objects from the service's `/users` endpoint, for example: -+ -[source,curl] ----- -$ curl http://:80/users ----- - -== Step 6: Secure Your API Using the Basic Authentication Policy - -Use API Manager to add a basic authentication policy to your API. - -. In *API Manager*, select *API Administration* from the side navigation panel. -. Find and click the name of the API that you created in <>, such as *my-api*. -. Navigate to the *Policies* page for your API: -.. Select *Policies* from the side navigation panel. -.. On the *Policies* page, click *Add policy*. -+ -image::gateway-quickstart-add-policy.png["Add Policy page with Add policy button",width=90%] -. In the page that opens, find the *Security* policy called *Basic Authentication - Simple* policy. -+ -image::gateway-quickstart-k8-basic-auth.png["Add a policy page",width=90%] -+ -Be careful to avoid selecting the similarly named policy for LDAP. -. Click *Next*. -. Configure a Basic Authentication policy: -+ -image::gateway-quickstart-config-basic-auth.png["Screenshot of 'Configure Basic Authentication - Simple policy' page",width=80%] -+ -.. For *User Name*, enter `user` instead of your real user name. -+ -If the field is pre-populated with a value, you can keep the value or change it to the suggested value. -+ -.. For *User Password*, enter `pw`. -+ -If the field is pre-populated with a value, you can keep the value or change it to the suggested value. -+ -.. Click *Apply*. - -. Test the API instance: -.. Use `kubectl` to get your external IP address again so that you can use it in the next step: -+ -[source,kubectl] ----- -kubectl -n gateway get services ----- -.. Run the following `curl` a command _without_ authentication parameters, replacing `` with the `EXTERNAL-IP` returned by preceding step: -+ -[source,curl] ----- -curl -s -o /dev/null -w "%{http_code}\n" --request GET 'http://:80/users' ----- -+ -The command returns a `401` because the URI lacks authentication parameters: -+ ----- -401 ----- -+ -.. Run the following `curl` a command _with_ authentication parameters, replacing `` with your `EXTERNAL-IP` from the preceding step: -+ -[source,curl] ----- -curl -s -o /dev/null -w "%{http_code}\n" --request GET 'http://:80/users' -u user:pw ----- -+ -The command prints the resulting `200` status code, indicating success: -+ ----- -200 ----- -+ -The `user` and `password` parameters (`user:pw`) must match the values you specified when you applied the policy. If you enter incorrect authentication parameters, the following error occurs: -+ ----- -401 ----- -+ -To address the error, run the command with the correct authentication parameters, or return to the policy configuration page for your API in API Gateway, edit the policy configuration, and rerun the `curl` commands. -+ -image::gateway-quickstart-k8-config-basic-auth-edit-dialogue.png["Screenshot of 'Configure Basic Authentication - Simple policy' edit dialogue",width=90%] -+ -The page for editing the credentials looks similar to this one: -+ -image::gateway-quickstart-k8-config-basic-auth-edit.png["Screenshot of 'Configure Basic Authentication - Simple policy' configuration page",width=90%] - - -[[troubleshooting-k8]] -== Troubleshooting -//iterative troubleshooting info to add as needed: - -If you encounter an error when running a command, check for troubleshooting information: - -<> | <> - -[[docker-troubleshooting]] -=== Docker Command Issues - -//intro -include::partial$troubleshoot.adoc[tags=troubleshoot-docker-intro] - -[[daemon-bad-response]] -==== Docker Daemon Error - -//error -include::partial$troubleshoot.adoc[tags=troubleshoot-docker-daemon-bad-response] - -[[bad-request]] -==== Reg Facade Error (400 Bad Request) - -//error -include::partial$troubleshoot.adoc[tags=troubleshoot-docker-bad-request] - -[[helm-troubleshooting]] -=== Helm Command Issues - -[[troubleshoot-helm-intro]] -//intro -include::partial$troubleshoot.adoc[tags=troubleshoot-helm-intro] - -[[troubleshoot-helm-yaml-empty]] -==== Upgrade Failed: Execution Error -//error: -include::partial$troubleshoot.adoc[tags=troubleshoot-helm-yaml-empty] - -[[troubleshoot-helm-upgrade-failed]] -==== Upgrade Failed: Timed Out -//error: -include::partial$troubleshoot.adoc[tags=troubleshoot-helm-upgrade-failed] - -[[troubleshoot-helm-cluster-unreachable]] -==== Kubernetes Cluster Unreachable -//error: -include::partial$troubleshoot.adoc[tags=troubleshoot-helm-cluster-unreachable] - -See <> for additional information. - -[[troubleshoot-helm-openshift-rbac]] -==== Failed to Install CRD -//error: -include::partial$troubleshoot.adoc[tags=troubleshoot-helm-openshift-rbac] - -See <> for additional information. - -[[check-cluster]] -== Check Your Cluster - -Before deploying Flex Gateway to your Kubernetes cluster in <>, ensure that your cluster is ready. Use `kubectl` to list and select (use) a cluster and to get a list of nodes that the cluster uses. If any steps in this section fail, the deployment process is likely to produce errors. - -To prevent potential timeout and connectivity errors when running procedures in this guide, your cluster must meet the <>. - -. Run `kubectl config get-contexts` to list the clusters, for example: -+ -[source,kubectl] ----- -kubectl config get-contexts ----- -+ -This command is particularly helpful if you have multiple Kubernetes clusters. You can use the command to get the name of the correct cluster. For example, assume that you have a variety of clusters (`my-cluster`, `my-aks`, `my-gke`, `my-eks`). The command prints a list of your clusters. -+ -The following _example_ shows a list of clusters produced by the command: -+ ----- -CURRENT NAME CLUSTER AUTHINFO NAMESPACE - my-cluster my-cluster my-cluster1 - my-aks my-aks my-aks - my-gke my-gke my-gke - my-eks my-eks my-eks ----- -+ -If your cluster is not listed and you are using a custom cluster context file on your machine to connect to your cluster, you might need to add its path to a `KUBECONFIG` environment variable that points to that file. By default, `kubectl` searches for a file named `config` in the `$HOME/.kube` directory. That file lists each `context`, which provides properties such as the cluster name, user, and certificate authority data. -+ -You can check by running `echo $KUBECONFIG` from your terminal window, which prints a environment variable's value, similar to this example: -+ ----- -{KUBECONFIG}:/Users/me/.kube/config:/Users/me/.kube/additional-clusters/my-gke:/Users/me/.kube/additional-clusters/my-aks:/Users/me/.kube/additional-clusters/my-eks ----- -+ -Adding the path to any additional cluster context files on your machine enables the `kubectl config get-contexts` command to list the cluster contexts and for you to use them. -+ -For more detail, see the https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/[Kubernetes documentation^] about the `kubeconfig` file. - -. Provide the name of a cluster into which you plan to deploy your gateway. -+ -The following example uses the cluster `my-eks`, identified in the cluster list example: -+ ----- -kubectl config use-context my-eks ----- -+ -The command switches to the selected cluster context and prints a message similar to this one: -+ ----- -Switched to context "my-eks". ----- -+ -If you receive an error that begins `error: no context exists with the name`, ensure you are using the `NAME` value of the cluster listed by `kubectl config get-contexts` and not the `CLUSTER` value. - -. Check that your cluster has one or more nodes: -+ -[source,kubectl] ----- -kubectl get nodes ----- -+ -The command returns a output similar to this example: -+ ----- -NAME STATUS ROLES AGE VERSION -ip-192-168-70-170 Ready 17h v1.x.x -ip-192-168-9-230 Ready 17h v1.x.x ----- -+ -Make sure that at least one node is in the `Ready` status. -//TODO: WHAT specifically TO DO IF NOT Ready? -//TODO: WHAT OTHER CHARACTERISTICS should they check for? -// Can we check whether the node can create an Service resource of LoadBalancer type, for ex? - -. If your cluster is not ready, correct the cluster configuration. -+ -Alternatively, try the Docker-only guide, xref:flex-gateway-getting-started.adoc[], which does not use a Kubernetes cluster, and skip the next steps. - -. If you have not started the Flex Gateway setup procedures yet, review <> before proceeding to <>. - -. If you have successfully completed all the procedures for downloading and registering your gateway with Docker and adding a repository for your Helm chart, and you are ready to begin the deployment procedure, go to <>. - -== Next Steps - -Learn other ways to set up and configure Flex Gateway for a Kubernetes cluster, and review other policy configuration options. - -* xref:flex-review-prerequisites.adoc[] -* xref:flex-gateway-set-up.adoc[] -* xref:flex-gateway-configure.adoc[] -* xref:flex-gateway-k8-management.adoc[] -* xref:policies-included-directory.adoc[] diff --git a/gateway/1.6/modules/ROOT/pages/flex-gateway-k8-high-availability.adoc b/gateway/1.6/modules/ROOT/pages/flex-gateway-k8-high-availability.adoc deleted file mode 100644 index 22372d307..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-gateway-k8-high-availability.adoc +++ /dev/null @@ -1,262 +0,0 @@ -= Autoscale and Add Flex Gateway Replicas to a Namespace -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -For high availability (HA) environments, horizontal scaling distributes load across multiple Flex Gateway instances. By default, the Helm chart for Flex Gateway is configured with one replica. To release more Flex Gateway replicas into a namespace, provide one of the following configurations: - -* <>: Set a fixed number of Flex Gateway replicas to create. -* <>: Generate replicas automatically based on CPU, memory, and other settings. - -//how to view helm chart defaults: -include::partial$reference-k8-general.adoc[tags=flex-k8-helm-chart-info] - -== Before You Begin - -Ensure that the following prerequisites are in place: - -* A Flex Gateway deployment or a registered Flex Gateway instance (gateway) -+ -For gateway registration and deployment processes, see xref:flex-gateway-set-up.adoc[] or xref:flex-gateway-k8-getting-started.adoc[]. - -* A Kubernetes cluster for your Flex Gateway deployment - -[[replica-count]] -== Set a Replica Count - -Configure and verify the number of replicas that you require. Note that new replicas replace existing replicas. If a newer version of Flex Gateway is available, the command replaces your older replica versions with the latest version. - -The steps to take depend on whether a Helm chart is installed. - -. If a Helm chart for your namespace is installed, run the following command: -+ -.Syntax: ----- -helm -n upgrade \ - / \ ---reuse-values \ ---set replicaCount= ----- -+ -.Example: -[source,helm] ----- -helm -n gateway upgrade \ -ingress flex-gateway/flex-gateway \ ---reuse-values \ ---set replicaCount=2 ----- -+ -When successful, the command prints output similar to this example: -+ ----- -Release "ingress" has been upgraded. Happy Helming! -NAME: ingress -LAST DEPLOYED: Mon Apr 17 15:00:09 2023 -NAMESPACE: gateway -STATUS: deployed -REVISION: 27 -TEST SUITE: None ----- - -. If the Helm chart is not installed, run the following command: -+ -.Syntax: ----- -helm -n \ -upgrade -i --create-namespace \ - / \ ---set-file registration.content= \ ---set replicaCount= ----- -+ -.Example: -[source,helm] ----- -helm -n gateway \ -upgrade -i --create-namespace \ -ingress flex-gateway/flex-gateway \ ---set-file registration.content=registration.yaml \ ---set replicaCount=2 ----- -+ -When successful, the command prints output similar to this example: -+ ----- -Release "ingress" does not exist. Installing it now. -NAME: ingress -LAST DEPLOYED: Mon Apr 17 15:32:50 2023 -NAMESPACE: gateway -STATUS: deployed -REVISION: 1 -TEST SUITE: None ----- - -. Verify creation of the replicas by running the following command: -+ -.Syntax: ----- -kubectl get rs -n ----- -+ -.Example: ----- -kubectl get rs -n gateway ----- -+ -When successful, the command prints output similar to this example: -+ ----- -NAME DESIRED CURRENT READY AGE -ingress-5b7474b8f6 2 2 2 70s ----- - -[[autoscale]] -== Configure Autoscaling - -Horizontal Pod autoscaling generates Flex Gateway replicas automatically based on CPU, memory, and other target and behavioral settings. For descriptions of these settings, see <>. - -[[autoscaling-config]] -=== Update Your Helm Chart with an Autoscaling Configuration - -To update your Helm chart with autoscaling parameters: - -. Create a YAML file with your autoscaling configuration, modifying the settings to meet your requirements. -+ -.Example: -[source,yaml] ----- -autoscaling: - enabled: true - minReplicas: 2 - maxReplicas: 11 - targetCPUUtilizationPercentage: 50 - targetMemoryUtilizationPercentage: 50 - behavior: - scaleDown: - selectPolicy: Min - stabilizationWindowSeconds: 100 - policies: - - type: Percent - value: 70 - periodSeconds: 30 - scaleUp: - selectPolicy: Max - stabilizationWindowSeconds: 100 - policies: - - type: Percent - value: 70 - periodSeconds: 30 ----- - -. If a Helm chart for your namespace is installed, run the following command to apply your autoscaling configuration: -+ -.Syntax: ----- -helm -n upgrade \ - / \ ---reuse-values \ --f ----- -+ -.Example: -[source,helm] ----- -helm -n gateway upgrade \ -ingress flex-gateway/flex-gateway \ ---reuse-values \ --f autoscaling.yaml ----- -+ -When successful, the command prints output similar to this example: -+ ----- -Release "ingress" has been upgraded. Happy Helming! -NAME: ingress -LAST DEPLOYED: Tue Apr 18 15:46:38 2023 -NAMESPACE: gateway -STATUS: deployed -REVISION: 33 -TEST SUITE: None ----- - -. If the Helm chart is not installed, run the following command to apply the your autoscaling configuration: -+ -.Syntax: ----- -helm -n \ -upgrade -i --create-namespace \ - / \ ---set-file registration.content= \ --f ----- -+ -.Example: -[source,helm] ----- -helm -n gateway \ -upgrade -i --create-namespace \ -ingress flex-gateway/flex-gateway \ ---set-file registration.content=registration.yaml \ --f autoscaling.yaml ----- -+ -When successful, the command prints output similar to this example: -+ ----- -NAME: ingress -LAST DEPLOYED: Tue Apr 18 15:50:29 2023 -NAMESPACE: gateway -STATUS: deployed -REVISION: 1 -TEST SUITE: None ----- - -. Verify your autoscaling configuration by running the following command: -+ -.Syntax: -[source, kubectl] ----- -kubectl get hpa -n ----- -+ -.Example: -[source, kubectl] ----- -kubectl get hpa -n gateway ----- -+ -The command prints output similar to this example: -+ ----- -NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE -ingress Deployment/ingress 66%/50%, 5%/50% 2 11 2 59s ----- -//TODO: TIME PERMITTING, IT WOULD BE GOOD TO ADD SOME TROUBLESHOOTING INFO - -[[autoscaling-parameters]] -=== Autoscaling Parameters - -To use autoscaling, enable Horizontal Pod Autoscaler (HPA), and configure other Helm chart settings to define autoscaling behavior. - -[%header,cols="1a,2a"] -|=== -| Parameter | Description -| `autoscaling.enabled` | Boolean that indicates whether the Horizontal Pod Autoscaler (HPA) is enabled. Defaults to `false`. -| `autoscaling.minReplicas` | The minimum number of replicas that the HPA scaler is allowed to create. Defaults to `2`. -| `autoscaling.maxReplicas` | The maximum number of replicas that the HPA scaler is allowed to create. Defaults to `11`. -| `autoscaling.targetCPUUtilizationPercentage` | A resource metric that sets the average CPU usage percentage of all deployed Pods. Defaults to `50`. -| `autoscaling.targetMemoryUtilizationPercentage` | A string representing the average memory usage percentage of all deployed Pods. Defaults to `nil`. -| `autoscaling.behavior` | A setting that supports the `HorizontalPodAutoscaler` (HPA) object in Kubernetes. HPA settings control autoscaling behavior, such as the number of application resources based on the rate of change to the workload. -| `autoscaling.behavior.scaleUp`, `autoscaling.behavior.scaleDown` | Settings for autoscaling behavior when the HPA scaler increases (`scaleUp`) or decreases (`scaleDown`) the number of replicas. Define scaling behavior with nested parameters: - -* `selectPolicy`: If a metric of configured resources indicates that scaling is required, this setting determines when to scale Pods. This setting is necessary because Pods can contain different numbers of replicas. Valid values are `Disabled`, `Min`, and `Max`. Defaults to `Max`. The `Min` and `Max` values indicate whether to scale Pods with the lowest (`Min`) or highest (`Max`) number of replicas. -* `stabilizationWindowSeconds`: The minimum number of seconds to wait to rescale an application after a change to the workload. The goal is to prevent an overly aggressive or unstable response by HPA when scaling too frequently. -* `policies`: A list of policies that determine scaling behavior: -** `type`: The type of value for a given policy, 'Percent' or 'Pods'. -** `value`: The value of the type for a given policy. -** `periodSeconds`: The number of seconds between scaling operations for a given policy. -|=== - -For more information about autoscaling, see the https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/[Kubernetes documentation^]. \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-gateway-k8-ingress-class.adoc b/gateway/1.6/modules/ROOT/pages/flex-gateway-k8-ingress-class.adoc deleted file mode 100644 index 79ea9f822..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-gateway-k8-ingress-class.adoc +++ /dev/null @@ -1,65 +0,0 @@ -= Configure Flex Gateway as an Ingress Controller in Local Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -For Kubernetes deployments in Local Mode, Flex Gateway typically acts as an ingress controller that manages external access to your Kubernetes cluster. - -By default, Flex Gateways deployed on Kubernetes in Local Mode are configured as ingress controllers and can consume `Ingress` resources. The ingress controller configuration is defined in the `IngressClass` resource parameters in the Flex Gateway Helm chart. - -In Kubernetes terminology, `IngressClass` resources configure a gateway as an ingress controller, and `Ingress` resources configure a routing between the ingress controller and the Kubernetes services it controls. For a detailed explanation of Kubernetes `IngressClass` resources and `Ingress` resources, see https://kubernetes.io/docs/concepts/services-networking/ingress/[Kubernetes Ingress^]. - -In the Helm chart, you can edit the `IngressClass` configuration or disable the ingress controller functionality. - -== Before You Begin - -. xref:flex-install.adoc#kubernetes[Download Flex Gateway for Use in a Kubernetes Cluster]. -. xref:flex-local-reg-run.adoc[Register and Run Flex Gateway in a Kubernetes Cluster in Local Mode]. - -== Ingress Class Parameters -The Helm chart includes the following default `IngressClass` parameters and values: - -[source,helm] ----- -ingressClass.enabled: true -ingressClass.name: "{releaseName}-{namespace}" -ingressClass.setAsDefault: false ----- - -[cols="1,2,2"] -|=== -| Parameter | Description | Possible values -| `ingressClass.enabled` | Enables Flex Gateway as an `IngressClass` resource | `true` or `false` -| `ingressClass.name` | The name of the `IngressClass` | Any string -| `ingressClass.setAsDefault` | Sets Flex Gateway as the default `IngressClass` | `true` or `false` -|=== - -Setting `ingressClass.setAsDefault: true` defines the Flex Gateway instance as the default `IngressClass` resource for the cluster. The default `IngressClass` is the default ingress controller for all `Ingress` resources you create in the cluster. - -If there is no default `IngressClass`, or if the default `IngressClass` resource shouldn't be the ingress controller for a specific resource, you must manually define the ingress controller in the `Ingress` resource. - -You can modify the default `IngressClass` parameters during or after the initial installation of the Helm chart. For more information about how to modify a Helm chart, see xref:flex-gateway-k8-change-helm-settings.adoc[] - -== Creating Ingress Resources - -After you xref:flex-local-reg-run-up#install-helm-chart-into-the-namespace[install a Helm chart into a namespace], you can verify your new `IngressClass` resource by running the following command: - -[source,helm] ----- -kubectl get ingressclasses ----- - -To create an ingress routing: - -. xref:flex-gateway-publish-apis-local.adoc[Publish an API in Local Mode]. -. Define the new API as a Kubernetes Service. + -For more information about Kubernetes Service definitions, see https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service[Defining a Service^]. -. Create an `Ingress` resource to define routing rules between the `IngressClass` Flex Gateway and the new Kubernetes Service. + -For more information about `Ingress` resources, see https://kubernetes.io/docs/concepts/services-networking/ingress/[Kubernetes Ingress^]. - - -== See Also - -* xref:flex-gateway-k8-change-helm-settings.adoc[] -* xref:flex-gateway-k8-management.adoc[] diff --git a/gateway/1.6/modules/ROOT/pages/flex-gateway-k8-management.adoc b/gateway/1.6/modules/ROOT/pages/flex-gateway-k8-management.adoc deleted file mode 100644 index b4db01e54..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-gateway-k8-management.adoc +++ /dev/null @@ -1,23 +0,0 @@ -= Manage Kubernetes Deployments -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - - -* {empty} -include::partial$configuration-task-list.adoc[tags=management-k8s-helm-settings] -* {empty} -include::partial$configuration-task-list.adoc[tags=management-k8s-add-replicas] -* {empty} -include::partial$configuration-task-list.adoc[tags=management-k8s-nodes] -* {empty} -include::partial$configuration-task-list.adoc[tags=management-k8s-externaldns] -* {empty} -include::partial$configuration-task-list.adoc[tags=management-k8s-ingress-class] - -== See Also - -* xref:flex-gateway-upgrade.adoc#kubernetes[Upgrade in a Kubernetes Cluster] -* xref:flex-gateway-uninstall.adoc#kubernetes[Uninstall from a Kubernetes Cluster] -* xref:flex-gateway-k8-getting-started.adoc[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-gateway-k8-node-affinity-config.adoc b/gateway/1.6/modules/ROOT/pages/flex-gateway-k8-node-affinity-config.adoc deleted file mode 100644 index 48b494fdd..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-gateway-k8-node-affinity-config.adoc +++ /dev/null @@ -1,76 +0,0 @@ -= Configure Node Selection for Flex Gateway Deployments on Kubernetes (Node Affinity) -//page-level attribute for repeated content on this page: -:link-helm-chart: After configuring the YAML configuration file for the Pod, proceed to <>. - -//Introduction: -include::partial$task-k8-node-affinity.adoc[tags=flex-node-affinity-intro] - -== Before You Begin - -Meet the minimum Kubernetes and Helm version requirements described in the xref:flex-review-prerequisites.adoc#software-requirements[software requirements]. - -//New section: -//== List and Create Node Labels -include::partial$task-k8-node-affinity.adoc[tags=flex-node-affinity-list-labels] - - -//New section -//== Set Node Affinity for a Pod -include::partial$task-k8-node-affinity.adoc[tags=set-node-affinity] - -For guidance, see the following configuration options: - -//link to anchored section in tag flex-node-affinity-required-matching-intro -* <> -//link to anchored section in tag flex-node-affinity-preferred-matching-intro -* <> -//link to anchored section in tag flex-node-affinity-mixed-matching-intro -* <> - - -//New section: -//==Configure a Required Node Matching Rule for a Pod -include::partial$task-k8-node-affinity.adoc[tags=flex-node-affinity-required-matching-intro] - -//flex-node-affinity-common-conditions (shared in multiple sections) -include::partial$task-k8-node-affinity.adoc[tags=flex-node-affinity-common-conditions] - -//flex-node-affinity-required-matching-yaml -include::partial$task-k8-node-affinity.adoc[tags=flex-node-affinity-required-matching-yaml] - -//page-level attribute (defined in page header) providing link to related section -{link-helm-chart} - -// New subsection: -//=== Configure a Preferred Node Matching Rule for a Pod -include::partial$task-k8-node-affinity.adoc[tags=flex-node-affinity-preferred-matching-intro] - -//shared in multiple sections (common & preferred conditions) -include::partial$task-k8-node-affinity.adoc[tags=flex-node-affinity-common-conditions] -include::partial$task-k8-node-affinity.adoc[tags=flex-node-affinity-preferred-conditions] - -include::partial$task-k8-node-affinity.adoc[tags=flex-node-affinity-preferred-matching-yaml] - -//page-level attribute (defined in page header) providing link to related section -{link-helm-chart} - -// New subsection: -//=== Configure Required and Preferred Node Matching Rules for a Pod -include::partial$task-k8-node-affinity.adoc[tags=flex-node-affinity-mixed-matching-intro] - -//contains links to anchored sections in tags -//(flex-node-affinity-required-matching-intro and flex-node-affinity-preferred-matching-intro): -The example combines the settings from <> and <>. - -//shared in multiple sections (common & preferred conditions) -include::partial$task-k8-node-affinity.adoc[tags=flex-node-affinity-common-conditions] -include::partial$task-k8-node-affinity.adoc[tags=flex-node-affinity-preferred-conditions] - -include::partial$task-k8-node-affinity.adoc[tags=flex-node-affinity-mixed-matching-yaml] - -//page-level attribute (defined in page header) providing link to related section -{link-helm-chart} - -//New section -//=== Upgrade the Helm Chart -include::partial$task-k8-node-affinity.adoc[tags=upgrade-helm-chart] diff --git a/gateway/1.6/modules/ROOT/pages/flex-gateway-manage.adoc b/gateway/1.6/modules/ROOT/pages/flex-gateway-manage.adoc deleted file mode 100644 index 396e93682..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-gateway-manage.adoc +++ /dev/null @@ -1,18 +0,0 @@ -= Managing Flex Gateway -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Refer to the following tasks for details about gateway management: - -* xref:flex-gateway-upgrade.adoc[Upgrade Flex Gateway] -* xref:flex-gateway-delete.adoc[Delete an Instance of Flex Gateway] -* xref:flex-gateway-uninstall.adoc[Uninstall Flex Gateway] -* xref:flex-gateway-k8-management.adoc[] -* xref:flex-gateway-renew-certificate.adoc[Renew Flex Gateway Registration] - -== See Also - -* xref:index.adoc[] -* xref:flex-gateway-getting-started.adoc[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-gateway-monitor.adoc b/gateway/1.6/modules/ROOT/pages/flex-gateway-monitor.adoc deleted file mode 100644 index dfbae5b16..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-gateway-monitor.adoc +++ /dev/null @@ -1,17 +0,0 @@ -= Monitoring Flex Gateway -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Flex Gateway enables you to monitor the state of your APIs and gateway instances, and view key metrics. Configure monitoring via Anypoint Platform (Connected Mode) or declarative configuration files (Local Mode). - -Refer to the following for details about Flex Gateway monitoring and logging: - -* xref:flex-conn-monitor.adoc[] -* xref:flex-local-monitor.adoc[] - -== See Also - -* xref:index.adoc[] -* xref:flex-gateway-getting-started.adoc[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-gateway-publish-apis-conn.adoc b/gateway/1.6/modules/ROOT/pages/flex-gateway-publish-apis-conn.adoc deleted file mode 100644 index 52842bf64..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-gateway-publish-apis-conn.adoc +++ /dev/null @@ -1,15 +0,0 @@ -= Publishing Flex Gateway APIs in Connected Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -For Flex Gateway running in Connected Mode, use *API Manager* to publish both API instances with a single upstream service and API instances with multiple upstream services. - -For more information, see xref:api-manager::create-instance-task-flex.adoc[]. - -Additionally, you can publish a simple API with xref:flex-gateway-getting-started.adoc[]. - -== See Also - -* xref:index.adoc[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-gateway-publish-apis-local.adoc b/gateway/1.6/modules/ROOT/pages/flex-gateway-publish-apis-local.adoc deleted file mode 100644 index e66cedb1f..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-gateway-publish-apis-local.adoc +++ /dev/null @@ -1,14 +0,0 @@ -= Publishing Flex Gateway APIs in Local Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -For Flex Gateway running in Local Mode, you publish APIs using xref:flex-local-configuration-reference-guide.adoc[local declarative configuration files]. You specify the location of these configuration files when you first run Flex Gateway. - -For more information about how to run the gateway, see xref:flex-local-reg-run.adoc[]. - -Refer to the following tutorials for examples on publishing APIs in Local Mode: - -* xref:flex-local-publish-simple-api.adoc[] -* xref:flex-local-publish-api-multiple-services.adoc[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-gateway-publish-apis.adoc b/gateway/1.6/modules/ROOT/pages/flex-gateway-publish-apis.adoc deleted file mode 100644 index 8b037d2e7..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-gateway-publish-apis.adoc +++ /dev/null @@ -1,17 +0,0 @@ -= Publishing Flex Gateway APIs -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Publishing an API consists of defining a client service and routing that service to a backend location. Flex Gateway enables you to publish APIs via Anypoint Platform (Connected Mode) or declarative configuration files (Local Mode). - -To publish an API in Connected Mode, see xref:flex-gateway-publish-apis-conn.adoc[]. - -To publish an API in Local Mode, see xref:flex-gateway-publish-apis-local.adoc[]. - -== See Also - -* xref:index.adoc[] -* xref:flex-gateway-getting-started.adoc[] - diff --git a/gateway/1.6/modules/ROOT/pages/flex-gateway-release-notes.adoc b/gateway/1.6/modules/ROOT/pages/flex-gateway-release-notes.adoc deleted file mode 100644 index 0afcd3c7c..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-gateway-release-notes.adoc +++ /dev/null @@ -1 +0,0 @@ -include::release-notes::partial$flex-gateway/flex-gateway-rn-landing-page.adoc[tags=rn-landing-page-intro;rn-landing-page-relative-overview-link] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-gateway-renew-certificate.adoc b/gateway/1.6/modules/ROOT/pages/flex-gateway-renew-certificate.adoc deleted file mode 100644 index a6cac0425..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-gateway-renew-certificate.adoc +++ /dev/null @@ -1,474 +0,0 @@ -= Renewing Flex Gateway Registration -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] - -Anypoint Flex Gateway uses a managed PKI certificate to communicate with Anypoint Platform. This certificate is generated when you register Flex Gateway in either Connected Mode or Local Mode. Updating the certificate ensures the continued operation of your applications. - -You update a certificate by renewing registration via the `flexctl registration renew` command. - -* The `renew` command renews an existing Flex Gateway registration with Runtime Manager. -* For authentication, you run the `renew` command with either user credentials or with connected app credentials. Authentication with user credentials requires the `--username` and `--password` flags. Authentication with connected app credentials requires the `--client-id` and `--client-secret` flags. - -You verify the renewal process via the `flexctl registration inspect` command. - -* The `inspect` command extracts registration information you can use to verify whether the `renew` command was successful. -* You can also use the `inspect` command to first determine if renewing registration is actually required. The `inspect` command returns the certificate expiration date. -* You can verify (inspect) renewal by using the default method, or you can specify your existing registration file. If you run the `inspect` command without flags, the command inspects registration status by using the default method. - -To avoid disruptions: - -. <> -. Renew your Flex Gateway registration. -+ -Choose one of two methods: -+ -* <> -* <> - -. Verify the success of the renewal process. -+ -Choose one of two methods: -+ -* <> -* <> - -[[before-you-begin]] -== Before You Begin - -To invoke the registration renewal `flexctl` command, download the latest version of Flex Gateway. You don't need to register and run this version of the gateway. - -* xref:flex-install.adoc[] - -[[renew-with-user-password]] -== Renew Registration with Anypoint Platform User Credentials - -. Create a new directory called `flex-renew-registration` (or similar). You run the `renew` command in this new directory. The command creates a new registration file. -+ -[NOTE] -==== -Registration renewal fails if the `renew` command is run in a directory containing an existing registration file. -==== - -. Use the following command: -+ -[tabs] -==== -Linux:: -+ -[source,ssh] ----- -flexctl registration renew --username= --password= \ - ----- -+ -Replace `` and `` with Anypoint Platform user credentials. -+ -Replace `` with the path and filename of the existing `registration.yaml` file. -+ -Use `sudo` if you encounter file permission issues when running this command. - -Docker:: -+ -For Flex Gateway running in a container, invoke `renew` as part of the container `run` command. -+ -[source,ssh] ----- -docker run --entrypoint flexctl \ --v "$(pwd)":/renew \ --v :/registration \ --u $UID mulesoft/flex-gateway \ -registration renew \ ---username= \ ---password= \ ---output-directory=/renew \ - ----- -+ -Replace `` and `` with Anypoint Platform user credentials. -+ -Replace `` with the path and filename of the existing `registration.yaml` file. You must specify the file in the container file system, which in this case is `/registration/registration.yaml`. -+ -As an example, if `/home/user/flex/registration.yaml` contains your current registration file, navigate to `/home/user/flex/` and run the following command with your Anypoint Platform credentials: -+ -[source,ssh] ----- -docker run --entrypoint flexctl \ --u $UID -v "$(pwd)":/registration \ -mulesoft/flex-gateway \ -registration renew \ ---username= \ ---password= \ ---output-directory=/registration/new \ -/registration/registration.yaml ----- -+ -The command creates a new registration file: `/home/user/flex/new/registration.yaml`. - -Podman:: -+ -For Flex Gateway running in a container, invoke `renew` as part of the container `run` command. -+ -[source,ssh] ----- -podman run --entrypoint flexctl --userns=keep-id \ --v "$(pwd)":/renew:Z \ --v :/registration:Z \ --u $UID docker.io/mulesoft/flex-gateway \ -registration renew \ ---username= \ ---password= \ ---output-directory=/renew \ - ----- -+ -Replace `` and `` with Anypoint Platform user credentials. -+ -Replace `` with the path and filename of the existing `registration.yaml` file. You must specify the file in the container file system, which in this case is `/registration/registration.yaml`. -==== -+ -[NOTE] -==== -Disable MFA for your Anypoint Platform account prior to running the `renew` command with user credentials. -==== - -. Run the command. -+ -The output should include the message: -+ -[source,text] ----- -Registration renewal completed ----- - -. Copy the newly created registration file to the runtime registration file location. For example: -+ -`/usr/local/share/mulesoft/flex-gateway/conf.d/registration.yaml` - -. Restart the Flex Gateway replica if one is already running. - -[[renew-with-conn-app]] -== Renew Registration with Connected App Credentials - -. If you don't have a username or password for Anypoint Platform, you can xref:access-management::connected-apps-developers.adoc#create-a-connected-app[configure a connected app] via Anypoint Access Management. -.. Include the following scopes: - -* Read Servers -* Manage Servers -* View Organization - -.. Save the *Id* and *Secret* of the connected app you configure, then use these credentials in the `renew` command. - -. Create a new directory called `flex-renew-registration` (or similar). You run the `renew` command in this new directory. The command creates a new registration file. -+ -[NOTE] -==== -Registration renewal fails if the `renew` command is run in a directory containing an existing registration file. -==== - -. Use the following command: -+ -[tabs] -==== -Linux:: -+ -[source,ssh] ----- -flexctl registration renew --client-id= --client-secret= \ - ----- -+ -Replace `` and `` with the connected app credentials. -+ -Replace `` with the path and filename of the existing `registration.yaml` file. -+ -Use `sudo` if you encounter file permission issues when running this command. - -Docker:: -+ -For Flex Gateway running in a container, invoke `renew` as part of the container `run` command. -+ -[source,ssh] ----- -docker run --entrypoint flexctl \ --v "$(pwd)":/renew \ --v :/registration \ --u $UID mulesoft/flex-gateway \ -registration renew \ ---client-id= \ ---client-secret= \ ---output-directory=/renew \ - ----- -+ -Replace `` and `` with the connected app credentials. -+ -Replace `` with the path and filename of the existing `registration.yaml` file. You must specify the file in the container file system, which in this case is `/registration/registration.yaml`. -+ -As an example, if `/home/user/flex/registration.yaml` contains your current registration file, navigate to `/home/user/flex/` and run the following command with your connected app credentials: -+ -[source,ssh] ----- -docker run --entrypoint flexctl \ --u $UID -v "$(pwd)":/registration \ -mulesoft/flex-gateway \ -registration renew \ ---client-id= \ ---client-secret= \ ---output-directory=/registration/new \ -/registration/registration.yaml ----- -+ -The command creates a new registration file: `/home/user/flex/new/registration.yaml`. - -Podman:: -+ -For Flex Gateway running in a container, invoke `renew` as part of the container `run` command. -+ -[source,ssh] ----- -podman run --entrypoint flexctl --userns=keep-id \ --v "$(pwd)":/renew:Z \ --v :/registration:Z \ --u $UID docker.io/mulesoft/flex-gateway \ -registration renew \ ---client-id= \ ---client-secret= \ ---output-directory=/renew \ - ----- -+ -Replace `` and `` with the connected app credentials. -+ -Replace `` with the path and filename of the existing `registration.yaml` file. You must specify the file in the container file system, which in this case is `/registration/registration.yaml`. -==== - -. Run the command. -+ -The output should include the message: -+ -[source,text] ----- -Registration renewal completed ----- - -. Copy the newly created registration file to the runtime registration file location. For example: -+ -`/usr/local/share/mulesoft/flex-gateway/conf.d/registration.yaml` - -. Restart the Flex Gateway replica if one is already running. - -[[inspect-with-custom-url]] -== Verify Registration Status with the Default Method - -To inspect a registration, run the following command: - -[tabs] -==== -Linux:: -+ -[source,ssh] ----- -flexctl registration inspect ----- -+ -Use `sudo` if you encounter file permission issues when running this command. - -Docker:: -+ -For Flex Gateway running in a container, run `inspect` as part of the container `exec` command. Replace `` with the running container reference. -+ -[source,ssh] ----- -docker exec -u $UID flexctl registration inspect ----- - -Podman:: -+ -For Flex Gateway running in a container, run `inspect` as part of the container `exec` command. Replace `` with the running container reference. -+ -[source,ssh] ----- -podman exec -u $UID flexctl registration inspect ----- -==== - -The output should include the date of certificate expiration. For example: - -[source,text] ----- -{“expiration_date”: “2025-09-25 19:27:32 +0000 UTC”} ----- - -[[inspect-with-reg-file]] -== Verify Registration Status with a Registration File - -You can inspect a registration by extracting the information from your `registration.yaml` file. Specify the path and filename. - -To inspect a registration, run the following command: - -[tabs] -==== -Linux:: -+ -[source,ssh] ----- -flexctl registration inspect --file= ----- -+ -Use `sudo` if you encounter file permission issues when running this command. - -Docker:: -+ -For Flex Gateway running in a container, invoke `inspect` as part of the container `run` command. -+ -[source,ssh] ----- -docker run --entrypoint flexctl \ --v :/registration \ --u $UID mulesoft/flex-gateway \ -registration inspect --file= ----- - -Podman:: -+ -For Flex Gateway running in a container, invoke `inspect` as part of the container `run` command. -+ -[source,ssh] ----- -podman run --entrypoint flexctl --userns=keep-id \ --v :/registration:Z \ --u $UID docker.io/mulesoft/flex-gateway \ -registration inspect --file= ----- -==== - -The output should include the date of certificate expiration: - -[source,text] ----- -{“expiration_date”: “2025-09-25 19:27:32 +0000 UTC”} ----- - -As an example, if your current directory contains the registration file, run the following command: -[source,ssh] ----- -docker run --entrypoint flexctl \ --v "$(pwd)":/registration \ --u $UID mulesoft/flex-gateway \ -registration inspect --file=/registration/registration.yaml ----- - -== Renew Registration for Flex Gateway Running in Kubernetes - -The following example describes a scenario where Flex Gateway is installed in a `gateway` namespace with an `ingress` release name, and where registration is stored in the Kubernetes database. - -. Recover the `registration.yaml` file with the following `kubectl` command: -+ -[source,ssh] ----- -kubectl -n gateway get secret "$(kubectl -n gateway get deployment ingress -o=jsonpath='{.spec.template.spec.volumes[?(@.name=="registration")].secret.secretName}')" -o=jsonpath='{.data.registration\.yaml}' | base64 --decode > registration.yaml ----- -+ -The command stores the registration file in `./registration.yaml`. - -. Run the `flexctl registration renew` command, as described for Docker in previous sections: -+ -* <> -* <> - -. Upgrade Flex Gateway with the following `helm` command: -+ -[source,ssh] ----- -helm get values -n gateway ingress > values.yaml \ -&& helm upgrade -n gateway ingress flex-gateway/flex-gateway --wait -f values.yaml --set-file registration.content=new/registration.yaml ----- - -== Get Help with the Renewal and Verification Commands - -You can run the following `help` commands for information about usage: - -* Renewal -+ -[tabs] -==== -Linux:: -+ -[source,ssh] ----- -flexctl registration renew --help ----- -+ -Use `sudo` if you encounter file permission issues when running this command. - -Docker:: -+ -For Flex Gateway running in a container, invoke `help` as part of the container `run` command. -+ -[source,ssh] ----- -docker run --entrypoint flexctl mulesoft/flex-gateway registration renew --help ----- - -Podman:: -+ -For Flex Gateway running in a container, invoke `help` as part of the container `run` command. -+ -[source,ssh] ----- -podman run --entrypoint flexctl docker.io/mulesoft/flex-gateway registration renew --help ----- -==== - -* Verification -+ -[tabs] -==== -Linux:: -+ -[source,ssh] ----- -flexctl registration inspect --help ----- -+ -Use `sudo` if you encounter file permission issues when running this command. - -Docker:: -+ -For Flex Gateway running in a container, invoke `help` as part of the container `run` command. -+ -[source,ssh] ----- -docker run --entrypoint flexctl mulesoft/flex-gateway registration inspect --help ----- - -Podman:: -+ -For Flex Gateway running in a container, invoke `help` as part of the container `run` command. -+ -[source,ssh] ----- -podman run --entrypoint flexctl docker.io/mulesoft/flex-gateway registration inspect --help ----- -==== - -== Renew an Expired Registration - -Attempting to run Flex Gateway with an expired certificate in Connected Mode results in the following: - -* New replicas fail to download API configurations from Anypoint Platform, thereby becoming unusable. Existing clusters fail to reload. -* Logs and metrics fail to upload to Anypoint Platform. Troubleshooting using Anypoint Platform is not possible. -* Metering information fails to upload to Anypoint Platform. MuleSoft is unable to collect or report usage metrics. - -Attempting to run Flex Gateway with an expired certificate in Local Mode results in the following: - -* Metering information fails to upload to Anypoint Platform. MuleSoft is unable to collect or report usage metrics. - -If a certificate expires, you can still invoke `flexctl registration renew`, which updates the expired certificate. - -== See Also - -* xref:flex-install.adoc[] -* xref:flex-conn-reg-run.adoc[] -* xref:flex-local-reg-run.adoc[] diff --git a/gateway/1.6/modules/ROOT/pages/flex-gateway-secure-apis.adoc b/gateway/1.6/modules/ROOT/pages/flex-gateway-secure-apis.adoc deleted file mode 100644 index bb878b6a6..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-gateway-secure-apis.adoc +++ /dev/null @@ -1,27 +0,0 @@ -= Securing and Governing Flex Gateway APIs -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -// :page-aliases: policies::policies-overview.adoc, policies::index.adoc, api-manager::policies-landing-page.adoc - -Policies enforce rules when Flex Gateway processes requests, enabling you to secure and govern your Flex Gateway APIs. - -MuleSoft provides policies that you can apply to your APIs via Anypoint Platform (Connected Mode) or declarative configuration files (Local Mode). The provided policies include rate limiting, caching, authentication, authorization, threat protection, monitoring, and logging. For more information about MuleSoft-provided policies, see the xref:policies-included-directory.adoc[]. - -To extend existing functionality or define new functionality, create custom policies based on your specific business requirements and apply them to APIs. For information about creating custom policies, see xref:policies-custom-overview.adoc[]. - -Automated policies enable your API instance to comply with common security and logging requirements by automatically applying the same set of policies to all APIs running in Flex Gateway. See xref:policies-automated-overview.adoc[] for more information. - -To apply a policy in Connected Mode, see xref:flex-gateway-secure-conn.adoc[]. - -To apply a policy in Local Mode, see xref:flex-gateway-secure-local.adoc[]. - -For information about policy reordering, see xref:policies-reorder.adoc[]. - -For information about DataWeave support, see xref:policies-flex-dataweave-support.adoc[]. - -== See Also - -* xref:index.adoc[] -* xref:flex-gateway-getting-started.adoc[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-gateway-secure-conn.adoc b/gateway/1.6/modules/ROOT/pages/flex-gateway-secure-conn.adoc deleted file mode 100644 index 84e3ce846..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-gateway-secure-conn.adoc +++ /dev/null @@ -1,13 +0,0 @@ -= Securing and Governing APIs in Connected Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -For Flex Gateway running in Connected Mode, you apply API policies using *API Manager*. Refer to xref:policies-included-apply.adoc[] for more information. - -Additionally, to apply a basic authentication policy, see xref:flex-gateway-getting-started.adoc[]. - -== See Also - -* xref:index.adoc[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-gateway-secure-local.adoc b/gateway/1.6/modules/ROOT/pages/flex-gateway-secure-local.adoc deleted file mode 100644 index fb5833c77..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-gateway-secure-local.adoc +++ /dev/null @@ -1,20 +0,0 @@ -= Securing and Governing APIs in Local Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -For Flex Gateway running in Local Mode, you apply API policies using xref:flex-local-configuration-reference-guide.adoc[local declarative configuration files]. You specify the location of these configuration files when you first run Flex Gateway. - -See xref:flex-local-reg-run.adoc[] for more information about how to start the gateway. - -Refer to the following tutorials for examples on applying policies to APIs in Local Mode: - -* xref:flex-local-secure-api-with-basic-auth-policy.adoc[] -* xref:flex-local-secure-api-with-auto-policy.adoc[] -* xref:flex-local-deploy-custom-policy.adoc[Secure an API with a Custom Policy] - -== See Also - -* xref:index.adoc[] -* xref:flex-gateway-getting-started.adoc[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-gateway-set-up.adoc b/gateway/1.6/modules/ROOT/pages/flex-gateway-set-up.adoc deleted file mode 100644 index b4177fa6f..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-gateway-set-up.adoc +++ /dev/null @@ -1,19 +0,0 @@ -= Setting Up Flex Gateway -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Setting up Anypoint Flex Gateway consists of installation and registration: - -* xref:flex-install.adoc[] -** Install in Linux. Download for Docker or Kubernetes. -* xref:flex-conn-reg-run.adoc[] -** Register in Connected Mode using an Anypoint username and password, a connected application, or a token. -* xref:flex-local-reg-run.adoc[] -** Register in Local Mode using an Anypoint username and password, a connected application, or a token. - -== See Also - -* xref:index.adoc[] -* xref:flex-gateway-getting-started.adoc[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-gateway-uninstall.adoc b/gateway/1.6/modules/ROOT/pages/flex-gateway-uninstall.adoc deleted file mode 100644 index 367c0b58b..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-gateway-uninstall.adoc +++ /dev/null @@ -1,106 +0,0 @@ -= Uninstalling Flex Gateway -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -//TODO: IS THERE AN OPENSHIFT OPTION HERE? -You can uninstall Flex Gateway running as a Linux service, in a container, or in a Kubernetes cluster. - -//TODO: IS THERE AN OPENSHIFT OPTION HERE? -[cols="1a,1a,1a"] -|=== -|image:install-linux-logo.png[20%,20%,xref="#linux"] -|image:install-docker-logo.png[25%,25%,xref="#docker"] -|image:install-kubernetes-logo.png[20%,20%,xref="#kubernetes"] - -|<> -|<> -|<> -|=== - -[[linux]] -== Uninstall Flex Gateway Running as a Linux Service - -Flex Gateway can be uninstalled as any other package: - -[source,ssh] ----- -sudo apt remove -y flex-gateway ----- - -[[docker]] -== Uninstall Flex Gateway Running in a Docker Container - -To uninstall Flex Gateway, stop and remove the Flex Gateway container: - -. Determine the Flex Gateway container ID by listing all the running containers: -+ -[source,ssh] ----- -docker ps ----- - -. In the list of containers, note the container ID associated with the Flex Gateway container you want to uninstall. - -. Stop the Flex Gateway container: -+ -[source,ssh] ----- -docker stop ----- -+ -Replace ` ----- -+ -Replace `> -|<> -|<> -|=== - -[[linux]] -== Upgrade as a Linux Service - -Flex Gateway is distributed as a standard package. Use the following steps to upgrade or downgrade Flex Gateway to either a specific version or the latest version. - -To upgrade or downgrade Flex Gateway as a Linux Service: - -. Update the list of available packages: -+ -[source,ssh] ----- -sudo apt update ----- -+ -To list the available versions, run: -+ -[source,ssh] ----- -apt list -a flex-gateway ----- - -. Update Flex Gateway: -* To the latest version: -+ -[source,ssh] ----- -sudo apt --only-upgrade -y install flex-gateway ----- - -* To a specific version: -+ -[source,ssh] ----- -sudo apt --only-upgrade -y install flex-gateway= ----- - -* To a downgrade version: -+ -[source,ssh] ----- -sudo apt --only-upgrade -y --allow-downgrades install flex-gateway= ----- - -. Restart the services: -+ -[source,ssh] ----- -sudo systemctl restart flex-gateway ----- - -[[docker]] -== Upgrade in a Docker Container - -The docker containers are not updated, if a new version is needed then a new container with the new image version -should be created to replace the outdated one. - -The new versions of the images will be available in link:https://hub.docker.com/r/mulesoft/flex-gateway[mulesoft/flex-gateway]. - -[[kubernetes]] -== Upgrade in a Kubernetes Cluster - -. Update charts with the respective chart repositories: -+ -[source,ssh] ----- -helm repo up ----- - -. Upgrade the release to a new version of the Helm chart by executing the following command, replacing example information with your own: -+ -[source,ssh] ----- -helm upgrade -n flex-gateway/flex-gateway --wait ----- - -//TODO: ARE THERE OPENSHIFT OPTIONS HERE? diff --git a/gateway/1.6/modules/ROOT/pages/flex-install.adoc b/gateway/1.6/modules/ROOT/pages/flex-install.adoc deleted file mode 100644 index 7878f59ee..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-install.adoc +++ /dev/null @@ -1,450 +0,0 @@ -= Downloading Flex Gateway -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Download and install Flex Gateway as a Linux service, or download the Flex Gateway image from the container registry. Downloading is a prerequisite to registering and running a gateway as a Linux service or in a container, Kubernetes cluster, or OpenShift cluster. - -To run Flex Gateway inside a virtual machine (VM), download and install it as a Linux service. To run Flex Gateway in a container, Kubernetes cluster, or OpenShift cluster, download the Flex Gateway image. - -// * To run Flex Gateway inside a virtual machine (VM), download and install it as a Linux service. -// * To run Flex Gateway in a Docker container, download the Flex Gateway image. -// * To run Flex Gateway in a Kubernetes cluster, download the Flex Gateway image. -// * To run Flex Gateway in an OpenShift cluster, download the Flex Gateway image. -// * To run Flex Gateway in a Podman container, download the Flex Gateway image. - -//table with tech logos and links (linux, docker, k8, openshift) -include::partial$task-reg-run-flex-gateway.adoc[tags=table-logos-links] - -See xref:flex-review-prerequisites.adoc[] for details about hardware and software requirements. - -[[linux]] -== Download and Install as a Linux Service - -You can download and install Flex Gateway as a service in one of the following Linux environments: -[cols="1a,1a,1a,1a,1a"] -|=== -|image:install-ubuntu-logo.png[20%,20%,xref="#install-ubuntu"] -|image:install-debian-logo.png[17%,17%,xref="#install-debian"] -|image:install-amazon-linux-logo.png[22%,22%,xref="#install-amazon-linux"] -|image:install-rhel-logo.png[23%,23%,xref="#install-rhel"] -|image:install-centos-logo.png[20%,20%,xref="#install-centos"] - -|<> -|<> -|<> -|<> -|<> -|=== - -[[install-ubuntu]] -=== Ubuntu - -==== Software Requirements - -Flex Gateway runs on the following Long Term Support (LTS) versions of Ubuntu: - -* {empty} -include::partial$prerequisites.adoc[tag=ubuntu] - -==== Before You Begin - -Before getting started, ensure that you have installed the following: - -* link:https://gnupg.org/[gnupg2^] -* link:https://refspecs.linuxfoundation.org/LSB_3.0.0/LSB-PDA/LSB-PDA/lsbrelease.html[lsb_release^] - -==== Run Installation Commands - -To download and install Flex Gateway as a Ubuntu service run the command block which performs the following actions: - -* Retrieves the public package keys and adds the package repository -* Updates the package list -* Updates `apt-get` -* Installs the Flex Gateway package - -[source,ssh] ----- -curl -XGET https://flex-packages.anypoint.mulesoft.com/ubuntu/pubkey.gpg | sudo apt-key add - -echo "deb [arch=amd64] https://flex-packages.anypoint.mulesoft.com/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/mulesoft.list -sudo apt update -sudo apt install -y flex-gateway ----- - -include::partial$reference-install-next-steps.adoc[tags=flex-download-install;flex-connected-vs-local] - -[[install-debian]] -=== Debian - -==== Software Requirements - -Flex Gateway runs on the following Long Term Support (LTS) versions of Debian: - -* {empty} -include::partial$prerequisites.adoc[tag=debian] - -==== Before You Begin - -Before getting started, ensure that you have installed the following: - -* link:https://gnupg.org/[gnupg2^] -* link:https://refspecs.linuxfoundation.org/LSB_3.0.0/LSB-PDA/LSB-PDA/lsbrelease.html[lsb_release^] - -==== Run Installation Commands - -To download and install Flex Gateway as a Debian service run the command block which performs the following actions: - -* Retrieves the public package keys and adds the package repository -* Updates the package list -* Updates `apt-get` -* Installs the Flex Gateway package - -[source,ssh] ----- -curl -XGET https://flex-packages.anypoint.mulesoft.com/debian/pubkey.gpg | sudo apt-key add - -echo "deb [arch=amd64] https://flex-packages.anypoint.mulesoft.com/debian $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/mulesoft.list -sudo apt update -sudo apt install -y flex-gateway ----- - -include::partial$reference-install-next-steps.adoc[tags=flex-download-install;flex-connected-vs-local] - -[[install-amazon-linux]] -=== Amazon Linux - -==== Software Requirements - -Flex Gateway runs on the following Long Term Support (LTS) version of Amazon Linux: - -* {empty} -include::partial$prerequisites.adoc[tag=amazon-linux] - -==== Before You Begin - -Before getting started, ensure that you have installed the following: - -* link:https://gnupg.org/[gnupg2^] - -==== Run Installation Commands - -To download and install Flex Gateway as an Amazon Linux service run the command block which performs the following actions: - -* Adds the Flex Gateway package repository with a reference to its public key -* Installs the Flex Gateway package - -[source,ssh] ----- -sudo tee /etc/yum.repos.d/flex-gateway.repo <<\EOF -[flex-gateway] -name = Anypoint Flex Gateway -baseurl = https://flex-packages.anypoint.mulesoft.com/amazonlinux/$releasever/main -gpgcheck=1 -gpgkey=https://flex-packages.anypoint.mulesoft.com/amazonlinux/pubkey.gpg -repo_gpgcheck=1 -enabled=1 -EOF - -sudo yum install -y flex-gateway ----- - -include::partial$reference-install-next-steps.adoc[tags=flex-download-install;flex-connected-vs-local] - -[[install-rhel]] -=== Red Hat Enterprise Linux - -==== Software Requirements - -Flex Gateway runs on the following Long Term Support (LTS) versions of RHEL: - -* {empty} -include::partial$prerequisites.adoc[tag=red-hat] - -==== Before You Begin - -Before getting started, ensure that you have installed the following: - -* link:https://gnupg.org/[gnupg2^] - -==== Run Installation Commands - -To download and install Flex Gateway as a Red Hat Enterprise Linux service run the command block which performs the following actions: - -* Adds the Flex Gateway package repository with a reference to its public key -* Installs the Flex Gateway package - -[source,ssh] ----- -sudo tee /etc/yum.repos.d/flex-gateway.repo <<\EOF -[flex-gateway] -name = Anypoint Flex Gateway -baseurl = https://flex-packages.anypoint.mulesoft.com/rhel/$releasever/main -gpgcheck=1 -gpgkey=https://flex-packages.anypoint.mulesoft.com/rhel/pubkey.gpg -repo_gpgcheck=1 -enabled=1 -EOF - -sudo yum install -y flex-gateway ----- - -include::partial$reference-install-next-steps.adoc[tags=flex-download-install;flex-connected-vs-local] - -[[install-centos]] -=== CentOS - -==== Software Requirements - -Flex Gateway runs on the following Long Term Support (LTS) version of CentOS: - -* {empty} -include::partial$prerequisites.adoc[tag=centos] - -==== Before You Begin - -Before getting started, ensure that you have installed the following: - -* link:https://gnupg.org/[gnupg2^] - -==== Run Installation Commands - -To download and install Flex Gateway as an CentOS service run the command block which performs the following actions: - -* Adds the Flex Gateway package repository with a reference to its public key -* Installs the Flex Gateway package - -[source,ssh] ----- -sudo tee /etc/yum.repos.d/flex-gateway.repo <<\EOF -[flex-gateway] -name = Anypoint Flex Gateway -baseurl = https://flex-packages.anypoint.mulesoft.com/centos/$releasever/main -gpgcheck=1 -gpgkey=https://flex-packages.anypoint.mulesoft.com/centos/pubkey.gpg -repo_gpgcheck=1 -enabled=1 -EOF - -sudo yum install -y flex-gateway ----- - -Due to issues with the CentOS package manager you might encounter the following error: ----- -Error: Failed to download metadata for repo 'AppStream': Cannot prepare internal mirrorlist: No URLs in mirrorlist ----- - -If you encounter this error, run the following command: -[source,ssh] ----- -sudo sed -i -e "s|mirrorlist=|#mirrorlist=|g" -e "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-* ----- - -include::partial$reference-install-next-steps.adoc[tags=flex-download-install;flex-connected-vs-local] - -[[container]] -== Download Flex Gateway for Use in a Container -You can download and install Flex Gateway in one of the following containers: - -include::partial$task-reg-run-flex-gateway.adoc[tags=table-containers-logos-links] - -[[docker]] -=== Docker -==== Download Flex Gateway for Use in a Docker Container - -Download the Flex Gateway container image to prepare for registering and running a gateway in a Docker container: - -. Download the Flex Gateway Docker image: -+ -[source,ssh,subs=attributes+] ----- -docker pull {image-owner-lc}/flex-gateway:{gateway-ver-var} ----- - -. Verify that the download succeeded: -+ -[source,ssh,subs=attributes+] ----- -docker images {image-owner-lc}/flex-gateway ----- -+ -When successful, the command lists the Flex Gateway container image, for example: -+ -[source,text,subs=attributes+] ----- -REPOSITORY TAG -{image-owner-lc}/flex-gateway {gateway-ver-var} ----- - -include::partial$reference-install-next-steps.adoc[tags=flex-download-install;flex-connected-vs-local] - -[[podman]] -=== Podman -==== Download Flex Gateway for Use in a Podman Container - -Download the Flex Gateway container image to prepare for registering and running a gateway in a Podman container: - -. Download the Flex Gateway container image: -+ -[source,ssh,subs=attributes+] ----- -podman pull docker.io/{image-owner-lc}/flex-gateway:{gateway-ver-var} ----- - -. Verify that the download succeeded: -+ -[source,ssh,subs=attributes+] ----- -podman images docker.io/{image-owner-lc}/flex-gateway ----- -+ -When successful, the command lists the Flex Gateway container image, for example: -+ -[source,text,subs=attributes+] ----- -REPOSITORY TAG -{image-owner-lc}/flex-gateway {gateway-ver-var} ----- - -include::partial$reference-install-next-steps.adoc[tags=flex-download-install;flex-connected-vs-local] - -[[kubernetes]] -== Download Flex Gateway for Use in a Kubernetes Cluster - -Download the Flex Gateway container image to prepare for registering and running a gateway in a Kubernetes cluster. You can use the following container runtimes: - - -[[install-k8s-docker]] -.*Docker* -[%collapsible] -==== - -. Download the Flex Gateway container image: -+ -[source,ssh,subs=attributes+] ----- -docker pull {image-owner-lc}/flex-gateway:{gateway-ver-var} ----- - -. Verify that the download succeeded: -+ -[source,ssh,subs=attributes+] ----- -docker images {image-owner-lc}/flex-gateway ----- -+ -When successful, the command lists the Flex Gateway container image, for example: -+ -[source,text,subs=attributes+] ----- -REPOSITORY TAG -{image-owner-lc}/flex-gateway {gateway-ver-var} ----- - -include::partial$reference-install-next-steps.adoc[tags=flex-k8-download-install] -==== - -[[install-k8s-podman]] -.*Podman* -[%collapsible] -==== - -. Download the Flex Gateway container image: -+ -[source,ssh,subs=attributes+] ----- -podman pull docker.io/{image-owner-lc}/flex-gateway:{gateway-ver-var} ----- - -. Verify that the download succeeded: -+ -[source,ssh,subs=attributes+] ----- -podman images docker.io/{image-owner-lc}/flex-gateway ----- -+ -When successful, the command lists the Flex Gateway container image, for example: -+ -[source,text,subs=attributes+] ----- -REPOSITORY TAG -{image-owner-lc}/flex-gateway {gateway-ver-var} ----- - -include::partial$reference-install-next-steps.adoc[tags=flex-k8-download-install] -==== - -[[openshift]] -== Download Flex Gateway for Use in an OpenShift Cluster - -Download the Flex Gateway container image to prepare for registering and running a gateway in an OpenShift cluster. You can use the following container runtimes: - -[[install-openshift-docker]] -.*Docker* -[%collapsible] -==== - -. Download the Flex Gateway container image: -+ -[source,ssh,subs=attributes+] ----- -docker pull {image-owner-lc}/flex-gateway:{gateway-ver-var} ----- - -. Verify that the download succeeded: -+ -[source,ssh,subs=attributes+] ----- -docker images {image-owner-lc}/flex-gateway ----- -+ -When successful, the command lists the Flex Gateway container image, for example: -+ -[source,text,subs=attributes+] ----- -REPOSITORY TAG -{image-owner-lc}/flex-gateway {gateway-ver-var} ----- - -include::partial$reference-install-next-steps.adoc[tags=flex-k8-download-install] -==== - -[[install-openshift-podman]] -.*Podman* -[%collapsible] -==== -. Download the Flex Gateway container image: -+ -[source,ssh,subs=attributes+] ----- -podman pull docker.io/{image-owner-lc}/flex-gateway:{gateway-ver-var} ----- - -. Verify that the download succeeded: -+ -[source,ssh,subs=attributes+] ----- -podman images docker.io/{image-owner-lc}/flex-gateway ----- -+ -When successful, the command lists the Flex Gateway container image, for example: -+ -[source,text,subs=attributes+] ----- -REPOSITORY TAG -{image-owner-lc}/flex-gateway {gateway-ver-var} ----- - -include::partial$reference-install-next-steps.adoc[tags=flex-k8-download-install] -==== - -//TODO: points to Flex Gateway Deployments in Kubernetes -// https://dev-docs-internal.kqa.msap.io/beta-flex-gateway-get-well/gateway/1.4/flex-gateway-k8-overview -//Q: is this ok? -// include::partial$reference-install-next-steps.adoc[tags=flex-k8-download-install] - -== See Also - -* xref:flex-gateway-getting-started.adoc[] -* xref:flex-review-prerequisites.adoc[] -* xref:flex-conn-reg-run.adoc[] -* xref:flex-local-reg-run.adoc[] diff --git a/gateway/1.6/modules/ROOT/pages/flex-local-configuration-reference-guide.adoc b/gateway/1.6/modules/ROOT/pages/flex-local-configuration-reference-guide.adoc deleted file mode 100644 index 659aaaed3..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-local-configuration-reference-guide.adoc +++ /dev/null @@ -1,726 +0,0 @@ -= Declarative Configuration Reference Guide -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Anypoint Flex Gateway running in Local Mode supports two configuration models: - -* The resource-based model, common in Kubernetes, is ideal for granular definitions. Resources each contain one of the following values for configuration `kind`: -** `ApiInstance` -** `Service` -** `PolicyBinding` -** `Configuration` - -* The inline model is ideal for concise definitions, but is less versatile (for example, automated policies can only be applied in resource-based definitions.) -+ -Inline definitions contain a single `ApiInstance` value for configuration `kind`, under which services and policies are both defined. - -image:gateway-configuration-models.png[width=65%] - -Refer to the <> section for examples of both. - -This reference guide describes the available resources that are applicable to either resource-based configurations or inline configurations. - -[[api-instance]] -== API Instance - ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: ApiInstance -metadata: - name: - namespace: # optional namespace name -spec: - address: - services: # optional map of upstream services - : - address: - routes: # optional array of routes to service - - config: # optional route configuration - destinationPath: - rules: # optional route rules - policies: # optional array of policies - - policyRef: - name: - namespace: - config: # optional policy configuration - rules: # optional policy rules ----- - -[cols="2,1,1,3"] -|=== -|Parameter |Required or Optional |Default Value |Description - -|`metadata.name` -|Required -|N/A -|The API instance identifier that is used as a target reference for other resources, such as policy bindings. - -|`metadata.namespace` -|Optional -|`default` -| - -|`spec.address` -|Required -|N/A -|The proxy address URL, including protocol, host, port and optional path. If the base path is specified, it must be absent in any `rules.path` attribute. Supported format: -`protocol://host:port/path`, where `path` is optional, and `protocol` is either `http` or `https`. - -|`spec.services` -|Optional -|Empty -|A map of named services and their routes. - -|`spec.services[name].address` -|Required -|N/A -|The service address (and port). Supported format: `protocol://host:port`, where `protocol` is either `http` or `https`. - -|`spec.services[name].routes` -|Optional -|Empty -|An array of routes configured for this API instance towards the service. If left empty, a default route will be established to the service that will route all traffic. - -|`spec.services[name].routes[#].config` -|Optional -|Empty -|The configuration for this route. If left empty, a default configuration will be applied with an empty `destinationPath`. - -|`spec.services[name].routes[#].config.destinationPath` -|Optional -|Empty -|The path to prepend to forwarded requests to the upstream service. For example, if "destinationPath: /api/v1", requests to this API instance with a path like "/orders" will be routed upstream to "/api/v1/orders". - -|`spec.services[name].routes[#].rules` -|Optional -|Empty -|An array of rules for this route. Refer to <> in Policy Binding. - -|`spec.policies` -|Optional -|Empty -|An array of policies to apply to this API Instance. - -|`spec.policies[#].policyRef.name` -|Required -|N/A -|The policy name. - -|`spec.policies[#].policyRef.namespace` -|Optional -|The value of `metadata.namespace` -|The namespace where the policy is defined. For provided policies, the value of this field should be `default`. - -|`spec.policies[#].config` -|Optional -|Empty -|The policy's configuration. Refer to <> in Policy Binding. To use environment variables in `policies[#].config` fields, refer to <>. - -|`spec.policies[#].rules` -|Optional -|Empty -|An array of rules for applying this policy to the API Instance. <> in Policy Binding. - -|=== - -=== API Instance Examples - -The following resource specifies an `ApiInstance` with metadata that describes the instance identifier. The `metadata.name` value is used as the target reference for other resources, such as policy bindings. The `spec.services.routes.config.destinationPath` value prepends `/v1/apps` to the specified paths under `rules`, acting in a similar manner as a base path. - ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: ApiInstance -metadata: - name: hello-flex-gateway-instance -spec: - address: http://0.0.0.0:8080 - services: - json: - address: https://:443/ - routes: - - rules: - - path: /api(/users/.*) - - path: /api(/comments/.*) - config: - destinationPath: /v1/apps - ----- - -==== Port Sharing - -The following `ApiInstance` resources demonstrate API port sharing, with two distinct API instances listening on port 8080. - ----- ---- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: ApiInstance -metadata: - name: httpbin-example -spec: - address: http://0.0.0.0:8080/api/httpbin/ - services: - upstream: - address: https://:443 ---- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: ApiInstance -metadata: - name: json-example -spec: - address: http://0.0.0.0:8080/api/json/ - services: - upstream: - address: https://:443 ----- - -Both services listen on port 8080, for example: ----- -curl http://localhost:8080/api/httpbin/get -v -curl http://localhost:8080/api/json/users/1 -v ----- - -[NOTE] -==== -The base path of APIs sharing a port must not clash. For example, the following path combination is not allowed: ----- -http://0.0.0.0:8080/cats -http://0.0.0.0:8080/cats/dogs ----- -==== - -[NOTE] -==== -TLS applies to the port. Therefore, the same TLS policy applies to all API instances sharing the port. -==== - -[[policy-binding]] -== Policy Binding - ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: - namespace: -spec: - targetRef: - name: - namespace: - policyRef: - name: - namespace: - config: # optional policy configuration - order: # optional policy read order - rules: # optional policy rules - - path: - methods: - host: - headers: - :
----- - -[cols="2,1,1,3"] -|=== -|Parameter |Required or Optional |Default Value |Description - -|`metadata.name` -|Required -|N/A -|The identifier of the policy binding. - -|`metadata.namespace` -|Optional -|`default` -| - -|`spec.targetRef.name` -|Required -|N/A -|The API instance or upstream service identifier to which the policy is bound. - -|`spec.targetRef.namespace` -|Optional -|The value of `metadata.namespace` -|The namespace where the target is defined. - -|`spec.policyRef.name` -|Required -|N/A -|The policy name. See the list of available policies. - -|`spec.policyRef.namespace` -|Optional -|The value of `metadata.namespace` -|The namespace where the policy is defined. For provided policies, the value of this field should be `default`. - -|`spec.config` -|Optional -|Empty -|The policy configuration. The content of this field depends on the specified policy. See the list of available policies. To use environment variables in `config` fields, refer to <>. - -|`spec.order` -|Optional -|50 -|The policy read order in the overall policy execution chain. - -|`spec.rules` -|Optional -|Empty -|An array of rules that will determine if the policy applies to a given request. These rules are checked in an OR fashion. The first one to hold will enable applying the policy to the request. The attributes in each rule object apply in an AND fashion. If path and host are defined, both must match for that rule to hold true. - -|`spec.rules[#].path` -|Optional -|`.*` -|A regular expression to match the request path. - -Capture groups in this regular expression will be used to define path rewriting when routing the request upstream. - -If "path: /api(/.*)", requests with the path /api/orders will be routed upstream as /orders. - -Multiple capture groups can be specified, and the replacement will be the concatenation of all captured substrings. - -|`spec.rules[#].host` -|Optional -|`.*` -|A regular expression to match the request host. - -|`spec.rules[#].methods` -|Optional -|`.*` -|A regular expression to match the request method. - -|`spec.rules[#].headers` -|Optional -|Empty -|A map of header names and value regular expressions that must be present in the request. - -Each entry's key is the expected header name and the value is a regular expression to match the header value. - -|=== - -=== Policy Binding Examples - -The following resource binds a `route` policy to the API instance, routing traffic specified by the `rules` to the proxy address specified in the `Service` configuration snippet: - ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: hello-flex-gateway-route - namespace: e-commerce -spec: - targetRef: - name: hello-flex-gateway-instance - policyRef: - name: route - namespace: default - config: - destinationRef: - name: json - namespace: e-commerce - rules: - - path: /api/json(/.*) ----- - -The following resource binds a `http-basic-authentication-flex` policy to the API instance - requiring requests to include the basic credentials defined in `config.username` and `config.password`. The policy is given a read order value of `2`. - ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: hello-flex-gateway-auth - namespace: e-commerce -spec: - targetRef: - name: hello-flex-gateway-instance - namespace: e-commerce - policyRef: - name: http-basic-authentication-flex - namespace: default - config: - username: chris - password: admin - order: 2 ----- - -[[environment-variables]] -=== Environment Variables for Policy Bindings - -Both policy binding resources and inline policy bindings support environment variables in `config` fields. The environment variables available are dependent on your environment. - -To reference your environment variable, specify your environment variable prefixed by `$`, for example: - ----- -- policyRef: - name: http-basic-authentication-flex - config: - username: $USERNAME - password: $PASSWORD ----- - - -== Service - ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Service -metadata: - name: - namespace: -spec: - address: ----- - -[cols="2,1,1,3"] -|=== -|Parameter |Required or Optional |Default Value |Description - -|`metadata.name` -|Required -|N/A -|The service identifier. - -|`metadata.namespace` -|Optional -|`default` -| - -|`spec.address` -|Required -|N/A -|The service address URL, including protocol, host and port. Supported format: `protocol://host:port`, where `protocol` is either `http` or `https`. - -|=== - -=== Service Example - -The following resource defines a `Service` with metadata that describes the service identifier. The `metadata.namespace` value matches the namespace specified in the `ApiInstance` configuration. The `spec.address` is the address of the API implementation: - ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Service -metadata: - name: json-example - namespace: e-commerce -spec: - address: https://:443/ ----- - -== Configuration - -Define a desired gateway state by creating a `Configuration` entity. `Configuration` entities specify several runtime configuration aspects for Flex Gateway itself, such as <> and <>. The definition includes the following: - ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Configuration -metadata: - name: - namespace: -spec: - logging: # logging configuration - sharedStorage: # shared storage configuration ----- - -[cols="2,1,1,3"] -|=== -|Parameter |Required or Optional |Default Value |Description - -|`metadata.name` -|Required -|N/A -|The Configuration entity. - -|`metadata.namespace` -|Optional -|`default` -|The namespace value used to isolate Configuration entities. - -|`spec` -|Required -|N/A -|The configuration object that defines gateway characteristics. Objects include: `logging`, `sharedStorage`, `tls`. - -|=== - -[[logging]] -=== Logging - -include::partial$logging-config-file.adoc[] - -==== Logging Example - ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Configuration -metadata: - name: logging -spec: - logging: - outputs: - - name: log-to-file - type: file - parameters: - path: /var/log - file: log.txt - format: template - template: | - [{date}][{logger}][{level}][{kind}] {message} - runtimeLogs: - logLevel: info - outputs: - - log-to-file - accessLogs: - outputs: - - log-to-file ----- - -[[shared-storage]] -=== Shared Storage - -The `sharedStorage` object configures the gateway for shared storage. Production workflows should use https://redis.io/[Redis^] (minimum version 4.0.0), though defining it is optional. If Redis is not defined, shared storage services at port 4000 are still available but will use an in-memory implementation. - -Optionally, you can use Redis with Transport Layer Security (TLS) to protect sensitive data, prevent unauthorized access, and maintain the reliability of your services. - ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Configuration -metadata: - name: shared-storage-redis -spec: - sharedStorage: - redis: - address: // REQUIRED - username: // OPTIONAL - password: // OPTIONAL - db: // OPTIONAL - tls: // OPTIONAL - trustedCA: // OPTIONAL - certificate: // OPTIONAL - keyPassphrase // OPTIONAL - key: // REQUIRED - crt: // REQUIRED - alpn: // OPTIONAL - skipValidation: // OPTIONAL - minversion: // OPTIONAL - maxversion: // OPTIONAL - ciphers: // OPTIONAL ----- - -[cols="2,1,1,3"] -|=== -|Parameter |Required or Optional |Default Value |Description - -|`sharedStorage.redis.address` -|Required -|N/A -|The Redis instance address in `host:port` format - -|`sharedStorage.redis.username` -|Optional -|Empty -|The Redis user name - -|`sharedStorage.redis.password` -|Optional -|Empty -|The Redis user password - -|`sharedStorage.redis.db` -|Optional -|0 -|The Redis database number to use - -|`sharedStorage.redis.tls` -|Optional -|Empty -|The Redis TLS configuration - -| `sharedStorage.redis.tls.trustedCA` -| Optional -| N/A -| Root certificate authority to use when verifying server certificates - -| `sharedStorage.redis.tls.certificate` -| Optional -| N/A -| Client certificate to present to the server - -| `sharedStorage.redis.tls.keyPassphrase` -| Optional -| `none` -| The certificate key passphrase. If specified, use the private key format that includes a DEK-Info header. If unspecified, the private key must not be encrypted. - -| `sharedStorage.redis.tls.certificate.key` -| Required -| N/A -| The private key part of the certificate - -| `sharedStorage.redis.tls.certificate.crt` -| Required -| N/A -| The public key part of the certificate - -|`sharedStorage.redis.tls.skipValidation` -| Optional -| `false` -| If true, any certificate presented by the server is accepted. - -| `sharedStorage.redis.tls.minversion` -| Optional -| `1.2` -| The minimum TLS version allowed - -| `sharedStorage.redis.tls.maxversion` -| Optional -| `1.3` -| The maximum TLS version allowed - -| `sharedStorage.redis.tls.alpn` -| Optional -| Empty list -| A prioritized list of supported application level protocols; for example, h2, http/1.1 - -| `sharedStorage.redis.tls.ciphers` -| Optional -| -| - -|=== - -[NOTE] -==== -TLS/Redis supports the same ciphers as the xref:policies-included-tls.adoc[TLS policy], except the following: - -* TLS_RSA_WITH_NULL_SHA -* TLS_PSK_WITH_AES_256_CBC_SHA -* TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA -* TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA -* TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 -==== - -.*Redis Shared Storage Example* -[%collapsible] -==== -The Redis storage service is an implementation of a REST API object store that functions as a bridge between the object store interface and a Redis backend. - -[source, yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Configuration -metadata: - name: shared-storage-redis -spec: - sharedStorage: - redis: - address: redis.e-commerce.svc:6379 - username: ecomm-user - password: ecomm-pwd-123 - DB: 7 ----- -==== - -.*Redis with TLS Shared Storage Example* -[%collapsible] -==== -Optionally, you can use Redis with TLS to protect data and ensure secure communication. - -include::partial$task-shared-storage-config.adoc[tags=tls-sample-config] -==== - -.*Local Shared Storage Example* -[%collapsible] -==== -The local storage service is an implementation of a REST API object store that saves data in memory. All data is lost when Flex Gateway is stopped or restarted. - -[source, yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Configuration -metadata: - name: rtm-config - namespace: sales -spec: - sharedStorage: - local: - enabled: true ----- -==== - -[[examples]] -== Examples - -=== Inline Configuration Example - ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: ApiInstance -metadata: - name: api-example -spec: - address: http://0.0.0.0:8080 - services: - api-example: - address: https://:443/ - routes: - - rules: - - path: /api(/users/.*) - - path: /api(/comments/.*) - config: - destinationPath: /v1/apps - policies: - - policyRef: - name: http-basic-authentication-flex - config: - username: chris - password: admin ----- - -=== Resource-Based Configuration Example - ----- ---- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: ApiInstance -metadata: - name: ingress-http -spec: - address: http://0.0.0.0:8080 ---- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Service -metadata: - name: json -spec: - address: https://:443/ ---- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: ingress-http-route -spec: - targetRef: - name: ingress-http - policyRef: - name: route - config: - destinationRef: - name: json - rules: - - path: /api(/users/.*) - - path: /api(/comments/.*) ---- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: ingress-http-authentication -spec: - targetRef: - name: ingress-http - policyRef: - name: http-basic-authentication-flex - config: - username: chris - password: admin ----- diff --git a/gateway/1.6/modules/ROOT/pages/flex-local-configure.adoc b/gateway/1.6/modules/ROOT/pages/flex-local-configure.adoc deleted file mode 100644 index ef327c12b..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-local-configure.adoc +++ /dev/null @@ -1,17 +0,0 @@ -= Configuring Flex Gateway in Local Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -// :page-aliases: gateway::flex-local-manage.adoc -:page-mode: local - -include::partial$configuration-task-list.adoc[tags=configuration-task-list-replicas] -include::partial$configuration-task-list.adoc[tags=configuration-task-list-tls] -include::partial$configuration-task-list.adoc[tags=configuration-task-list-shared-storage] -include::partial$configuration-task-list.adoc[tags=configuration-task-list-forward-proxy] -include::partial$configuration-task-list.adoc[tags=configuration-task-list-liveness-check] -include::partial$configuration-task-list.adoc[tags=configuration-task-list-proxy-protocol] - - -Refer to the xref:flex-local-configuration-reference-guide.adoc[] for information about configuring Flex Gateway via declarative configuration files. \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-local-deploy-custom-policy.adoc b/gateway/1.6/modules/ROOT/pages/flex-local-deploy-custom-policy.adoc deleted file mode 100644 index 194db4522..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-local-deploy-custom-policy.adoc +++ /dev/null @@ -1,208 +0,0 @@ -= Deploying a Custom Policy for Flex Gateway in Local Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -include::partial$pdk-banner.adoc[tag=pdk] - -You can implement custom policies via WebAssembly (WASM) extensions that run on Envoy as custom filters. The following steps demonstrate deploying and applying a custom filter (policy) to an API running in Local Mode: - -. Create a configuration YAML file. -. Save the file in the Flex Gateway configuration directory. -. Create the extension definition. -. Encode the custom policy WASM implementation using `base64`. -. Link the extension definition to the custom policy WASM binary implementation. -. Link the custom policy to an API instance. -. Apply the resources to the Flex Gateway instance. - -== Before You Begin - -Before getting started, ensure that you have: - -* Flex Gateway installed and running in Local Mode. See xref:flex-install.adoc[] for more information about installing and running the gateway. -* Your upstream service URL. See xref:flex-local-publish-simple-api.adoc[] for an example. -* A custom policy implemented and compiled. See xref:policies-custom-flex-implement-rust.adoc[]. - -== Deploy a Custom Policy - -. Create a configuration file called `custom-policy-example.yaml`. - -. Save the file in the Flex Gateway configuration directory. For example: -+ -* `/etc/mulesoft/flex-gateway/conf.d/policies` - -. Create the extension definition. -+ -Copy and paste the following YAML snippet into the new configuration file. The YAML defines the configuration and metadata properties for the custom policy: -+ -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Extension -metadata: - name: custom-local-example-definition -spec: - extends: - - name: extension-authentication - - name: extension-definition - properties: - secret-value: - type: string - required: - - secret-value ----- -+ -* The `metadata.name` value contains the extension name. -+ -* The `Extension` inherits properties from other defined extensions. For example, `spec.extends` specifies that the extension is an `extension-definition`, and that it belongs in the `authentication` category (`extension-authentication`). -+ -* The `spec.properties` values define properties that configure the custom policy instance. -+ -* The `spec.required` value specifies the required properties. - -. Encode the custom policy WASM binary implementation using `base64`. -+ -Encode the custom policy WASM binary implementation by executing the following command: -+ -[source,ssh] ----- -base64 .wasm | tr -d '\n\r' > policy ----- -+ -The command sends the encoded data to a file called `policy`. In the next step, substitute `` with this encoded data. -+ -[NOTE] -==== -If you compiled the policy using a target of `wasm32-unknown-unknown`, locate the binary in `./target/wasm32-unknown-unknown/release`. - -If you compiled the policy using a target of `wasm32-wasi`, locate the binary in `./target/wasm32-wasi/release`. -==== - -. Link the extension definition to the custom policy WASM binary implementation. -+ -In `custom-policy-example.yaml`, define another resource that contains the policy implementation: -+ -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Extension -metadata: - name: custom-local-example-flex -spec: - extends: - - name: custom-local-example-definition - - name: envoy-filter - - name: proxy-wasm-filter - properties: - rootId: - type: string - default: main - implementation: - type: string - default: base64:// ----- -+ -* The `metadata.name` value contains the policy name, which must be different from the name specified in the definition. -+ -* The `spec.extends` value specifies the resource definition to inherit from. For example, `custom-local-example-definition` is the resource previously defined. -+ -* Substitute the `` value of `spec.properties.implementation.default` with the `base64` encoded WASM binary data, generated previously. -+ -[NOTE] -==== -You can include the policy definition and implementation in the same `Extension` resource, but this generates a tighter coupling between them. It is therefore recommended to separate the two into different resources. -==== - -. Link the custom policy to an API instance. -+ -In `custom-policy-example.yaml`, define another resource that links the policy to an API instance: -+ -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: custom-local-example -spec: - targetRef: - kind: ApiInstance - name: ingress-http - policyRef: - kind: Extension - name: custom-local-example-flex - config: - secret-value: "an-example-value" ----- -+ -* The `metadata.name` value contains the custom policy instance name. -+ -* The `spec.targetRef.name` value contains the name of the API instance on which to apply the custom policy. The API instance must already have been defined and applied. -+ -* The `spec.policyRef.name` value contains the custom policy implementation to apply. -+ -* The `spec.config` value contains policy configuration data. - -. Apply the resources to the Flex Gateway instance. -+ -The complete `custom-policy-example.yaml` file now contains the following: -+ -[source,yaml] ----- ---- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Extension -metadata: - name: custom-local-example-definition -spec: - extends: - - name: extension-authentication - - name: extension-definition - properties: - secret-value: - type: string - required: - - secret-value ---- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Extension -metadata: - name: custom-local-example-flex -spec: - extends: - - name: custom-local-example-definition - - name: envoy-filter - - name: proxy-wasm-filter - properties: - rootId: - type: string - default: main - implementation: - type: string - default: base64:// ---- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: custom-local-example -spec: - targetRef: - kind: ApiInstance - name: ingress-http - policyRef: - kind: Extension - name: custom-local-example-flex - config: - secret-value: "an-example-value" ----- -+ -Save the file in the Flex Gateway configuration directory. For example: -+ -* `/etc/mulesoft/flex-gateway/conf.d/policies` - -A custom policy now applies to an API instance called `ingress-http`. - -== See Also - -* xref:policies-custom-flex-implement-rust.adoc[] -* xref:flex-local-configuration-reference-guide.adoc[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-local-forward-proxy.adoc b/gateway/1.6/modules/ROOT/pages/flex-local-forward-proxy.adoc deleted file mode 100644 index ee6ed9bdb..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-local-forward-proxy.adoc +++ /dev/null @@ -1,27 +0,0 @@ -= Configuring a Forward Proxy for Flex Gateway in Local Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:page-mode: local - -include::partial$forward-proxy-config.adoc[tags=intro;icon-table] - -include::partial$forward-proxy-config.adoc[tags=connections;noproxy] - -include::partial$forward-proxy-config.adoc[tags=forward-proxy-parameters] - -include::partial$forward-proxy-config.adoc[tags=linux] - -include::partial$forward-proxy-config.adoc[tags=docker] -+ -include::partial$task-reg-run-flex-gateway.adoc[tags=start-command-local] -+ -include::partial$forward-proxy-config.adoc[tags=docker2] - -include::partial$forward-proxy-config.adoc[tags=k8s] - -include::partial$forward-proxy-config.adoc[tags=proxy-registration] - -== See also -* xref:flex-local-reg-run.adoc[Register and Run Flex Gateway in Local Mode] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-local-liveness-check.adoc b/gateway/1.6/modules/ROOT/pages/flex-local-liveness-check.adoc deleted file mode 100644 index dcf5f83b4..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-local-liveness-check.adoc +++ /dev/null @@ -1,8 +0,0 @@ -= Configuring a Liveness Check in Local Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:page-mode: local - -include::partial$task-config-liveness-probe.adoc[tags=intro1;k8s-liveness-probe;docker-linux-deployments;see-also] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-local-monitor.adoc b/gateway/1.6/modules/ROOT/pages/flex-local-monitor.adoc deleted file mode 100644 index ff961bc1f..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-local-monitor.adoc +++ /dev/null @@ -1,12 +0,0 @@ -= Monitoring in Local Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Flex Gateway running in Local Mode enables you to monitor APIs independent of Anypoint Platform. Using declarative configuration files, you configure Flex Gateway to deliver logs to different Fluent Bit outputs. - -Refer to the following tasks for details about monitoring in Local Mode: - -* xref:flex-local-third-party-logs-config.adoc[Configure External Logs for Flex Gateway in Local Mode] - Configure log output for Fluent Bit output types. Output types include `File`, `HTTP`, and `Splunk`. -* xref:flex-local-view-logs.adoc[View Standard Output Logs] - View Flex Gateway standard output logs. Quickly verify the status of external services and API requests. diff --git a/gateway/1.6/modules/ROOT/pages/flex-local-proxy-protocol.adoc b/gateway/1.6/modules/ROOT/pages/flex-local-proxy-protocol.adoc deleted file mode 100644 index 1ff9320d0..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-local-proxy-protocol.adoc +++ /dev/null @@ -1,20 +0,0 @@ -= Configuring PROXY Protocol in Local Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:page-mode: local - -include::partial$task-config-proxy-protocol.adoc[tags=intro1;icon-table;byb] - -include::partial$task-config-proxy-protocol.adoc[tags=linux;sample-config] - -include::partial$task-config-proxy-protocol.adoc[tags=docker-intro] -+ -include::partial$task-reg-run-flex-gateway.adoc[tags=start-command-local] -+ -include::partial$task-config-proxy-protocol.adoc[tags=docker-config-file-step;sample-config] - -include::partial$task-config-proxy-protocol.adoc[tags=k8s;sample-config] - -include::partial$task-config-proxy-protocol.adoc[tags=see-also] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-local-publish-api-multiple-services.adoc b/gateway/1.6/modules/ROOT/pages/flex-local-publish-api-multiple-services.adoc deleted file mode 100644 index f9bce4d46..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-local-publish-api-multiple-services.adoc +++ /dev/null @@ -1,270 +0,0 @@ -= Publishing an API with Multiple Upstream Services in Local Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Flex Gateway running in Local Mode supports API instances that expose multiple upstream services through a single consumer endpoint. - -Flex Gateway manages traffic by using multiple routes with a defined route order and individual rulesets to direct traffic to different sets of upstream services. Each API instance supports multiple routes that can each direct traffic to multiple upstream services. - -For Flex Gateways running in Local Mode, API instances with multiple upstream services are configured by using the `ApiInstance` and the `PolicyBinding` YAML configuration resources. The `ApiInstance` resource defines an API instance, and the `route-weighted` policy resource defines a single route to one or multiple upstream services. To add additional routes, add multiple `route-weighted` resources. - -The following tutorials use a preconfigured `route-weighted` policy resource. For information about how to configure the resource, see xref:policies-included-traffic-management.adoc[]. - -[cols="1a,1a,1a"] -|=== -|image:install-linux-logo.png[20%,20%,xref="#linux"] -|image:install-docker-logo.png[25%,25%,xref="docker"] -|image:install-kubernetes-logo.png[20%,20%,xref="kubernetes"] - -|<> -|<> -|<> -|=== - -[[linux]] -== Publish an API Running Behind Flex Gateway on Linux - -=== Before You Begin - -Before getting started, ensure that you have: - -* Downloaded Flex Gateway. For more information, see xref:flex-install.adoc[]. -* Registered Flex Gateway and are running it in Local Mode. For more information, see xref:flex-local-reg-run.adoc[Register and Run in Local Mode]. -* Your upstream service URLs. - -=== Publish an API - -. Create a configuration file with a `.yaml` file extension: -.. Give the file a custom name. -.. Save the file in the Flex Gateway configuration directory `/etc/mulesoft/flex-gateway/conf.d/custom`. This directory can contain multiple configuration files. - -. Copy and paste the following YAML snippet into the file, substituting the configuration field values with your values. -+ -The snippet refers to the fictional `products-api` and `products-api-beta` services and a fictional `json-http` API instance. Specify your own API name and your own service details: -+ ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: ApiInstance -metadata: - name: json-http -spec: - address: http://0.0.0.0:8080/json -​ ---- -​ -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: weight-routing-test -spec: - targetRef: - name: json-http - policyRef: - name: route-weighted - config: - routes: - - weight: 75 # max_value=100, min_value=1 - destinationPath: /posts/ - destinationRef: - name: products-api - - weight: 25 - destinationPath: /posts/ - destinationRef: - name: products-api-beta - rules: - - path: (.*) - methods: POST - headers: - x-test: true - host: test.com - - methods: GET|POST - headers: - x-test: true - y-test: false - host: test.com ----- - -. Save the file. The gateway automatically refreshes the configuration. -+ -. View the logs by executing the following command: -+ ----- -journalctl -u flex-gateway-* ----- -+ -The response looks something like this: -+ ----- -[agent][info] Generating config -[agent][info] Gateway default/18b4e890fe7d: Adding ApiInstance default/products-users-api http://0.0.0.0:8080 -[agent][info] Gateway default/18b4e890fe7d: Adding Route: &{host: path:/api/products(/.*) methods: headerConditions:[] profile:0xc0030529f0} => {Kind:Service Name:products-users-api-products Namespace:default} -[agent][info] Gateway default/18b4e890fe7d: Adding Route: &{host: path:/api/users(/.*) methods: headerConditions:[] profile:0xc0030529f0} => {Kind:Service Name:products-users-api-users Namespace:default} -[agent][info] Gateway default/18b4e890fe7d: Adding Policy default/envoy.filters.http.router -[agent][info] Gateway default/18b4e890fe7d: Adding Service default/monitoring_metrics http://0.0.0.0:9881 -[agent][debug] generating service monitoring_metrics.default.svc hostname: 0.0.0.0 port: 9881 -[agent][info] Gateway default/18b4e890fe7d: Adding Service default/products-users-api-products https://:/ -[agent][info] Gateway default/18b4e890fe7d: Adding Service default/products-users-api-users https://:/ -[agent][debug] generating service products-users-api-products.default.svc hostname: port: -[agent][debug] generating service products-users-api-users.default.svc hostname: port: -[agent][info] Writing envoy bootstrap configuration to /tmp/envoy.json -[envoy][info] cds: add 2 cluster(s), remove 2 cluster(s) -[envoy][info] cds: added/updated 1 cluster(s), skipped 1 unmodified cluster(s) ----- - -An API with multiple upstream services now runs behind Flex Gateway. - -[[docker]] -== Publish an API Running Behind Flex Gateway in a Docker Container - -=== Before You Begin - -Before getting started, ensure that you have: - -* Downloaded Flex Gateway. For more information, see xref:flex-install.adoc[]. -* Registered Flex Gateway and are running it in Local Mode. For more information, see xref:flex-local-reg-run.adoc[Register and Run in Local Mode]. -* Your upstream service URLs. - -=== Publish an API - -. Open a terminal and navigate to the directory that will contain your Flex Gateway configuration files. This directory was specified when you started Flex Gateway. - -. Create a configuration file with a `.yaml` file extension: -.. Give the file a custom name. -.. Save the file. - -. Copy and paste the following YAML snippet into the file, substituting configuration fields with your values. -+ -The snippet refers to the fictional `products-api` and `products-api-beta` services and a fictional `json-http` API instance. Specify your own API name and your own service details: -+ ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: ApiInstance -metadata: - name: json-http -spec: - address: http://0.0.0.0:8080/json -​ ---- -​ -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: weight-routing-test -spec: - targetRef: - name: json-http - policyRef: - name: route-weighted - config: - routes: - - weight: 75 # max_value=100, min_value=1 - destinationPath: /posts/ - destinationRef: - name: products-api - - weight: 25 - destinationPath: /posts/ - destinationRef: - name: products-api-beta - rules: - - path: (.*) - methods: POST - headers: - x-test: true - host: test.com - - methods: GET|POST - headers: - x-test: true - y-test: false - host: test.com ----- - -. Save the file. The gateway automatically refreshes the configuration. - -. View the Docker container logs, which look something like this: -+ ----- -[agent][info] Generating config -[agent][info] Gateway default/18b4e890fe7d: Adding ApiInstance default/products-users-api http://0.0.0.0:8080 -[agent][info] Gateway default/18b4e890fe7d: Adding Route: &{host: path:/api/products(/.*) methods: headerConditions:[] profile:0xc0030529f0} => {Kind:Service Name:products-users-api-products Namespace:default} -[agent][info] Gateway default/18b4e890fe7d: Adding Route: &{host: path:/api/users(/.*) methods: headerConditions:[] profile:0xc0030529f0} => {Kind:Service Name:products-users-api-users Namespace:default} -[agent][info] Gateway default/18b4e890fe7d: Adding Policy default/envoy.filters.http.router -[agent][info] Gateway default/18b4e890fe7d: Adding Service default/monitoring_metrics http://0.0.0.0:9881 -[agent][debug] generating service monitoring_metrics.default.svc hostname: 0.0.0.0 port: 9881 -[agent][info] Gateway default/18b4e890fe7d: Adding Service default/products-users-api-products https://:/ -[agent][info] Gateway default/18b4e890fe7d: Adding Service default/products-users-api-users https://:/ -[agent][debug] generating service products-users-api-products.default.svc hostname: port: -[agent][debug] generating service products-users-api-users.default.svc hostname: port: -[agent][info] Writing envoy bootstrap configuration to /tmp/envoy.json -[envoy][info] cds: add 2 cluster(s), remove 2 cluster(s) -[envoy][info] cds: added/updated 1 cluster(s), skipped 1 unmodified cluster(s) ----- - -An API with multiple upstream services is now running behind Flex Gateway. - -[[kubernetes]] -== Publish an API Running Behind Flex Gateway in a Kubernetes Cluster - -=== Before You Begin - -Before getting started, ensure that you have: - -* Downloaded Flex Gateway. For more information, see xref:flex-install.adoc[]. -* Registered Flex Gateway and are running it in Local Mode. For more information, see xref:flex-local-reg-run.adoc[Register and Run in Local Mode]. -* Your upstream service URLs. - -include::partial$kubernetes-service-note.adoc[] - -=== Publish an API - -. Use the `kubectl apply` command to apply the following `.yaml` configuration file, substituting the configuration field values with your values. -+ -The snippet refers to the fictional `products-api` and `products-api-beta` services and a fictional `json-http` API instance. Specify your own API name and your own service details: -+ ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: ApiInstance -metadata: - name: json-http -spec: - address: http://0.0.0.0:8080/json -​ ---- -​ -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: weight-routing-test -spec: - targetRef: - name: json-http - policyRef: - name: route-weighted - config: - routes: - - weight: 75 # max_value=100, min_value=1 - destinationPath: /posts/ - destinationRef: - name: products-api - - weight: 25 - destinationPath: /posts/ - destinationRef: - name: products-api-beta - rules: - - path: (.*) - methods: POST - headers: - x-test: true - host: test.com - - methods: GET|POST - headers: - x-test: true - y-test: false - host: test.com ----- - -. Enter the following command to view the pods logs and ensure that the API was created successfully: + ----- -kubectl logs -f ----- diff --git a/gateway/1.6/modules/ROOT/pages/flex-local-publish-simple-api.adoc b/gateway/1.6/modules/ROOT/pages/flex-local-publish-simple-api.adoc deleted file mode 100644 index 23129b068..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-local-publish-simple-api.adoc +++ /dev/null @@ -1,241 +0,0 @@ -= Publishing a Simple API in Local Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Publish a simple API running behind Flex Gateway in Local Mode, modifying YAML configuration data by one of the following methods: - -* Linux and Docker: `.yaml` files -* Kubernetes: `kubectl apply` - -The following procedures demonstrate applying a simple YAML configuration for an unsecured API with a single upstream service. - -//TODO: IS THERE AN OPENSHIFT OPTION HERE? -[cols="1a,1a,1a"] -|=== -|image:install-linux-logo.png[20%,20%,xref="#linux"] -|image:install-docker-logo.png[25%,25%,xref="docker"] -|image:install-kubernetes-logo.png[20%,20%,xref="kubernetes"] - -|<> -|<> -|<> -|=== - -[[linux]] -== Publish an API Running Behind Flex Gateway on Linux - -//TODO: NEED INTRO HERE - -=== Before You Begin - -Before getting started, ensure that you have: - -* Flex Gateway installed and running in Local Mode. See xref:flex-install.adoc[] for more information about installing and running the gateway. -* Your upstream service URL. The following example refers to a fictional `orders-api` service, but you can specify your own API name in `metadata.name` and your service details in `spec.services`. - -=== Publish an API - -. Create a configuration file with a `.yaml` file extension: -.. Give the file a custom name. -.. Save the file in the Flex Gateway configuration directory `/etc/mulesoft/flex-gateway/conf.d/custom`. This directory can contain multiple configuration files. - -. Copy and paste the following YAML snippet into the file, substituting your values where indicated: -+ ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: ApiInstance -metadata: - name: orders-api -spec: - address: http://0.0.0.0:8080 - services: - orders: - address: https://:/ - routes: - - rules: - - path: /api/orders(/.*) ----- - -. Save the file. The gateway automatically refreshes the configuration. - -. View the logs by executing the following command: -+ ----- -journalctl -u flex-gateway-* ----- -+ -The response looks something like this: -+ ----- -[agent][info] Generating config -[agent][info] Gateway default/18b4e890fe7d: Adding ApiInstance default/animal-facts-api http://0.0.0.0:8080 -[agent][info] Gateway default/18b4e890fe7d: Adding Route: &{host: path:/api/orders(/.*) methods: headerConditions:[] profile:0xc0030529f0} => {Kind:Service Name:orders-api-orders Namespace:default} -[agent][info] Gateway default/18b4e890fe7d: Adding Policy default/envoy.filters.http.router -[agent][info] Gateway default/18b4e890fe7d: Adding Service default/monitoring_metrics http://0.0.0.0:9881 -[agent][debug] generating service monitoring_metrics.default.svc hostname: 0.0.0.0 port: 9881 -[agent][info] Gateway default/18b4e890fe7d: Adding Service default/orders-api-orders https://:/ -[agent][debug] generating service orders-api-orders.default.svc hostname: port: -[agent][info] Writing envoy bootstrap configuration to /tmp/envoy.json -[envoy][info] cds: add 2 cluster(s), remove 2 cluster(s) -[envoy][info] cds: added/updated 1 cluster(s), skipped 1 unmodified cluster(s) ----- - -A simple API is now running behind Flex Gateway. - -[[docker]] -== Publish an API Running Behind Flex Gateway in a Docker Container - -//TODO: NEED INTRO HERE - -=== Before You Begin - -Before getting started, ensure that you have: - -* Flex Gateway installed. See xref:flex-install.adoc[] for more information. -* Flex Gateway registered and running in Local Mode. See xref:flex-local-reg-run.adoc[Register and Run in Local Mode] for more information. -* Your upstream service URL. The following example refers to a fictional `orders-api` service, but you can specify your own API name in `metadata.name` and your service details in `spec.services`. - -=== Publish an API - -. Open a terminal and navigate to the directory that will contain your Flex Gateway configuration files. This directory was specified when you started Flex Gateway. - -. Create a configuration file with a `.yaml` file extension: -.. Give the file a custom name. -.. Save the file. - -. Copy and paste the following YAML snippet into the file, substituting your values where indicated: -+ ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: ApiInstance -metadata: - name: orders-api -spec: - address: http://0.0.0.0:8080 - services: - orders: - address: https://:/ - routes: - - rules: - - path: /api/orders(/.*) ----- - -. Save the file. The gateway automatically refreshes the configuration. - -. View the Docker container logs, which look something like this: -+ ----- -[agent][info] Generating config -[agent][info] Gateway default/18b4e890fe7d: Adding ApiInstance default/animal-facts-api http://0.0.0.0:8080 -[agent][info] Gateway default/18b4e890fe7d: Adding Route: &{host: path:/api/orders(/.*) methods: headerConditions:[] profile:0xc0030529f0} => {Kind:Service Name:orders-api-orders Namespace:default} -[agent][info] Gateway default/18b4e890fe7d: Adding Policy default/envoy.filters.http.router -[agent][info] Gateway default/18b4e890fe7d: Adding Service default/monitoring_metrics http://0.0.0.0:9881 -[agent][debug] generating service monitoring_metrics.default.svc hostname: 0.0.0.0 port: 9881 -[agent][info] Gateway default/18b4e890fe7d: Adding Service default/orders-api-orders https://:/ -[agent][debug] generating service orders-api-orders.default.svc hostname: port: -[agent][info] Writing envoy bootstrap configuration to /tmp/envoy.json -[envoy][info] cds: add 2 cluster(s), remove 2 cluster(s) -[envoy][info] cds: added/updated 1 cluster(s), skipped 1 unmodified cluster(s) ----- - -A simple API is now running behind Flex Gateway. - -[[kubernetes]] -== Publish an API Running Behind Flex Gateway in a Kubernetes Cluster - -//TODO: NEED INTRO HERE - -=== Before You Begin - -Before getting started, ensure that you have: - -* Flex Gateway installed and running in Local Mode. See xref:flex-install.adoc[] for more information about installing and running the gateway. -* A Docker image stored in a Docker repository. The following example refers to a fictional `orders-api` application, but you can specify your own Docker repository and Docker image in the `Deployment` configuration resource (in `spec.spec.image`). - -include::partial$kubernetes-service-note.adoc[] - -=== Publish an API - -. Using the `kubectl apply` command, install a Docker image named "orders-api" from a given repository. -+ -The following YAML snippet defines two configuration resources: `Service`, and `Deployment`. The `Service` resource declares the `orders-api` service. The `Deployment` resource declares the desired deployment state by specifying information such as the number of replicas to create, and the Docker image to sideload. -+ ----- -cat </ - imagePullPolicy: IfNotPresent - name: orders-api - ports: - - name: http - containerPort: 3000 - resources: - limits: - cpu: 100m - memory: 64Mi -EOF ----- - -. Again using `kubectl apply`, create the ingress to route traffic. -+ -The following YAML example defines one configuration resource: `Ingress`. -+ ----- -cat <> for configuration options. -//- add chart repo and deploy flex via chart -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart-add;k8s-flex-helm-chart-deploy-local] - -[[helm-options-k8s]] -//helm config options -include::partial$task-reg-run-flex-gateway.adoc[tags=helm-chart-options] - - -// OPENSHIFT -[[openshift]] -// Register and run with a connected app in an OpenShift cluster -//heading -include::partial$task-reg-run-flex-gateway.adoc[tags=app-openshift-heading] -//intro -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-intro-local] -//- cluster-level access when rbac enabled, as for OpenShift -include::partial$prerequisites.adoc[tags=rbac-permission-k8;rbac-role-openshift] -//- note (openshift command line procedures same as k8) -include::partial$task-reg-run-flex-gateway.adoc[tags=note-openshift-k8] -//- links to steps -include::partial$task-reg-run-flex-gateway.adoc[tags=links-to-openshift-reg-steps] -//- local mode supplemental info for k8 and openshift -include::partial$task-reg-run-flex-gateway.adoc[tag=k8s-local-intro] - -[[options-openshift]] -//sub collected info -include::partial$task-reg-run-flex-gateway.adoc[tags=sub-coll-info;app-replace-content;environment-replace-content;replace-content] - -[[reg-openshift]] -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-heading] - -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-openshift-heading-intro] - -[[docker-openshift-container-reg]] -.*Docker* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=docker-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;docker-reg-command;app-reg-command;environment-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg] -==== - -[[podman-openshift-container-reg]] -.*Podman* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=podman-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;podman-reg-command;app-reg-command;environment-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg] -==== - -[[deploy-openshift]] -//install helm chart -//- title -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-title] -//- helm chart info -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart] -include::partial$prerequisites.adoc[tags=helm] -Refer to <> for configuration options. -//- add chart repo and deploy flex via chart -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart-add;k8s-flex-helm-chart-deploy-local] - -[[helm-options-openshift]] -//helm config options -include::partial$task-reg-run-flex-gateway.adoc[tags=helm-chart-options] - - -== See Also - -* xref:flex-gateway-getting-started.adoc[] -* xref:flex-conn-reg-run.adoc[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-local-reg-run-token.adoc b/gateway/1.6/modules/ROOT/pages/flex-local-reg-run-token.adoc deleted file mode 100644 index a52629053..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-local-reg-run-token.adoc +++ /dev/null @@ -1,155 +0,0 @@ -= Registering and Running in Local Mode with a Token -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:reg-mode: Local - -//table with tech logos and links (linux, docker, k8, openshift) -include::partial$task-reg-run-flex-gateway.adoc[tags=table-logos-links] - -[[prereqs]] -// Prerequisites -include::partial$task-reg-run-flex-gateway.adoc[tags=prerequisites-heading;prerequisites;token-prerequisites] - -[[linux]] -// Register and run with a username and password as a Linux service -include::partial$task-reg-run-flex-gateway.adoc[tags=token-linux-heading;reg-command-intro;sub-coll-info;token-replace-content;replace-content;reg-command-heading;reg-command-1;linux-reg-command;token-reg-command;organization-reg-command;output-reg-command-linux;reg-command-2;after-reg;linux-after-reg;create-config-folder-file;config-content;linux-start-commands] - -[[container]] -include::partial$task-reg-run-flex-gateway.adoc[tags=token-container-heading] -include::partial$task-reg-run-flex-gateway.adoc[tags=table-containers-logos-heading] -include::partial$task-reg-run-flex-gateway.adoc[tags=table-containers-logos-links] - -[[docker]] -// Register and run with a token in a Docker container -include::partial$task-reg-run-flex-gateway.adoc[tags=token-docker-heading;reg-command-intro;sub-coll-info-container;token-replace-content;replace-content;reg-command-heading-container;docker-create-directory-note;reg-command-1;docker-reg-command;token-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;after-reg-2;start-command-local-intro;start-command-local;start-command-local-valid] - -// PODMAN -[[podman]] -// Register and run with a token in a Podman container -include::partial$task-reg-run-flex-gateway.adoc[tags=token-podman-heading;reg-command-intro;sub-coll-info-container;token-replace-content;replace-content;reg-command-heading-container;docker-create-directory-note;reg-command-1;podman-reg-command;token-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;after-reg-2;start-command-local-intro;podman-start-command-local;start-command-local-valid] - -// KUBERNETES -[[kubernetes]] -// Register and run with a token in a kubernetes cluster -//heading -include::partial$task-reg-run-flex-gateway.adoc[tags=token-k8s-heading] -//intro -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-intro-local] -//- cluster-level access when rbac enabled, as for OpenShift -include::partial$prerequisites.adoc[tags=rbac-permission-k8] -//- links to steps -include::partial$task-reg-run-flex-gateway.adoc[tags=links-to-k8s-reg-steps] -//- local mode supplemental info for k8 and openshift -include::partial$task-reg-run-flex-gateway.adoc[tag=k8s-local-intro] - -[[options-k8s]] -//sub collected info -include::partial$task-reg-run-flex-gateway.adoc[tags=sub-coll-info;token-replace-content;replace-content] - -[[reg-k8s]] -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-heading] -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-heading-intro] - -[[docker-container-reg]] -.*Docker* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=docker-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;docker-reg-command;token-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg] -==== - -[[podman-container-reg]] -.*Podman* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=podman-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;podman-reg-command;token-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg] -==== - -[[deploy-k8s]] -//install helm chart -//- title -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-title] -//- helm chart info -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart] -include::partial$prerequisites.adoc[tags=helm] -Refer to <> for configuration options. -//- add chart repo and deploy flex via chart -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart-add;k8s-flex-helm-chart-deploy-local] - -[[helm-options-k8s]] -//helm config options -include::partial$task-reg-run-flex-gateway.adoc[tags=helm-chart-options] - - -// OPENSHIFT -[[openshift]] -// Register and run with a token in an OpenShift cluster -//heading -include::partial$task-reg-run-flex-gateway.adoc[tags=token-openshift-heading] -//intro -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-intro-local] -//- cluster-level access when rbac enabled, as for OpenShift -include::partial$prerequisites.adoc[tags=rbac-permission-k8;rbac-role-openshift] -//- note (openshift command line procedures same as k8) -include::partial$task-reg-run-flex-gateway.adoc[tags=note-openshift-k8] -//- links to steps -include::partial$task-reg-run-flex-gateway.adoc[tags=links-to-openshift-reg-steps] -//- local mode supplemental info for k8 and openshift -include::partial$task-reg-run-flex-gateway.adoc[tag=k8s-local-intro] - -[[options-openshift]] -//sub collected info -include::partial$task-reg-run-flex-gateway.adoc[tags=sub-coll-info;token-replace-content;replace-content] - -[[reg-openshift]] -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-heading] - -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-openshift-heading-intro] - -[[docker-openshift-container-reg]] -.*Docker* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=docker-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;docker-reg-command;token-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg] -==== - -[[podman-openshift-container-reg]] -.*Podman* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=podman-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;podman-reg-command;token-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg] -==== - -[[deploy-openshift]] -//install helm chart -//- title -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-title] -//- helm chart info -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart] -include::partial$prerequisites.adoc[tags=helm] -Refer to <> for configuration options. -//- add chart repo and deploy flex via chart -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart-add;k8s-flex-helm-chart-deploy-local] - -[[helm-options-openshift]] -//helm config options -include::partial$task-reg-run-flex-gateway.adoc[tags=helm-chart-options] - - -== See Also - -* xref:flex-gateway-getting-started.adoc[] -* xref:flex-conn-reg-run.adoc[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-local-reg-run-up.adoc b/gateway/1.6/modules/ROOT/pages/flex-local-reg-run-up.adoc deleted file mode 100644 index 3e8188b81..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-local-reg-run-up.adoc +++ /dev/null @@ -1,155 +0,0 @@ -= Registering and Running in Local Mode with a Username and Password -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:reg-mode: Local - -//table with tech logos and links (linux, docker, k8, openshift) -include::partial$task-reg-run-flex-gateway.adoc[tags=table-logos-links] - -[[prereqs]] -// Prerequisites -include::partial$task-reg-run-flex-gateway.adoc[tags=prerequisites-heading;prerequisites;environment-prerequisites;user-prerequisites] - -[[linux]] -// Register and run with a username and password as a Linux service -include::partial$task-reg-run-flex-gateway.adoc[tags=user-linux-heading;reg-command-intro;sub-coll-info;user-replace-content;environment-replace-content;replace-content;reg-command-heading;reg-command-1;linux-reg-command;user-reg-command;environment-reg-command;organization-reg-command;output-reg-command-linux;reg-command-2;after-reg;linux-after-reg;create-config-folder-file;config-content;linux-start-commands] - -[[container]] -include::partial$task-reg-run-flex-gateway.adoc[tags=user-container-heading] -include::partial$task-reg-run-flex-gateway.adoc[tags=table-containers-logos-heading] -include::partial$task-reg-run-flex-gateway.adoc[tags=table-containers-logos-links] - -[[docker]] -// Register and run with a username and password in a Docker container -include::partial$task-reg-run-flex-gateway.adoc[tags=user-docker-heading;reg-command-intro;sub-coll-info-container;user-replace-content;environment-replace-content;replace-content;reg-command-heading-container;docker-create-directory-note;reg-command-1;docker-reg-command;user-reg-command;environment-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;after-reg-2;start-command-local-intro;start-command-local;start-command-local-valid] - -// PODMAN -[[podman]] -// Register and run with a username and password in a Podmsn container -include::partial$task-reg-run-flex-gateway.adoc[tags=user-podman-heading;reg-command-intro;sub-coll-info-container;user-replace-content;environment-replace-content;replace-content;reg-command-heading-container;docker-create-directory-note;reg-command-1;podman-reg-command;user-reg-command;environment-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;after-reg-2;start-command-local-intro;podman-start-command-local;start-command-local-valid] - -// KUBERNETES -[[kubernetes]] -// Register and run with a username and password in a kubernetes cluster -//heading -include::partial$task-reg-run-flex-gateway.adoc[tags=user-k8s-heading] -// - task overview -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-intro-local] -//- cluster-level access when rbac enabled, as for OpenShift -include::partial$prerequisites.adoc[tags=rbac-permission-k8] -//- links to steps -include::partial$task-reg-run-flex-gateway.adoc[tags=links-to-k8s-reg-steps] -//- local mode supplemental info for k8 and openshift -include::partial$task-reg-run-flex-gateway.adoc[tag=k8s-local-intro] - -[[options-k8s]] -//sub collected info -include::partial$task-reg-run-flex-gateway.adoc[tags=sub-coll-info;user-replace-content;environment-replace-content;replace-content] - -[[reg-k8s]] -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-heading] -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-heading-intro] - -[[docker-container-reg]] -.*Docker* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=docker-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;docker-reg-command;user-reg-command;environment-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg] -==== - -[[podman-container-reg]] -.*Podman* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=podman-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;podman-reg-command;user-reg-command;environment-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg] -==== - -[[deploy-k8s]] -//install helm chart -//- title -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-title] -//- helm chart info -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart] -include::partial$prerequisites.adoc[tags=helm] -Refer to <> for configuration options. -//- add chart repo and deploy flex via chart -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart-add;k8s-flex-helm-chart-deploy-local] - -[[helm-options-k8s]] -//helm config options -include::partial$task-reg-run-flex-gateway.adoc[tags=helm-chart-options] - - -// OPENSHIFT -[[openshift]] -// Register and run with a username and password in a openshift cluster -//heading -include::partial$task-reg-run-flex-gateway.adoc[tags=user-openshift-heading] -// - task overview -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-intro-local] -//- cluster-level access when rbac enabled, as for OpenShift -include::partial$prerequisites.adoc[tags=rbac-permission-k8;rbac-role-openshift] -//- note (openshift command line procedures same as k8) -include::partial$task-reg-run-flex-gateway.adoc[tags=note-openshift-k8] -//- links to steps -include::partial$task-reg-run-flex-gateway.adoc[tags=links-to-openshift-reg-steps] -//- local mode supplemental info for k8 and openshift -include::partial$task-reg-run-flex-gateway.adoc[tag=k8s-local-intro] - -[[options-openshift]] -//sub collected info -include::partial$task-reg-run-flex-gateway.adoc[tags=sub-coll-info;user-replace-content;environment-replace-content;replace-content] - -[[reg-openshift]] -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-heading] - -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-openshift-heading-intro] - -[[docker-openshift-container-reg]] -.*Docker* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=docker-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;docker-reg-command;user-reg-command;environment-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg] -==== - -[[podman-openshift-container-reg]] -.*Podman* -[%collapsible] -==== -include::partial$task-reg-run-flex-gateway.adoc[tags=podman-reg-command-heading-intro] - -//reg command -include::partial$task-reg-run-flex-gateway.adoc[tags=reg-command-1;podman-reg-command;user-reg-command;environment-reg-command;organization-reg-command;output-reg-command-docker;reg-command-2;after-reg;k8s-after-reg] -==== - -[[deploy-openshift]] -//install helm chart -//- title -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-install-flex-helm-chart-title] -//- helm chart info -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart] -include::partial$prerequisites.adoc[tags=helm] -Refer to <> for configuration options. -//- add chart repo and deploy flex via chart -include::partial$task-reg-run-flex-gateway.adoc[tags=k8s-flex-helm-chart-add;k8s-flex-helm-chart-deploy-local] - -[[helm-options-openshift]] -//helm config options -include::partial$task-reg-run-flex-gateway.adoc[tags=helm-chart-options] - - -== See Also - -* xref:flex-gateway-getting-started.adoc[] -* xref:flex-conn-reg-run.adoc[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-local-reg-run.adoc b/gateway/1.6/modules/ROOT/pages/flex-local-reg-run.adoc deleted file mode 100644 index a6bf6c9a5..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-local-reg-run.adoc +++ /dev/null @@ -1,18 +0,0 @@ -= Registering and Running Flex Gateway in Local Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Before you can use your Flex Gateway to configure API instances, you must register and start the gateway. - -There are three options for registering Flex Gateway in Local Mode: - -* xref:flex-local-reg-run-up.adoc[Register and Run using a Username and Password]: If you have -a username and password for Anypoint Platform, you can use these credentials to register -your Flex Gateway. -* xref:flex-local-reg-run-app.adoc[Register and Run using a Connected App]: If you do not have -a username or password for Anypoint Platform, you can use connected app credentials to register -your Flex Gateway. -* xref:flex-local-reg-run-token.adoc[Register and Run using a Token]: If you do not have a username -or password for Anypoint Platform, you can use a registration token generated by the Runtime Manager UI. \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-local-rep-run.adoc b/gateway/1.6/modules/ROOT/pages/flex-local-rep-run.adoc deleted file mode 100644 index df1d244e1..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-local-rep-run.adoc +++ /dev/null @@ -1,27 +0,0 @@ -= Configuring Replicas for Flex Gateway in Local Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -[cols="1a,1a"] -|=== -|image:install-linux-logo.png[20%,20%,xref="flex-local-rep-run.adoc#add-a-flex-replica-as-a-linux-service"] -|image:install-docker-logo.png[25%,25%,xref="flex-local-rep-run.adoc#docker"] - -|xref:flex-local-rep-run.adoc#add-a-flex-replica-as-a-linux-service[Add a Flex Replica as a Linux Service] -|xref:flex-local-rep-run.adoc#docker[] -|=== - -include::partial$task-rep-run-flex-gateway.adoc[tags=add-flex-intro] - -include::partial$task-rep-run-flex-gateway.adoc[tags=add-flex-rep-byb;add-flex-rep-byb-local;add-flex-rep1] - -include::partial$task-reg-run-flex-gateway.adoc[tags=create-config-folder-file;config-content;linux-start-commands] - -[[docker]] -== Add a Flex Replica in a Docker Container - -To add a Flex Replica in a Docker Container you must run the Flex Gateway start command using the same `registration.yaml` file created during registration. If you are running the container locally, you will also need to use a different port. - -include::partial$task-reg-run-flex-gateway.adoc[tags=start-command-local] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-local-secure-api-with-auto-policy.adoc b/gateway/1.6/modules/ROOT/pages/flex-local-secure-api-with-auto-policy.adoc deleted file mode 100644 index 288c46e2d..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-local-secure-api-with-auto-policy.adoc +++ /dev/null @@ -1,316 +0,0 @@ -= Secure an API with an Automated Resource-Level Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Publish an API running behind Flex Gateway in Local Mode, modifying YAML configuration data by the following method: - -* Linux and Docker: `.yaml` files - -The following procedures demonstrate applying a simple resource-based YAML configuration for an API with multiple upstream services, all secured with an automated resource-level authentication policy. - -Refer to xref:policies-automated-overview.adoc[Automated Policies] and xref:policies-resource-level-overview.adoc[Resource-Level Policies] for more information. - -[NOTE] -==== -Automated policies can only be defined in resource-based configurations. The inline configuration model is not supported. For more information about the difference between resource-based and inline configuration models, see xref:flex-local-configuration-reference-guide.adoc[Declarative Configuration Reference Guide]. -==== - -[cols="1,1"] -|=== - -|image:install-linux-logo.png[20%,20%,xref="flex-local-secure-api-with-auto-policy.adoc#publish-an-api-running-behind-flex-gateway-on-linux"] - -|image:install-docker-logo.png[25%,25%,xref="flex-local-secure-api-with-auto-policy.adoc#publish-an-api-running-behind-flex-gateway-in-a-docker-container"] - -|xref:flex-local-secure-api-with-auto-policy.adoc#publish-an-api-running-behind-flex-gateway-on-linux[Publish an API Running Behind Flex Gateway on Linux] - -|xref:flex-local-secure-api-with-auto-policy.adoc#publish-an-api-running-behind-flex-gateway-in-a-docker-container[Publish an API Running Behind Flex Gateway in a Docker Container] - -|=== - -== Publish an API Running Behind Flex Gateway on Linux - -=== Before You Begin - -Before getting started, ensure that you have: - -* Flex Gateway installed and running in local mode. See xref:flex-install.adoc[] for more information about installing and running the gateway. -* Your upstream service URLs. The following example refers to fictional `products-api` and `users-api` services, but you can specify your own API name in `metadata.name` and your service details in `spec.services`. - -=== Publish an API - -. Create a configuration file with a `.yaml` file extension: -.. Give the file a custom name. -.. Save the file in the Flex Gateway configuration directory `/etc/mulesoft/flex-gateway/conf.d/custom`. This directory can contain multiple configuration files. - -. Copy and paste the following two `ApiInstance` resources into the file, substituting your values where indicated: -+ ----- ---- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: ApiInstance -metadata: - name: products-api - labels: - secured-by-automated-policy: yes -spec: - address: http://0.0.0.0:8080 - services: - products: - address: https://:/ - routes: - - rules: - - path: /products(/.*) - - path: /products-featured(/.*) - config: - destinationPath: /api ---- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: ApiInstance -metadata: - name: users-api - labels: - secured-by-automated-policy: yes -spec: - address: http://0.0.0.0:8081 - services: - users: - address: https://:/ - routes: - - rules: - - path: /api/users(/.*) ----- - -. Define an automated xref:policies-included-basic-auth-simple.adoc[basic authentication policy] by adding the following `PolicyBinding` resource after the `ApiInstance` resources: -+ ----- ---- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: security-protection -spec: - targetRef: - kind: Selector - selector: - kind: ApiInstance - labels: - secured-by-automated-policy: yes - policyRef: - name: http-basic-authentication-flex - config: - username: chris - password: admin ----- -+ -Applying an automated policy to multiple API instances requires that you specify the `Selector` `kind` in your policy binding. The example `PolicyBinding` resource includes a `spec.targetRef.kind` value of `Selector`, and a `spec.targetRef.selector.kind` value of `ApiInstance`. -+ -The example resource also applies a basic authentication policy to two API instances. It defines a `secured-by-automated-policy` label (the label name is customizable) in `spec.targetRef.selector.labels`. This label matches the label defined in the `ApiInstance` `metadata.labels` property, which associates the automated policy with that resource. -+ -Alternatively, automated policies can be applied to all API instances by omitting the labels. - -. Save the file. The gateway automatically refreshes the configuration. -+ -. View the logs by executing the following command: -+ ----- -journalctl -u flex-gateway-* ----- -+ -The response looks something like this: -+ ----- -[agent][info] Generating config -[agent][info] Gateway default/21cf4286e38f: Adding ApiInstance default/products-api http://0.0.0.0:8080 -[agent][info] Gateway default/21cf4286e38f: Adding Policy default/security-protection -[agent][info] Gateway default/21cf4286e38f: Adding Route: &{host: path:/api/products(/.*) methods: headerConditions:[] profile:0xc00004f750} => {Kind:Service Name:products-api-products Namespace:default} -[agent][info] Gateway default/21cf4286e38f: Adding Policy default/envoy.filters.http.router -[agent][info] Gateway default/21cf4286e38f: Adding ApiInstance default/users-api http://0.0.0.0:8081 -[agent][info] Gateway default/21cf4286e38f: Adding Policy default/security-protection -[agent][info] Gateway default/21cf4286e38f: Adding Route: &{host: path:/api/users(/.*) methods: headerConditions:[] profile:0xc0061823f0} => {Kind:Service Name:users-api-users Namespace:default} -[agent][info] Gateway default/21cf4286e38f: Adding Policy default/envoy.filters.http.router -[agent][info] Gateway default/21cf4286e38f: Adding Service default/products-api-products https://:/ -[agent][debug] generating service products-api-products.default.svc hostname: https:// port: -[agent][info] Gateway default/21cf4286e38f: Adding Service default/users-api-users https://:/ -[agent][debug] generating service users-api-users.default.svc hostname: https:// port: -[agent][info] Writing envoy bootstrap configuration to /tmp/envoy.json -[envoy][info] cds: add 2 cluster(s), remove 3 cluster(s) -[envoy][info] cds: added/updated 0 cluster(s), skipped 2 unmodified cluster(s) ----- - -. Test the APIs with a tool such as `curl`, specifying the given authentication credentials. The automated authentication policy secures both APIs. - -. Apply resource-level granularity to the automated authentication policy by substituting the `PolicyBinding` resource with the following: -+ ----- ---- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: security-protection -spec: - targetRef: - kind: Selector - selector: - kind: ApiInstance - labels: - secured-by-automated-policy: yes - policyRef: - name: http-basic-authentication-flex - config: - username: chris - password: admin - rules: - - methods: GET ----- -+ -In this example, the automated authentication policy is applied only to the `GET` method resource, as specified in `spec.rules`. - -. Save the file. The gateway automatically refreshes the configuration. - -Two APIs secured with the an automated resource-level authentication policy are now running behind Flex Gateway. - -== Publish an API Running Behind Flex Gateway in a Docker Container - -=== Before You Begin - -Before getting started, ensure that you have: - -* Flex Gateway installed. See xref:flex-install.adoc[] for more information. -* Flex Gateway registered and running in Local Mode. See xref:flex-local-reg-run.adoc[Register and Run in Local Mode] for more information. -* Your upstream service URLs. The following example refers to fictional `products-api` and `users-api` services, but you can specify your own API name in `metadata.name` and your service details in `spec.services`. - -=== Publish an API - -. Open a terminal and navigate to the directory that will contain your Flex Gateway configuration files. This directory was specified when you started Flex Gateway. - -. Create a configuration file with a `.yaml` file extension: -.. Give the file a custom name. -.. Save the file. - -. Copy and paste the following two `ApiInstance` resources into the file, substituting your values where indicated: -+ ----- ---- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: ApiInstance -metadata: - name: products-api - labels: - secured-by-automated-policy: yes -spec: - address: http://0.0.0.0:8080 - services: - products: - address: https://:/ - routes: - - rules: - - path: /products(/.*) - - path: /products-featured(/.*) - config: - destinationPath: /api ---- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: ApiInstance -metadata: - name: users-api - labels: - secured-by-automated-policy: yes -spec: - address: http://0.0.0.0:8081 - services: - users: - address: https://:/ - routes: - - rules: - - path: /api/users(/.*) ----- - -. Define an automated basic authentication policy by adding the following `PolicyBinding` resource after the `ApiInstance` resources: -+ ----- ---- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: security-protection -spec: - targetRef: - kind: Selector - selector: - kind: ApiInstance - labels: - secured-by-automated-policy: yes - policyRef: - name: http-basic-authentication-flex - config: - username: chris - password: admin ----- -+ -Applying an automated policy to multiple API instances requires that you specify the `Selector` `kind` in your policy binding. The example `PolicyBinding` resource includes a `spec.targetRef.kind` value of `Selector`, and a `spec.targetRef.selector.kind` value of `ApiInstance`. -+ -The example resource also applies a basic authentication policy to two API instances. It defines a `secured-by-automated-policy` label (the label name is customizable) in `spec.targetRef.selector.labels`. This label matches the label defined in the `ApiInstance` `metadata.labels` property, which associates the automated policy with that resource. -+ -Alternatively, automated policies can be applied to all API instances by omitting the labels. - -. Save the file. The gateway automatically refreshes the configuration. - -. View the Docker container logs, which look something like this: -+ ----- -[agent][info] Generating config -[agent][info] Gateway default/21cf4286e38f: Adding ApiInstance default/products-api http://0.0.0.0:8080 -[agent][info] Gateway default/21cf4286e38f: Adding Policy default/security-protection -[agent][info] Gateway default/21cf4286e38f: Adding Route: &{host: path:/api/products(/.*) methods: headerConditions:[] profile:0xc00004f750} => {Kind:Service Name:products-api-products Namespace:default} -[agent][info] Gateway default/21cf4286e38f: Adding Policy default/envoy.filters.http.router -[agent][info] Gateway default/21cf4286e38f: Adding ApiInstance default/users-api http://0.0.0.0:8081 -[agent][info] Gateway default/21cf4286e38f: Adding Policy default/security-protection -[agent][info] Gateway default/21cf4286e38f: Adding Route: &{host: path:/api/users(/.*) methods: headerConditions:[] profile:0xc0061823f0} => {Kind:Service Name:users-api-users Namespace:default} -[agent][info] Gateway default/21cf4286e38f: Adding Policy default/envoy.filters.http.router -[agent][info] Gateway default/21cf4286e38f: Adding Service default/products-api-products https://:/ -[agent][debug] generating service products-api-products.default.svc hostname: https:// port: -[agent][info] Gateway default/21cf4286e38f: Adding Service default/users-api-users https://:/ -[agent][debug] generating service users-api-users.default.svc hostname: https:// port: -[agent][info] Writing envoy bootstrap configuration to /tmp/envoy.json -[envoy][info] cds: add 2 cluster(s), remove 3 cluster(s) -[envoy][info] cds: added/updated 0 cluster(s), skipped 2 unmodified cluster(s) ----- - -. Test the APIs with a tool such as `curl`, specifying the given authentication credentials. The automated authentication policy secures both APIs. - -. Apply resource-level granularity to the automated authentication policy by substituting the `PolicyBinding` resource with the following: -+ ----- ---- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: security-protection -spec: - targetRef: - kind: Selector - selector: - kind: ApiInstance - labels: - secured-by-automated-policy: yes - policyRef: - name: http-basic-authentication-flex - config: - username: chris - password: admin - rules: - - methods: GET ----- -+ -In this example, the automated authentication policy is applied only to the `GET` method resource, as specified in `spec.rules`. - -. Save the file. The gateway automatically refreshes the configuration. - -Two APIs secured with the an automated resource-level authentication policy are now running behind Flex Gateway. - -== See Also - -* xref:policies-included-directory.adoc[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-local-secure-api-with-basic-auth-policy.adoc b/gateway/1.6/modules/ROOT/pages/flex-local-secure-api-with-basic-auth-policy.adoc deleted file mode 100644 index fbe812dd0..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-local-secure-api-with-basic-auth-policy.adoc +++ /dev/null @@ -1,195 +0,0 @@ -= Secure an API with Basic Authentication and Rate Limiting -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Publish an API running behind Flex Gateway in Local Mode, modifying YAML configuration data by the following method: - -* Linux and Docker: `.yaml` files - -The following procedures demonstrate applying a simple YAML configuration for an API with multiple upstream services, all secured with xref:policies-included-basic-auth-simple.adoc[basic authentication] and xref:policies-included-rate-limiting.adoc[rate limiting]. - -[cols="1,1"] -|=== - -|image:install-linux-logo.png[20%,20%,xref="flex-local-secure-api-with-basic-auth-policy.adoc#publish-an-api-running-behind-flex-gateway-on-linux"] - -|image:install-docker-logo.png[25%,25%,xref="flex-local-secure-api-with-basic-auth-policy.adoc#publish-an-api-running-behind-flex-gateway-in-a-docker-container"] - -|xref:flex-local-secure-api-with-basic-auth-policy.adoc#publish-an-api-running-behind-flex-gateway-on-linux[Publish an API Running Behind Flex Gateway on Linux] - -|xref:flex-local-secure-api-with-basic-auth-policy.adoc#publish-an-api-running-behind-flex-gateway-in-a-docker-container[Publish an API Running Behind Flex Gateway in a Docker Container] - -|=== - -== Publish an API Running Behind Flex Gateway on Linux - -=== Before You Begin - -Before getting started, ensure that you have: - -* Flex Gateway installed and running in local mode. See xref:flex-install.adoc[] for more information about installing and running the gateway. -* Your upstream service URLs. The following example refers to fictional `products-api` and `users-api` services, but you can specify your own API name in `metadata.name` and your service details in `spec.services`. - -=== Publish an API - -. Create a configuration file with a `.yaml` file extension: -.. Give the file a custom name. -.. Save the file in the Flex Gateway configuration directory `/etc/mulesoft/flex-gateway/conf.d/custom`. This directory can contain multiple configuration files. - -. Copy and paste the following YAML snippet into the file, substituting your values where indicated: -+ ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: ApiInstance -metadata: - name: products-users-api -spec: - address: http://0.0.0.0:8080 - services: - products: - address: https://:/ - routes: - - rules: - - path: /products(/.*) - - path: /products-featured(/.*) - config: - destinationPath: /api - users: - address: https://:/ - routes: - - rules: - - path: /api/users(/.*) - policies: - - policyRef: - name: http-basic-authentication-flex - config: - username: chris - password: admin - - policyRef: - name: rate-limiting-flex - config: - exposeHeaders: true - rateLimits: - - maximumRequests: 3 - timePeriodInMilliseconds: 6000 - keySelector: "#[attributes.queryParams['identifier']]" ----- - -. Save the file. The gateway automatically refreshes the configuration. -+ -. View the logs by executing the following command: -+ ----- -journalctl -u flex-gateway-* ----- -+ -The response looks something like this: -+ ----- -[agent][info] Generating config -[agent][info] Gateway default/18b4e890fe7d: Adding ApiInstance default/products-users-api http://0.0.0.0:8080 -[agent][info] Gateway default/4191c977e1ce: Adding Policy default/products-users-api-users-http-basic-authentication-flex-1 -[agent][info] Gateway default/4191c977e1ce: Adding Policy default/products-users-api-users-rate-limiting-flex-2 -[agent][info] Gateway default/18b4e890fe7d: Adding Route: &{host: path:/api/products(/.*) methods: headerConditions:[] profile:0xc0030529f0} => {Kind:Service Name:products-users-api-products Namespace:default} -[agent][info] Gateway default/18b4e890fe7d: Adding Route: &{host: path:/api/users(/.*) methods: headerConditions:[] profile:0xc0030529f0} => {Kind:Service Name:products-users-api-users Namespace:default} -[agent][info] Gateway default/18b4e890fe7d: Adding Policy default/envoy.filters.http.router -[agent][info] Gateway default/18b4e890fe7d: Adding Service default/monitoring_metrics http://0.0.0.0:9881 -[agent][debug] generating service monitoring_metrics.default.svc hostname: 0.0.0.0 port: 9881 -[agent][info] Gateway default/18b4e890fe7d: Adding Service default/products-users-api-products https://:/ -[agent][info] Gateway default/18b4e890fe7d: Adding Service default/products-users-api-users https://:/ -[agent][debug] generating service products-users-api-products.default.svc hostname: port: -[agent][debug] generating service products-users-api-users.default.svc hostname: port: -[agent][info] Writing envoy bootstrap configuration to /tmp/envoy.json -[envoy][info] cds: add 2 cluster(s), remove 2 cluster(s) -[envoy][info] cds: added/updated 1 cluster(s), skipped 1 unmodified cluster(s) ----- - -An API secured with basic authentication and rate limiting is now running behind Flex Gateway. - -== Publish an API Running Behind Flex Gateway in a Docker Container - -=== Before You Begin - -Before getting started, ensure that you have: - -* Flex Gateway installed. See xref:flex-install.adoc[] for more information. -* Flex Gateway registered and running in Local Mode. See xref:flex-local-reg-run.adoc[Register and Run in Local Mode] for more information. -* Your upstream service URLs. The following example refers to fictional `products-api` and `users-api` services, but you can specify your own API name in `metadata.name` and your service details in `spec.services`. - -=== Publish an API - -. Open a terminal and navigate to the directory that will contain your Flex Gateway configuration files. This directory was specified when you started Flex Gateway. - -. Create a configuration file with a `.yaml` file extension: -.. Give the file a custom name. -.. Save the file. - -. Copy and paste the following YAML snippet into the file, substituting your values where indicated: -+ ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: ApiInstance -metadata: - name: products-users-api -spec: - address: http://0.0.0.0:8080 - services: - products: - address: https://:/ - routes: - - rules: - - path: /api/products(/.*) - - path: /api/products-featured(/.*) - config: - destinationPath: /api - users: - address: https://:/ - routes: - - rules: - - path: /api/users(/.*) - policies: - - policyRef: - name: http-basic-authentication-flex - config: - username: chris - password: admin - - policyRef: - name: rate-limiting-flex - config: - exposeHeaders: true - rateLimits: - - maximumRequests: 3 - timePeriodInMilliseconds: 6000 - keySelector: "#[attributes.queryParams['identifier']]" ----- - -. Save the file. The gateway automatically refreshes the configuration. - -. View the Docker container logs, which look something like this: -+ ----- -[agent][info] Generating config -[agent][info] Gateway default/18b4e890fe7d: Adding ApiInstance default/products-users-api http://0.0.0.0:8080 -[agent][info] Gateway default/4191c977e1ce: Adding Policy default/products-users-api-users-http-basic-authentication-flex-1 -[agent][info] Gateway default/4191c977e1ce: Adding Policy default/products-users-api-users-rate-limiting-flex-2 -[agent][info] Gateway default/18b4e890fe7d: Adding Route: &{host: path:/api/products(/.*) methods: headerConditions:[] profile:0xc0030529f0} => {Kind:Service Name:products-users-api-products Namespace:default} -[agent][info] Gateway default/18b4e890fe7d: Adding Route: &{host: path:/api/users(/.*) methods: headerConditions:[] profile:0xc0030529f0} => {Kind:Service Name:products-users-api-users Namespace:default} -[agent][info] Gateway default/18b4e890fe7d: Adding Policy default/envoy.filters.http.router -[agent][info] Gateway default/18b4e890fe7d: Adding Service default/monitoring_metrics http://0.0.0.0:9881 -[agent][debug] generating service monitoring_metrics.default.svc hostname: 0.0.0.0 port: 9881 -[agent][info] Gateway default/18b4e890fe7d: Adding Service default/products-users-api-products https://:/ -[agent][info] Gateway default/18b4e890fe7d: Adding Service default/products-users-api-users https://:/ -[agent][debug] generating service products-users-api-products.default.svc hostname: port: -[agent][debug] generating service products-users-api-users.default.svc hostname: port: -[agent][info] Writing envoy bootstrap configuration to /tmp/envoy.json -[envoy][info] cds: add 2 cluster(s), remove 2 cluster(s) -[envoy][info] cds: added/updated 1 cluster(s), skipped 1 unmodified cluster(s) ----- - -An API secured with basic authentication and rate limiting is now running behind Flex Gateway. - -== See Also - -* xref:policies-included-directory.adoc[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-local-shared-storage-config.adoc b/gateway/1.6/modules/ROOT/pages/flex-local-shared-storage-config.adoc deleted file mode 100644 index 7304fe3af..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-local-shared-storage-config.adoc +++ /dev/null @@ -1,48 +0,0 @@ -= Configuring Shared Storage for Flex Gateway in Local Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:page-mode: local - -include::reuse::partial$non-inclusive-banner.adoc[] - -//TODO: IS THERE AN OPENSHIFT OPTION HERE? - -// intro and graphics for each option - linux, docker, kubernetes -include::partial$task-shared-storage-config.adoc[tags=intro1;intro2;icon-table;byb;linux;sample-config-all-intro] -// configure shared storage for Flex Gateway as a Linux Service -+ -include::partial$task-shared-storage-config.adoc[tags=sample-config-all] - -// configure shared storage for Flex Gateway in a Docker container -include::partial$task-shared-storage-config.adoc[tags=docker-intro] -+ -include::partial$task-reg-run-flex-gateway.adoc[tags=start-command-local] -+ -include::partial$task-shared-storage-config.adoc[tags=docker-config-file-step;sample-config-all-intro] -+ -include::partial$task-shared-storage-config.adoc[tags=sample-config-all] - -//configure shared storage for Flex Gateway in a Kubernetes cluster -include::partial$task-shared-storage-config.adoc[tags=k8s;sample-config-all-intro] - -include::partial$task-shared-storage-config.adoc[tags=sample-config-all] - -// Redis Sentinel - -include::partial$task-shared-storage-config.adoc[tags=sentinel-intro] - -include::partial$task-shared-storage-config.adoc[tags=sentinel-sample-config] - -// TLS -include::partial$task-shared-storage-config.adoc[tags=tls-intro] - -include::partial$task-shared-storage-config.adoc[tags=tls-sample-config] - -include::partial$task-shared-storage-config.adoc[tags=tls-more-information] - -== See Also - -* xref:flex-conn-shared-storage-config.adoc[Configuring Shared Storage for Flex Gateway in Connected Mode] -* xref:flex-local-configuration-reference-guide.adoc#shared-storage[Declarative Configuration Reference] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-local-third-party-logs-config.adoc b/gateway/1.6/modules/ROOT/pages/flex-local-third-party-logs-config.adoc deleted file mode 100644 index 1fbe8d6f6..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-local-third-party-logs-config.adoc +++ /dev/null @@ -1,52 +0,0 @@ -= Configuring External Logs for Flex Gateway in Local Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:page-mode: local -// :page-aliases: gateway::flex-local-view-manage-logs.adoc - -include::partial$task-config-logs-third-party.adoc[tags=intro1;intro2-local] - -include::partial$task-config-logs-third-party.adoc[tags=icon-table] - -include::partial$task-config-logs-third-party.adoc[tags=byb] - -include::partial$task-config-logs-third-party.adoc[tags=runtime-access-logs] - -include::partial$task-config-logs-third-party.adoc[tags=file-example] - -include::partial$task-config-logs-third-party.adoc[tags=linux;view-logs-local;configure-message-logging-step] - -include::partial$task-config-logs-third-party.adoc[tags=docker] -+ -include::partial$task-reg-run-flex-gateway.adoc[tags=start-command-local] -+ -include::partial$task-config-logs-third-party.adoc[tags=docker2;view-logs-local;configure-message-logging-step] - -include::partial$task-config-logs-third-party.adoc[tags=k8s;view-logs-local;configure-message-logging-step] - -include::partial$task-config-logs-third-party.adoc[tags=file-configuration-example] - -include::partial$task-config-logs-third-party.adoc[tags=http-configuration-example] - -include::partial$task-config-logs-third-party.adoc[tags=splunk-configuration-example] - -include::partial$task-config-logs-third-party.adoc[tags=dynatrace-configuration-example] - -[[configure-access-logs]] -== Configure Access Logs -To configure access logs in your log output, you must apply a Message Logging policy to the APIs whose request and response data you want to monitor. If you have previously applied a Message Logging policy to an API instance, you do not need to configure another. - -Configuring a Message Logging policy makes access logs visible in both standard output logs and your third-party log services. - -To apply a Message Logging policy, see xref:policies-included-apply.adoc[] and use the xref:gateway::policies-included-message-logging.adoc[Message Logging Configuration Parameters]. - -If your access logs are not visible, it is possible that a policy with a higher execution order is causing an error before the Message Logging policy can execute. To reorder policy execution, see xref:policies-reorder.adoc[]. - -include::partial$task-config-logs-third-party.adoc[tags=log-output-examples] - - -== See Also - -* xref:policies-included-message-logging.adoc[] diff --git a/gateway/1.6/modules/ROOT/pages/flex-local-tls-config.adoc b/gateway/1.6/modules/ROOT/pages/flex-local-tls-config.adoc deleted file mode 100644 index e752941aa..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-local-tls-config.adoc +++ /dev/null @@ -1,46 +0,0 @@ -= Configuring TLS Context for Flex Gateway in Local Mode -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:page-mode: local - -// intro and graphics for each option - linux, docker, kubernetes -include::partial$task-tls-config.adoc[tags=intro1;intro2;intro3;resources;intro4;icon-table;byb;linux;sample-config-instance-intro] -// configure TLS context for Flex Gateway as a Linux Service -+ -include::partial$task-tls-config.adoc[tags=sample-config-instance] -+ -include::partial$task-tls-config.adoc[tags=openssl-standards] -+ -include::partial$task-tls-config.adoc[tags=verify-config] - -// configure TLS context for Flex Gateway in a Docker container -include::partial$task-tls-config.adoc[tags=docker-intro] -+ -include::partial$task-reg-run-flex-gateway.adoc[tags=start-command-local] -+ -include::partial$task-tls-config.adoc[tags=docker-config-file-step] -+ -include::partial$task-tls-config.adoc[tags=sample-config-instance-intro] -+ -include::partial$task-tls-config.adoc[tags=sample-config-instance] -+ -include::partial$task-tls-config.adoc[tags=openssl-standards] -+ -include::partial$task-tls-config.adoc[tags=verify-config] - -//configure TLS context for Flex Gateway as a Kubernetes cluster -include::partial$task-tls-config.adoc[tags=k8s-intro] -+ -include::partial$task-tls-config.adoc[tags=sample-config-instance-intro] -+ -include::partial$task-tls-config.adoc[tags=sample-config-instance] -+ -include::partial$task-tls-config.adoc[tags=openssl-standards] - -== See Also - -* xref:flex-conn-tls-config.adoc[Configuring TLS Context for Flex Gateway in Connected Mode] -* xref:policies-included-tls.adoc[] -* xref:policies-included-tls-outbound.adoc[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-local-view-logs.adoc b/gateway/1.6/modules/ROOT/pages/flex-local-view-logs.adoc deleted file mode 100644 index e9a95c2d1..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-local-view-logs.adoc +++ /dev/null @@ -1,39 +0,0 @@ -= Viewing Standard Output Logs -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Flex Gateway maintains standard output logs for individual replicas. Use the standard output logs for quick logging checks when additional logging output is not needed, such as ensuring when an external service is running or API requests are reaching Flex Gateway. - -You do not need to configure log output to view standard output logs. However, if you want access logs to appear in standard output logs, you must apply a Message Logging policy to the APIs you want to monitor. To apply a Message Logging policy, see xref:flex-local-third-party-logs-config.adoc#configure-access-logs[Configuring Access logs]. - -You can also configure additional Fluent Bit to enable custom logging outputs and customize the log level info. To configure additional logging, see xref:flex-local-third-party-logs-config.adoc[]. - -To view additional log outputs, find the appropriate method to view them. The following commands display only the standard output logs. - -== View Logs - -To view the standard output logs of your replica, run one of the following commands: - -For Linux: -[source,ssh] ----- -journalctl -u flex-gateway* ----- - -For Docker: -[source,ssh] ----- -docker logs -f ----- - -For Kubernetes: -[source,ssh] ----- -kubectl logs -f ----- - -== See Also - -* https://docs.fluentbit.io/manual/v/{fluentbit-url-ver-var}/pipeline/outputs[Fluent Bit Outputs documentation ^] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-review-prerequisites.adoc b/gateway/1.6/modules/ROOT/pages/flex-review-prerequisites.adoc deleted file mode 100644 index e20861262..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-review-prerequisites.adoc +++ /dev/null @@ -1,117 +0,0 @@ -= Reviewing Prerequisites -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -// :page-aliases: runtime-manager::flex-gateway-permissions.adoc -:imagesdir: ../assets/images - -Before you download and install Anypoint Flex Gateway, ensure that you review and fulfill the following prerequisites. - -== Permission Requirements - -Running Flex Gateway requires the following permissions: - -* _Manage Servers_ and _Read Servers_ permissions in Runtime Manager - -Your Anypoint Platform Admin can add these permissions in Access Management. -See xref:access-management::configure-teams.adoc#manage-team-permissions[Manage Team Permissions] for more information. - -Your Anypoint Platform Admin can also add a Connected App with the appropriate permissions. -See xref:access-management::connected-apps-overview.adoc[Connected Apps] for more information. - -To register Flex Gateway using a Connected App, the following scopes are required: - -* Manage Servers -* Read Servers -* View Organization - -== Software Requirements - -Flex Gateway is not supported on Windows or in Docker running on Windows. - -=== Software Requirements for Kubernetes and OpenShift Deployments - -Running Flex Gateway requires: - -* A minimum of either Kubernetes 1.21 or OpenShift 4.8. - -* Ingress v1 (stable), which requires specifying `apiVersion: networking.k8s.io/v1` as the API version in your configuration resources. - -* A private cloud or data center. -+ -Or, a cloud provider such as the following: - -** Google Kubernetes Engine (GKE) -** Amazon Elastic Kubernetes Service (Amazon EKS) -** Azure Kubernetes Service (AKS) - -//helm prereq -* {empty} -include::partial$prerequisites.adoc[tag=helm] - -=== Software Requirements for Linux Deployments - -include::partial$prerequisites.adoc[tag=intro] - -* {empty} -include::partial$prerequisites.adoc[tag=amazon-linux] - -* {empty} -include::partial$prerequisites.adoc[tag=centos] - -* {empty} -include::partial$prerequisites.adoc[tag=debian] - -* {empty} -include::partial$prerequisites.adoc[tag=red-hat] - -* {empty} -include::partial$prerequisites.adoc[tag=ubuntu] - -Flex Gateway is designed to run in cloud-native architectures. You can therefore only install one gateway instance per Linux VM. Multiple installations on a single VM are not supported. - -== Hardware Requirements - -A single Flex Gateway can support multiple backend APIs. To support more backend APIs, you can deploy multiple replicas or additional Flex Gateways. - -Flex Gateway requires the following minimum hardware configuration: - -* CPU: 0.2 vCPU -* Processor: Intel or AMD-64 -* Memory: 200 MB - -Increase replica memory for higher throughput and increased performance. To support 200 APIs, each with two applied policies, at 150 transactions per second (TPS), Flex Gateway requires the following: - -* CPU: 0.2 vCPU -* Processor: Intel or AMD-64 -* Memory: 1.5 GB - -== Ports, IPs, and Hostnames Allow list Requirements - -For Flex Gateway to communicate with MuleSoft-managed online Anypoint Platform APIs and services, you must add the following hostnames and ports of external resources to the allowlist: - -[%header%autowidth.spread] -|=== -|Plane |Host |Port| Mode| Description| Protocol -|*US*|*anypoint.mulesoft.com* | 443| Both| Required to connect with the control plane, push internal metrics, and download custom policy binaries| HTTPS -|*US*|*arm-mcm2-service.kprod.msap.io* | 443| Both| Required to communicate with the transport layer| mTLS -|*US*|*logging.ingestion.us-east-1.prod.cloudhub.io* | 443| Both| Required to send analytics data to the control plane| HTTPS -|*US*|*metering.ingestion.us-east-1.prod.cloudhub.io* | 443| Both| Required to send analytics data to the control plane| HTTPS -|*US*|*monitoring.ingestion.us-east-1.prod.cloudhub.io* | 443| Both| Required to send analytics data to the control plane| HTTPS -|*US*|*exchange-files.anypoint.mulesoft.com* | 443| Connected| Required to download policies| HTTPS -|*US*|*exchange2-asset-manager-kprod.s3.amazonaws.com* | 443| Connected| Required to download policies| HTTPS -|*US*|*configuration-resolver.prod.cloudhub.io* | 443| Connected| Required to download policies| mTLS -|*EU*|*eu1.anypoint.mulesoft.com* | 443| Both| Required to connect with the control plane, push internal metrics, and download custom policy binaries| HTTPS -|*EU*|*arm-mcm2-service.kprod-eu.msap.io* | 443| Both| Required to communicate with the transport layer| mTLS -|*EU*|*logging.ingestion.eu-central-1.prod-eu.msap.io* | 443| Both| Required to send analytics data to the control plane| HTTPS -|*EU*|*metering.ingestion.eu-central-1.prod-eu.msap.io* | 443| Both| Required to send analytics data to the control plane| HTTPS -|*EU*|*monitoring.ingestion.eu-central-1.prod-eu.msap.io* | 443| Both| Required to send analytics data to the control plane| HTTPS -|*EU*|*configuration-resolver.prod-eu.msap.io* | 443| Connected| Required to download policies| mTLS -|*EU*|*exchange-files.eu1.anypoint.mulesoft.com* | 443| Connected| Required to download policies| HTTPS -|*EU*|*exchange2-asset-manager-kprod-eu.s3.eu-central-1.amazonaws.com* | 443| Connected| Required to download policies| HTTPS -|=== - -[NOTE] -==== -Ports 4000, 9999, 15000, and 15100 are reserved for internal processes, and should not be used in `ApiInstance` definitions. -==== diff --git a/gateway/1.6/modules/ROOT/pages/flex-sizing-guide.adoc b/gateway/1.6/modules/ROOT/pages/flex-sizing-guide.adoc deleted file mode 100644 index 886ba75b8..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-sizing-guide.adoc +++ /dev/null @@ -1,69 +0,0 @@ -= Reviewing Resource Sizing -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:table-caption!: - -Before getting started with Flex Gateway, analyze and choose your configuration to obtain the best performance and auto-scaling rate. - -When assigning resources for a replica node, consider: - -* Number of APIs -* Amount of memory the node needs -* Processing power for the node -* Number of policies in each API -* Amount of traffic each node handles -* Amount of time the node takes to answer the request (latency) -* Type of traffic the node handles, and within the traffic: -** The number of requests per second the node handles -** Size of each request (bytes) - -== Choose Appropriate Resources - -The following table guides you to know the resources you must allocate to your replica node according to your environment: - -[options="header"] -|==== -| Node Size | CPU | RAM -| Small | 1-2 cores | 2-4 GB -| Medium | 2-4 cores | 4-8 GB -| Large | 8-16 cores | 16-32 GB -|==== - -NOTE: Nodes belonging to a cluster must be of the same size. - -== Choose Your Cluster Size - -The following guiding table helps you choose the appropriate node and cluster size: - -[options="header"] -|==== -| Node Size | Number of APIs | Number of Policies | Expected Latency | Expected Throughput | Target Environment -| Small | < 100 | 4 | < 30 ms | < 500 RPS | Dev/test cluster -| Medium | < 500 | 4 | < 20 ms | < 2500 RPS | Production cluster -| Large | > 500 | 4 | < 10 ms | < 10000 RPS | Mission-critical clusters -|==== - -The figures above are per node. API configurations are replicated to all nodes in the cluster. For example, if you have 10 APIs deployed with 3 policies for each API, it means that the 10 APIs and their policies are deployed to each node in the cluster. - -The traffic is distributed across all nodes in the cluster. A small cluster node supports up to 500 RPS, but if the cluster has two nodes then the total traffic that the cluster allows is 1000 RPS (500 RPS for each node). Exceeding the recommended traffic per node eventually causes increased CPU usage. To avoid this issue, you must increase the size of all nodes in the cluster or scale horizontally. - -High CPU usage can lead to increased latency. In such a case, proceed with horizontal scaling or increase the node size. - -High memory consumption can lead to out-of-memory errors. To solve this issue, increase the memory allocation or the node size. Horizontal scaling might not help solve issues in this situation. Horizontal scaling fails if high memory utilization is the problem. You must increase memory first, and scale horizontally later. - -The guiding table considers a cluster with an average request size of 1kB and 4 policies implemented. Adjust your parameters depending on your use case. - -The most commonly used out-of-the-box policies, which are considered in these guidelines, are: - -* Message logging -* Rate limiting -* JWT validation -* Header injection - -Using TLS affects the response time and the process consumption. - -== See Also - -* xref:flex-gateway-getting-started.adoc[] diff --git a/gateway/1.6/modules/ROOT/pages/flex-troubleshoot-admin-api.adoc b/gateway/1.6/modules/ROOT/pages/flex-troubleshoot-admin-api.adoc deleted file mode 100644 index 5449d0b5a..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-troubleshoot-admin-api.adoc +++ /dev/null @@ -1,319 +0,0 @@ -= Troubleshooting with the CLI -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Anypoint Flex Gateway includes a `flexctl dump` CLI that enables you to query for information related to a gateway's API instances, services, configuration, and available extensions (policies). - -As an example, the following inline configuration snippet defines a single API instance named `jsonplaceholder-api` in the default namespace (it remains `default` because namespace is not explicitly defined.) Additionally, the snippet defines one included policy: `http-basic-authentication-flex`. - -== Configuration Example - ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: ApiInstance -metadata: - name: jsonplaceholder-api -spec: - address: http://0.0.0.0:8080 - services: - jsonplaceholder: - address: https://jsonplaceholder.typicode.com:443/ - routes: - - rules: - - path: /api(/users/.*) - - path: /api(/comments/.*) - policies: - - policyRef: - name: http-basic-authentication-flex - config: - username: chris - password: admin ----- - -== Run the CLI - -. To see JSON representations of your API instances, services, configurations, and extensions, run the following command: -+ -[source,ssh] ----- -flexctl dump ----- -+ -[NOTE] -==== -When running in a Docker or Podman container, run the command in the container itself. -==== -+ -The command outputs four files: - -* `api-instances.json` -* `services.json` -* `configuration.json` -* `extensions.json` - -. View any of the JSON file contents by running `cat` followed by the file name: -+ -[tabs] -==== -Api Instances:: -+ -[source,ssh] ----- -cat api-instances.json ----- -+ -The `api-instances.json` file contents resemble the following: -+ ----- -[ - { - "address":"http://0.0.0.0:8080", - "kind":"ApiInstance", - "name":"jsonplaceholder-api", - "namespace":"default", - "policies":[ - { - "config":{ - "password":"admin", - "username":"chris" - }, - "extension":{ - "kind":"Extension", - "name":"http-basic-authentication-flex", - "namespace":"default" - }, - "kind":"Policy", - "name":"jsonplaceholder-api-http-basic-authentication-flex-1", - "namespace":"default" - }, - { - "config":{ - "destinationRef":{ - "kind":"Service", - "name":"jsonplaceholder-api-jsonplaceholder", - "namespace":"default" - } - } - "extension":{ - "kind":"Extension", - "name":"route", - "namespace":"default" - }, - "kind":"Policy", - "name":"jsonplaceholder-api-jsonplaceholder-route-1", - "namespace":"default", - "order":50, - "rules":[ - { - "path":"/api(/users/.*)" - }, - { - "path":"/api(/comments/.*)" - } - ] - }, - { - "extension":{ - "kind":"Extension", - "name":"envoy.filters.http.router", - "namespace":"default" - }, - "kind":"Policy", - "name":"envoy.filters.http.router", - "namespace":"default", - "order":2147483647 - } - ] - } -] ----- - -Services:: -+ -[source,ssh] ----- -cat services.json ----- -+ -The `services.json` file contents resemble the following: -+ ----- -[ - { - "address":"https://jsonplaceholder.typicode.com:443/", - "kind":"Service", - "name":"jsonplaceholder-api-jsonplaceholder", - "namespace":"default" - } -] ----- - - -Configuration:: -+ -[source,ssh] ----- -cat configuration.json ----- -+ -The `configuration.json` file contents resemble the following: -+ ----- -{ - "internalMetrics": { - "enabled": false - }, - "logging": {}, - "platformConnection": { - "anypoint": { - "url": "https://anypoint.mulesoft.com" - }, - "environment": { - "cluster_id": "4aa281e9-1a1d-4c56-8669-2d887b2e1938", - "env_id": "ad067f80-69ee-4abb-9d05-bec98ece1e20", - "org_id": "1caa0b9b-4f4d-43c4-a1b6-f925a8c77baa" - }, - "logging": { - "certificate": { - "cert": "demo-local.pem", - "key": "demo-local.key" - }, - "url": "https://logging.ingestion.us-east-1.msap.io/ingestion/api/v1/logging" - }, - "metering": { - "certificate": { - "cert": "demo-local.pem", - "key": "demo-local.key" - }, - "url": "https://metering.ingestion.us-east-1.msap.io/ingestion/api/v1/metering" - }, - "mode": "offline", - "monitoring": { - "certificate": { - "cert": "demo-local.pem", - "key": "demo-local.key" - }, - "url": "https://monitoring.ingestion.us-east-1.msap.io/ingestion/api/v1/monitoring" - }, - "runtimeEvents": { - "certificate": { - "cert": "demo-local.pem", - "key": "demo-local.key" - }, - "url": "https://anypoint.mulesoft.com/apiruntime/v1/events" - } - }, - "resourceLimits": { - "apiInstances": 100, - "policies": 400 - }, - "sharedStorage": {}, - "version": "1.1.0" -} ----- - -Extensions:: -+ -[source,ssh] ----- -cat extensions.json ----- -+ -The `extensions.json` file contains all the policies available in Flex Gateway. The file contents resemble the following: -+ ----- -{ - "extends": [ - { - "kind": "Extension", - "labels": { - "flex.mulesoft.com/created-by": "flex-filesystem", - "flex.mulesoft.com/managed-by": "flex-filesystem" - }, - "name": "extension-definition", - "namespace": "default" - }, - { - "kind": "Extension", - "labels": { - "flex.mulesoft.com/created-by": "flex-filesystem", - "flex.mulesoft.com/managed-by": "flex-filesystem" - }, - "name": "extension-qos", - "namespace": "default" - } - ], - "kind": "Extension", - "labels": { - "flex.mulesoft.com/created-by": "flex-filesystem", - "flex.mulesoft.com/managed-by": "flex-filesystem" - }, - "name": "header-injection-definition", - "namespace": "default", - "properties": [ - { - "name": "config", - "properties": [ - { - "items": { - "name": "inboundHeaders", - "properties": [ - { - "name": "key", - "type": "stringOrDataweave" - }, - { - "name": "value", - "type": "stringOrDataweave" - } - ], - "type": "object" - }, - "name": "inboundHeaders", - "type": "array" - }, - { - "items": { - "name": "outboundHeaders", - "properties": [ - { - "name": "key", - "type": "stringOrDataweave" - }, - { - "name": "value", - "type": "stringOrDataweave" - } - ], - "type": "object" - }, - "name": "outboundHeaders", - "type": "array" - } - ], - "type": "object" - } - ] - } ----- -==== - -== Change Verbosity Level - -You can change the amount of information output by the `flexctl dump` CLI. For example, to increase verbosity to a value of `10`, run `flexctl dump` with the following: - -[source,ssh] ----- -flexctl dump -v 10 ----- - -== Change Output Directory - -Additionally, you can change the directory where `flexctl dump` outputs the four files. For example, to output to `/tmp`, run `flexctl dump` with the following: - -[source,ssh] ----- -flexctl dump --output-directory /tmp ----- \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-troubleshoot-debug-logs.adoc b/gateway/1.6/modules/ROOT/pages/flex-troubleshoot-debug-logs.adoc deleted file mode 100644 index 33071ceea..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-troubleshoot-debug-logs.adoc +++ /dev/null @@ -1,40 +0,0 @@ -= Troubleshoot with Debug Logs -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -When troubleshooting Flex Gateway, set the runtime log level to `debug` for more verbose runtime logs. - -This page explains how to configure debug runtime logs. To configure debug access logs, set the `level` parameter in your xref:policies-included-message-logging.adoc[Message Logging policy] to `DEBUG`. - -== Debug Logs Configuration Example - -For both Connected Mode and Local Mode, configure debug runtime logs using the following YAML configuration file: - -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Configuration -metadata: - name: logging-config -spec: - logging: - runtimeLogs: - logLevel: debug ----- - - -To configure debug runtime logs, use the previous YAML configuration file when prompted for your configuration details in the following tutorials: - -* xref:flex-conn-third-party-logs-config.adoc[Configure External Logs in Connected Mode] -* xref:flex-local-third-party-logs-config.adoc[Configure External Logs in Local Mode] - -If you have already configured a logging configuration file, set `logging.runtimeLogs.logLevel` to `debug` in you current file to enable debug runtime logs. This does not affect the log output location or access logs. - -== View Log Output - -To view runtime log output, see: - -* xref:flex-view-logs-in-monitoring.adoc[View Logs in Connected Mode] -* xref:flex-local-view-logs.adoc[View Logs in Local Mode] diff --git a/gateway/1.6/modules/ROOT/pages/flex-troubleshoot-docker.adoc b/gateway/1.6/modules/ROOT/pages/flex-troubleshoot-docker.adoc deleted file mode 100644 index d641d53cf..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-troubleshoot-docker.adoc +++ /dev/null @@ -1,24 +0,0 @@ -[[docker-troubleshooting]] -= Troubleshoot Docker Command Issues - -//intro -include::partial$troubleshoot.adoc[tags=troubleshoot-docker-intro] - -[[daemon-bad-response]] -== Docker Is Not Started - -//error -include::partial$troubleshoot.adoc[tags=troubleshoot-docker-daemon-bad-response] - -[[bad-request]] -== Reg Facade Error (400 Bad Request) - -//error -include::partial$troubleshoot.adoc[tags=troubleshoot-docker-bad-request] - - -== See Also - -* xref:flex-troubleshoot-requests.adoc[] -* xref:flex-troubleshoot-admin-api.adoc[] -* xref:flex-gateway-set-up.adoc[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-troubleshoot-helm.adoc b/gateway/1.6/modules/ROOT/pages/flex-troubleshoot-helm.adoc deleted file mode 100644 index 7e8cbadc5..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-troubleshoot-helm.adoc +++ /dev/null @@ -1,33 +0,0 @@ -[[helm-troubleshooting-helm]] -= Troubleshoot Helm Command Issues - -[[troubleshoot-helm-intro]] -//intro -include::partial$troubleshoot.adoc[tags=troubleshoot-helm-intro] - -[[troubleshoot-helm-yaml-empty]] -== Upgrade Failed: Execution Error -//error: -include::partial$troubleshoot.adoc[tags=troubleshoot-helm-yaml-empty] - -[[troubleshoot-helm-upgrade-failed]] -== Upgrade Failed: Timed Out -//error: -include::partial$troubleshoot.adoc[tags=troubleshoot-helm-upgrade-failed] - -[[troubleshoot-helm-cluster-unreachable]] -== Kubernetes Cluster Unreachable -//error: -include::partial$troubleshoot.adoc[tags=troubleshoot-helm-cluster-unreachable] - - -[[troubleshoot-helm-openshift-rbac]] -== Failed to Install CRD -//error: -include::partial$troubleshoot.adoc[tags=troubleshoot-helm-openshift-rbac] - - -== See Also - -* xref:flex-gateway-k8-getting-started.adoc[] -* xref:flex-gateway-set-up.adoc[] diff --git a/gateway/1.6/modules/ROOT/pages/flex-troubleshoot-linux-services.adoc b/gateway/1.6/modules/ROOT/pages/flex-troubleshoot-linux-services.adoc deleted file mode 100644 index 9f9ab12ef..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-troubleshoot-linux-services.adoc +++ /dev/null @@ -1,47 +0,0 @@ -= Troubleshooting Linux Services -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -The following topics provide possible causes for service issues and describe how to troubleshoot: - -* <> -* <> - - -[[flex-gateway-service-failed-to-run]] -== Flex Gateway Service Failed to Run - -The `flex-gateway.service` status displays `failed` after running the `systemctl list-units flex-gateway*` command. - -=== Diagnose - -To diagnose the service failure, run the following command: - -[source,ssh] ----- -journalctl -u flex-gateway ----- - -==== Error 1: “Panic: could not read platform configuration” - -If the output of the `journalctl` command includes this line: - -[source,ssh] ----- -flex-agent[3253]: panic: could not read platform configuration: open : no such file or directory ----- - -The problem can be resolved by running `chmod` on the files created during registration. - -[[other-services-failed-to-run]] -== Other Services Failed to Run - -If your error does not appear, attempt to restart Flex Gateway: - -[source,ssh] ----- -sudo ldconfig -sudo systemctl restart flex-gateway ----- diff --git a/gateway/1.6/modules/ROOT/pages/flex-troubleshoot-logging.adoc b/gateway/1.6/modules/ROOT/pages/flex-troubleshoot-logging.adoc deleted file mode 100644 index 702a3d6b5..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-troubleshoot-logging.adoc +++ /dev/null @@ -1,46 +0,0 @@ -= Troubleshooting Logging Issues -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -When configuring logging for Anypoint Flex Gateway, you might encounter logging issues caused by incorrect directory permissions, and so on. The following topics provide possible causes for logging issues and describe how to troubleshoot: - -* <> -* <> - -[[third-party-service]] -== Logs Do Not Appear in a Third-Party Logging Service - -After applying a logging configuration YAML file, logs should begin appearing within a few minutes. If your logs do not appear in your third party logging service: - -. Ensure that your third-party service is running. -. If the service is running, check the runtime logs for potential configuration errors. -+ -You can view the runtime logs for both Flex Gateways running in Connected Mode and Local Mode by following the steps in xref:flex-local-view-logs.adoc[]. Additionally, for Flex Gateways running in Connected Mode, you can xref:flex-view-logs-in-monitoring.adoc[view runtime logs in Anypoint Monitoring]. -+ -Potential configuration errors appear similar to the following: -+ ----- -[flex-gateway-fluent] [2023/09/07 20:17:49] [error] [output:http:http.1] hzk83039.live.dynatrace.com:443, HTTP status=401 -[flex-gateway-fluent] {"error":{"code":401,"message":"Missing authorization parameter."}} -[flex-gateway-fluent] [2023/09/07 20:17:49] [ warn] [engine] failed to flush chunk '20-1694117863.683606251.flb', retry in 7 seconds: task_id=2, input=emitter_for_rewrite_tag.11 > output=http.1 (out_id=1) ----- - -. Whether or not configuration errors appear in the runtime logs, view the /var/tmp/mulesoft/flex-gateway/fluent-bit.conf file to ensure your configuration values are correct. - - - - -[[incorrect-permissions]] -== Logs Do Not Appear when Running in a VM - -Log files do not appear after specifying a target log directory in an access log policy. An example log directory might be `/var/log`. - -=== Cause - -Your log output directory might not have `write` permission. - -=== Solution - -To resolve this issue, grant `write` permission to the output directory. diff --git a/gateway/1.6/modules/ROOT/pages/flex-troubleshoot-reg.adoc b/gateway/1.6/modules/ROOT/pages/flex-troubleshoot-reg.adoc deleted file mode 100644 index 62901c2e9..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-troubleshoot-reg.adoc +++ /dev/null @@ -1,37 +0,0 @@ -= Troubleshooting Registration Issues -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -When registering Anypoint Flex Gateway, you might encounter issues caused by incorrect access permissions, and so on. The following topics provide possible causes for registration issues and describe how to troubleshoot: - -* <> - -[[no-permissions]] -== Performing Registration as a User Without Necessary Access Permissions - -Executing the registration command without having correct permissions can result in an error: ----- -Couldn't execute register command successfully: rpc error: code = Internal desc = handler returned neither error nor response message ----- - -=== Cause - -This issue occurs when the credentials that you provide for registration do not have the required permissions. - -=== Solution - -To resolve this error, perform the following steps: - -. Navigate to *Access Management* as the organization administrator. -. Select *Users* from the main menu. -. Select the target organization user from the *Users* menu. -. From the *Permissions* tab, select *Runtime Manager*. -. Specify the environment in which to apply your permissions. -. Select the following from the *Select access* dropdown menu: -* *Manage servers* -* *Read servers* -. Click the *+* button. - -Re-running the registration command should now result in success. diff --git a/gateway/1.6/modules/ROOT/pages/flex-troubleshoot-regex.adoc b/gateway/1.6/modules/ROOT/pages/flex-troubleshoot-regex.adoc deleted file mode 100644 index 1ab311085..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-troubleshoot-regex.adoc +++ /dev/null @@ -1,10 +0,0 @@ -= Troubleshoot Regular Expressions Compatibility Issues - -Troubleshoot compatibility issues that occur when using regular expressions: - -* <> - -[[troubleshoot-negative-lookaheads]] -== Negative Lookaheads - -Flex Gateway conforms to https://github.com/google/re2/wiki/Syntax[Google RE2 regular expression syntax^], which does not support negative lookaheads. \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-troubleshoot-requests.adoc b/gateway/1.6/modules/ROOT/pages/flex-troubleshoot-requests.adoc deleted file mode 100644 index 67ca16660..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-troubleshoot-requests.adoc +++ /dev/null @@ -1,89 +0,0 @@ -= Troubleshooting Request Connection -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -When configuring and running Flex Gateway, you might encounter connection issues. - -By making direct requests, you can troubleshoot both the outbound connection between the upstream service and Flex Gateway and the inbound connection between Flex Gateway and the client. Making direct requests isolates Flex Gateway connections allowing you to localize the issue. - -The following diagram demonstrates the difference between inbound and outbound requests. - -image:flex-inbound-outbound-requests.png[Inbound connections are between the client and Flex Gateway and outbound connections are between Flex Gateway and the upstream service, align=center] - -== Outbound Requests Between Flex Gateway and the Upstream Service -Isolating the connection between the upstream service and Flex Gateway enables you to test for connection between the two. - -To make a direct outbound request to the upstream service: - -. Log into the Flex Gateway container or VM: - -* Linux: -+ -[source,ssh] ----- -ssh [-i sshkey.pem] @ ----- - - -* Docker: -+ -[source,ssh] ----- -docker exec -it bash ----- - - -* Kubernetes: -+ -[source,ssh] ----- -kubectl -n exec -it -- bash ----- - -. Make a request to the upstream service: -+ -[source,ssh] ----- -curl -v ----- - -== Inbound Requests Between the Client and Flex Gateway - -Isolating the connection between Flex Gateway and the client enables you to test if the connection issue is due to a load balancer or another system added between Flex Gateway and the client. - -To make a direct inbound request to the client: - -. Log into the Flex Gateway container or VM: - -* Linux: -+ -[source,ssh] ----- -ssh [-i sshkey.pem] @ ----- - - -* Docker: -+ -[source,ssh] ----- -docker exec -it bash ----- - - -* Kubernetes: -+ -[source,ssh] ----- -kubectl -n exec -it -- bash ----- - - -. Make a request to Flex Gateway: -+ -[source,ssh] ----- -curl -v http://localhost:/ ----- \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-troubleshoot-soap-apis.adoc b/gateway/1.6/modules/ROOT/pages/flex-troubleshoot-soap-apis.adoc deleted file mode 100644 index 1ccb435b3..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-troubleshoot-soap-apis.adoc +++ /dev/null @@ -1,29 +0,0 @@ -= Troubleshooting SOAP APIs -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Flex Gateway does not natively support SOAP APIs and does not provide any schema validation for XML. However, you can publish an HTTP API instance to a secure SOAP upstream service. - -To create an HTTP API instance to a secure SOAP API upstream service, refer to the following: - -* xref:flex-gateway-publish-apis-conn.adoc[] -* xref:flex-gateway-publish-apis-local.adoc[] - -== Publish a Soap API - -Refer to the following video for additional information about how to publish a SOAP API as an HTTP API instance: - -++++ -include::_partials/soap-api-video.html[] -++++ - -== SOAP API Policy Limitations - -Flex Gateway policies return JSON error messages when the policy blocks a request. Most SOAP clients cannot read the JSON messages. - -SOAP APIs do not support the following policies: - -* xref:policies-included-schema-validation.adoc[] -* xref:policies-included-json-threat-protection.adoc[] diff --git a/gateway/1.6/modules/ROOT/pages/flex-troubleshoot.adoc b/gateway/1.6/modules/ROOT/pages/flex-troubleshoot.adoc deleted file mode 100644 index 1decdbae0..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-troubleshoot.adoc +++ /dev/null @@ -1,18 +0,0 @@ -= Troubleshooting -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -When you perform Anypoint Flex Gateway tasks, you might encounter issues or receive error messages. The following topics help you resolve these issues: - -* xref:flex-troubleshoot-debug-logs.adoc[Troubleshoot with Debug Logs] -* xref:flex-troubleshoot-reg.adoc[Troubleshoot Registration Issues] -* xref:flex-troubleshoot-logging.adoc[Troubleshoot Logging Issues] -* xref:flex-troubleshoot-linux-services.adoc[Troubleshoot Linux Services] -* xref:flex-troubleshoot-admin-api.adoc[Troubleshoot with the Admin API] -* xref:flex-troubleshoot-soap-apis.adoc[Troubleshoot SOAP APIs] -* xref:flex-troubleshoot-requests.adoc[Troubleshoot Request Connection] -* xref:flex-troubleshoot-docker.adoc[] -* xref:flex-troubleshoot-helm.adoc[] -* xref:flex-troubleshoot-regex.adoc[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-use-api-alerts.adoc b/gateway/1.6/modules/ROOT/pages/flex-use-api-alerts.adoc deleted file mode 100644 index b440aaa90..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-use-api-alerts.adoc +++ /dev/null @@ -1,220 +0,0 @@ -= Using Flex Gateway API Alerts -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Using API alerts for Flex Gateway in Connected Mode, you can add and configure email notifications that flag unusual API behavior, such as: - -* An API response time over 60 seconds -* More than 1000 API requests in 30 seconds - -See <> below. - -[[types-of-api-alerts]] -== Types of API Alerts - -Add any of the following alerts to notify you of the condition described: - -* Total Request Count: Users request access to the API more times than allowed during a specified time. Specify time interval values from 1 through 999999999. To prevent data bursts, intervals are implemented as sliding windows instead of as absolute minute boundaries. See https://www.techopedia.com/definition/869/sliding-window[Sliding Windows]. - -* Average Response Time: The response time of the API exceeds a specified timeout period. - -* Response Codes: Upon receiving a request, the API returns an HTTP code of 400, 401, 403, 404, 408, 500, 502, or 503 or a custom three-digit response. - -* Policy Violation: An infraction of a specified policy governing the API occurs. - -== How API Alerts Work - -API alerts are triggered only when: - -* The API state changes -+ -Note that the first occurrence of a state change might go undetected if a newly created alert does not include defined states. - -* The alert conditions are met for the specified period of time -+ -For example, if an alert is configured to trigger when an API returns an HTTP code of 500 five or more times within a 10-minute period, it does not trigger if the API returns a code of 500 only once within that 10-minute period. - -When configuring an API alert, you can select business group users and users outside your organization to receive email notifications about the alert. Notifications include information about events that trigger alerts as specified by severity level. - -[NOTE] -API Alerts are sent from `no-reply@mulesoft.com`. This cannot be customized. - -* The first email describes the alert: -+ -`Your API, CesarDemoAPI - Basic:151 (Environment: "NewOne"), has received greater than 2 requests within 1 consecutive periods of 1 minutes.` -+ -* Another email notifies you when the alert is resolved: -+ -`Your API Version, jsonplaceholderapi - 1.0.development, is no longer in an alert state. The number of policy violations was not greater than 1 in the last 1 consecutive periods of 1 minutes.` - -After the first set of two notification emails is sent, API Manager stops listening for alerts until the next alert period begins. This technique prevents repeated notification emails. - -== Before You Begin - -To view and delete alerts, ensure that you have: - -* *Manage Alerts* permission to view and delete API alerts. -* *View Alerts* permission for view-only access to alerts. - -[[add-api-alerts]] -== Add API Alerts - -To track and manage APIs, you can add one or more API alerts to your API instances. Add different <> based on your requirements. - -The following table explains the number of active alerts per API instance: - -include::reuse::partial$billing/pricing.adoc[tag=apiAlerts] - -All subscriptions enable you to have as many non-active alerts as needed. - -Pausing or deleting an active alert enables you to create new alerts if you have reached the maximum number of active alerts. - -Alerts are enabled by default when created. This setting cannot be modified. - -NOTE: Alerts cannot be added to API instances protected by xref:api-manager::automated-policies-landing-page.adoc[automated policies]. - -To add an API alert: - -. Navigate to *API Manager* > *API Administration* and click the API instance for which you want to add an alert. -. From the left navigation pane, select *Alerts* > *New alert*. -. Specify values for the displayed alert options: -* *Name*: -+ -Type an alert name, for example, `trial-alert`. You can delete an alert anytime if not required. -* *Severity*: -+ -Select a severity for the alert: - -** *Info* -+ -Assign to alerts that do not require immediate attention when triggered. This severity indicates that the metric should be passively monitored. -** *Warning* -+ -Assign to alerts that require prompt attention when triggered. This severity indicates an alert should be closely monitored. -** *Critical* -+ -Assign to alerts that require immediate attention when triggered. This severity indicates an alert should receive an immediate response. -. Specify the alert conditions: -* *Metric* -+ -Condition that triggers the alert. - -* *Logic* -+ -When the alert is triggered, based on the occurrence rate defined in the *When number of occurrences are* and *For at least [number of] minutes* fields. -You can select a maximum of ten response codes for alert conditions. - -. Configure the email notification: - -* *Subject* -+ -Subject of the alert email to send when the alert is triggered. The subject can include variables. See <>. - -* *Message* -+ -Body text for the email to send when the alert is triggered. The message body can include variables. See <>. - -* *Recipients* -+ -Recipients of the alert email. You can select up to 20 platform user IDs and enter up to 20 email addresses. - -. Click *Create*. - -Alerts appear as *Pending* when they are created. After the API receives traffic, the alert changes to a state of *OK*. Depending on the value, the alert transitions to *OK* or *Alerting*. - -=== Alert Email Template - -You can use the following variables in the *Subject* and *Message* fields for basic email alerts. - -For the description of each variable, see <>. - -[%header] -.Variables for Alerts -|=== -| Alert | Applicable Variables - -| *Total Request Count* -.4+a| -* `${severity}` -* `${operator}` -* `${threshold}` -* `${period}` -* `${value}` -* `${condition}` -* `${organization}` -* `${environment}` -* `${apiLink}` -* `${dashboardLink}` -* `${api}` -* `${policy}` - -| *Average Response Time* -| *Response Codes* -| *Policy Violations* - - -|=== - -[[alert-variables]] - -[%header%autowidth.spread] -[[alert-variables]] -.Variable Definitions -|=== -|Variable |Definition -|`${apiLink}`|URL of the triggered API -|`${alertState}`|State of the alert when it was triggered. - -Available values are `OK` or `Alerting`. -|`${comparison}`|* Above, above or equal, equal, below or equal, below -|`${condition}`|Metric for which the alert is triggered -|`${environment}`|Name of the environment in which the resource is deployed -|`${operator}` |An operator, such as `< > =` -|`${organization}` |Name of the organization that owns the alert -|`${period}` |Period of time over which to measure -|`${severity}` | Severity of the alert -|`${threshold}` |Count over the period of time that triggers the alert -|`${value}` | Value of the metric that triggers the alert -|=== - -[[enabling-alerts]] - -== Pause and Edit API Alerts - -Pausing an alert causes the alert to transition to *Paused*. - -You can also edit an existing alert by following these steps: - -. In API Manager, click *API Administration* in the left navigation bar. -. Click the API instance and version that you want to edit and then click *Alerts*. -. Click *Edit* from the three-dots menu (image:three-dots-menu.png[5%,5%]) on the alert you want to edit. -+ -image::flex-alerts-edit.png[Edit alerts] - -== Test API Alerts - -The process for testing API alerts begins with creating a Flex Gateway. Follow these steps to get started with Flex Gateway and test alerts: - -. xref:flex-install.adoc[Download Flex Gateway] -. Register and Run Flex Gateway -+ -* xref:flex-conn-reg-run.adoc[Register and Run in Connected Mode] -* xref:flex-local-reg-run.adoc[Register and Run in Local Mode] -. xref:flex-gateway-publish-apis-conn.adoc[Publish an API in Connected Mode] - -== View and Delete Alerts - -To view and delete alerts: - -. From API Manager, click *API Administration > API instance*, and select *Alerts*. -+ -image::view-add-alert.png[Viewing and adding alerts] - -+ -. Expand an alert in the list. -+ -Details about the alert options appear. -+ -. Click *Delete* from the three-dots menu (image:three-dots-menu.png[5%,5%]) on the alert you want to delete. You can also delete an alert when editing it. diff --git a/gateway/1.6/modules/ROOT/pages/flex-view-api-metrics.adoc b/gateway/1.6/modules/ROOT/pages/flex-view-api-metrics.adoc deleted file mode 100644 index 533789e7e..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-view-api-metrics.adoc +++ /dev/null @@ -1,60 +0,0 @@ -= Viewing Key Metrics for Flex Gateway APIs -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - - -API Manager and Anypoint Monitoring collect metrics on active Flex Gateway API instances. You can view charts related to these metrics and filter the data by date. - -include::reuse::partial$billing/pricing.adoc[tag=apimKeyMetrics] - - -[NOTE] -==== -The *Mule API Analytics* tab in API Manager is currently not available for Flex Gateway APIs. Use the *Key Metrics* or the additional metrics in Anypoint Monitoring. -==== - - -== Key Metrics - -include::partial$include-nav-steps-api-instance.adoc[] - -To see an API instance in Anypoint Monitoring, from the *Key Metrics* section click *View more metrics in Anypoint Monitoring dashboard* or navigate to Anypoint Monitoring directly. - -The *Key Metrics* section shows four charts. If charts do not appear for your API instance, refresh your browser. - -== Understanding Key Metrics - -The *Key Metrics* section of the API summary contains the following charts: - -Total Requests:: -Sum of requests in the selected time period for the given API. -+ -Data is aggregated in one minute increments. - -Total Policy Violations:: -Sum of requests that return policy violations. -+ -Data is aggregated in one minute increments. - -Total Errors:: -Sum of HTTP response codes that occur in the selected time period. The response codes counted in this metric are 400, 401, 402, 403, 404, 405, 408, 409, 410, 411, 412, 413, 415, 416, 417, 420, 422, 429, 500, 502, 503, 504, 504, 510, and 511. -+ -Data is aggregated in one minute increments. In the chart, HTTP response codes are abbreviated as 4xx and 5xx. - -Average Response Time:: -Average response time of requests in the selected time period for the given API. -+ -Data is aggregated in one minute increments. - - -== Setting the Time Period for Key Metrics - -You can view the data points collected for the last given period of time (such as the last 5 or 30 minutes) or over a given date and time range. Use the drop-down in the calendar icon to select the time period to display. - -== What's Next? - -* Create alerts using the metrics related to an API instance with the xref:flex-use-api-alerts.adoc[Alerts feature in API Manager] or with the xref:monitoring::basic-alerts.adoc[Basic Alerts feature in Anypoint Monitoring]. -* View built-in API dashboards in xref:monitoring::api-analytics-dashboard.adoc[Anypoint Monitoring] where you can see additional metrics, filter data by date, and export data into a CSV. -include::reuse::partial$billing/pricing.adoc[tag=availabilityParenthetical] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-view-api-status.adoc b/gateway/1.6/modules/ROOT/pages/flex-view-api-status.adoc deleted file mode 100644 index 2e0aa51c4..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-view-api-status.adoc +++ /dev/null @@ -1,17 +0,0 @@ -= Viewing the Flex Gateway API Status in Runtime Manager -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -// :page-aliases: runtime-manager::flex-gateway-apis.adoc -:imagesdir: ../assets/images - -To view basic information about APIs associated with Flex Gateway instances: - -. From Anypoint Platform, select *Runtime Manager*. -. Select *Flex Gateway* in the navigation menu. -. Click the name of the gateway whose APIs you want to check. -. Click *APIs*. -+ -For each API, Runtime Manager shows the name, version, instance ID, label, and date on which it was added. - -To see more detailed information and perform actions on your APIs, click *View details* to be redirected to API Manager. \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-view-logs-in-monitoring.adoc b/gateway/1.6/modules/ROOT/pages/flex-view-logs-in-monitoring.adoc deleted file mode 100644 index c99c2db32..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-view-logs-in-monitoring.adoc +++ /dev/null @@ -1,18 +0,0 @@ -= Viewing Logs in Anypoint Monitoring -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -// :page-aliases: runtime-manager::flex-gateway-monitoring.adoc -:imagesdir: ../assets/images - -Anypoint Monitoring shows the details of your Flex Gateway logs. - -To access Anypoint Monitoring from the Runtime Manager Flex Gateway UI: - -. From Anypoint Platform, select *Runtime Manager*. -. Select *Flex Gateway* in the navigation menu. -. Click the name of the gateway to which you want to add an API. -. Click *Logs*. -. Click *View logs in Anypoint Monitoring*. -+ -This action takes you to the Anypoint Monitoring UI. \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/flex-view-replica-status.adoc b/gateway/1.6/modules/ROOT/pages/flex-view-replica-status.adoc deleted file mode 100644 index 01eccf005..000000000 --- a/gateway/1.6/modules/ROOT/pages/flex-view-replica-status.adoc +++ /dev/null @@ -1,52 +0,0 @@ -= Viewing the Replica Status in Runtime Manager -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -// :page-aliases: runtime-manager::flex-gateway-replica-status.adoc -:imagesdir: ../assets/images - -In Runtime Manager, you can view the status of groups of Flex Replicas and individual Flex Replicas. - -== Groups of Flex Replicas - -To view information about the status of groups of Flex Replicas: - -. From Anypoint Platform, select *Runtime Manager*. -. Select *Flex Gateway* in the navigation menu. + -By default, all Flex Gateways regardless of their status are shown. To filter by status, click the *Any Status* arrow and the status you want to filter. - -The *Name* column lists the name and the number of connected replicas. - -The *Status* column shows the connection status for the replicas associated with a particular gateway. - -The following table describes the meaning of each status for a group of replicas: - -[%header,cols="30a,70a"] -|=== -|Status | Group of Replicas -|Connected | At least one replica is connected to the platform and can serve traffic. -|Disconnected | There are no replicas connected to the platform and no information on whether they are serving traffic. -|=== - -== Individual Flex Replicas - -To view information about the status of individual replicas: - -. From Anypoint Platform, select *Runtime Manager*. -. Select *Flex Gateway* in the navigation menu. -. Select the name of the Flex Gateway whose individual replica statuses you want to view. - -The *Status* column in the list of replicas shows the connection status for that particular replica. - -The following table describes the meaning of each status for a single replica: - -[%header,cols="30a,70a"] -|=== -|Status |Single Replica -|Connected | The replica is connected to the platform and can serve traffic. -|Disconnected |The replica is not connected to the platform. There is no information on whether it is serving traffic. Disconnected replicas are deleted after seven days. -|=== - -== See Also - -* xref:flex-view-api-status.adoc[View the API Status in Runtime Manager] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/index.adoc b/gateway/1.6/modules/ROOT/pages/index.adoc deleted file mode 100644 index 40afaa82b..000000000 --- a/gateway/1.6/modules/ROOT/pages/index.adoc +++ /dev/null @@ -1,164 +0,0 @@ -= Flex Gateway Overview -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -// :page-aliases: gateway::flex-shared-responsibility.adoc, runtime-manager::flex-gateway-about.adoc, runtime-manager::flex-gateway-modes.adoc - -Anypoint Flex Gateway is an Envoy-based, ultrafast lightweight API gateway designed to manage and secure APIs running anywhere. Built to seamlessly integrate with DevOps and CI/CD workflows, Flex Gateway delivers the performance required for the most demanding applications and microservices while providing enterprise security and manageability across any environment. - -The following video provides a quick overview of Flex Gateway: - -++++ -include::_partials/product-spotlight-video.html[] -++++ - -== Flex Gateway Architecture - -Flex Gateway comprises two components that work in tandem: - -* <> -* <> - -The following graphic diagrams the relationship between these components: - -image::gateway-concepts-control-plane-diagram.png["Flex Gateway Concepts diagram,"width=100%] - -[[control_plane]] -=== Control plane - -The control plane is a MuleSoft-hosted platform that centralizes management and observability, enabling you to: - -* Build APIs. -* Add policies. -* Deploy APIs into the runtime. -* Monitor APIs in Anypoint API Manager. -* Configure the runtime in Anypoint Runtime Manager. - -[[runtime]] -=== Runtime - -The gateway runtime is a customer-hosted distributed entity installed in any cloud data center or, for testing purposes, on your local laptop. The runtime receives commands from the control plane and routes and protects the backend APIs. Built with security in mind, Flex Gateway secures communications between the runtime and the control plane through mTLS and HTTPs. - -Fluent Bit implementation enables log output to local files, or to aggregators such as New Relic, Sumo Logic, and Splunk. - -== Replicas -A runtime unit is called a `replica`. While a single runtime can support {gateway-api-max} backend APIs for high availability, it is best to deploy Flex Gateway as a cluster with multiple replicas running in parallel. Using clusters increases gateway performance and robustness, and is recommended for high-performance applications that must scale. - -A single Flex Gateway can support multiple backend APIs. To support more backend APIs, you can deploy multiple replicas or additional Flex Gateways. Increase replica CPU and memory for higher throughput and increased performance. - -You can configure an optional external REDIS storage for features such as distributed rate limiting and distributed caching. Gateway replicas use the REDIS storage as a scratchpad to coordinate rate-limiting across multiple replicas, so customer SLAs are adhered to. - -== API Instances - -Flex Gateway supports HTTP and REST API instances. - -Flex Gateway does not natively support SOAP APIs and does not provide any schema validation for XML. However, you can publish an HTTP API instance to secure any API that uses HTTP protocol. - -To publish a SOAP API, refer to xref:flex-troubleshoot-soap-apis.adoc[]. - -== Connected Mode vs. Local Mode - -Flex Gateway can be deployed in two ways: - -* <> -* <> - -[[connected_mode]] -=== Connected Mode -In Connected Mode, the gateway is fully connected to the MuleSoft control plane. This connection allows for centralized management, observability, and security. Anypoint API Manager enables full API lifecycle management and policy configuration. Anypoint Runtime Manager enables you to deploy and configure your gateway. - -Choose Connected Mode for a UI-based experience to deploy policies, and for managing and monitoring the gateway. - -[[local_mode]] -=== Local Mode - -You can also configure and manage a standalone gateway that is mostly disconnected from the control plane. Choose Local Mode for this experience. - -[NOTE] -Flex Gateway deployed in Local Mode only connects to the control plane for registration and logging usage metrics. - -In Local Mode, you manage all configuration and policy applications with locally stored declarative configuration files. - -Use Local Mode to build CI/CD pipelines for application deployments. - -=== Summary of Differences - -The following table summarizes the differences between Connected Mode and Local Mode. - -[%header%autowidth.spread,cols="a,a,a"] -|=== -| | Connected Mode | Local Mode - -| *Use Case* -| Centralize management, observability, and security. Flex Gateway connects to the control plane. -| Operate independently of the control plane in a mostly disconnected manner. Manage with locally stored declarative configuration files. Build CI/CD pipelines. - -| *Policy Application* -| Via API Manager -| Via local declarative configuration files - -| *Air-Gapped?* -| No. Flex Gateway is connected to the control plane. -| No. Flex Gateway is managed locally but only connected to the control plane for registration and usage metrics. - -|=== - -== Installation Options - -You can install Flex Gateway in a variety of ways: - -* A standalone single runtime or replica on various Linux environments including Ubuntu, Debian, Amazon Linux, RHEL, and CentOS - -* A standalone runtime in a Docker container - -* A sidecar to a backend application in a Docker container, thereby protecting a single backend application - -* A Kubernetes `Deployment` for high-availability, high-performance use cases - -Use a standalone gateway when protecting a few APIs and the number of transactions is low, with a minimal impetus on high-availability or robustness. Otherwise, use an Ingress controller in Kubernetes. - -== Version Retirement Dates - -For information about Flex Gateway version retirement dates, refer to https://help.mulesoft.com/s/article/MuleSoft-Product-Feature-Retirements[MuleSoft Product Feature Retirements^]. - -== Shared Responsibility - -The successful operation of Flex Gateway is a responsibility shared between you and MuleSoft. - -=== MuleSoft Responsibility - -MuleSoft is responsible for: - -* Providing and supporting Flex Gateway (including the agent, Envoy package, and Fluent Bit package) -* Providing and supporting a base Helm chart for the installation of Flex Gateway in a Kubernetes cluster -* Providing and supporting an online Docker image registry -* Providing and supporting an online package repository for installation on Linux - -=== Your Responsibility - -When running on any target, you are responsible for: - -* Maintaining connectivity to the Anypoint Control Plane -* Not running third-party software that interferes with normal Flex Gateway operation, such as antivirus, DPI, or application security systems - -When running in Kubernetes, you are responsible for: - -* Adapting the base Helm chart for your specific needs -* Managing the Kubernetes `Deployment`, including: -** External load balancing -** Customizations to `Ingress` resources -** Log forwarding -** Monitoring -** Network ports, NAT gateways, and proxies -** Container runtime and networking -** Provisioning and management of the Kubernetes environment, which requires: -*** Your IT team to provision and manage the infrastructure -*** Your network team to configure allowed ports and proxy settings -*** Your security team to verify compliance and obtain security certificates - -See xref:general::usage-reports.adoc[Viewing Usage Reports] for information about your monthly Flex Gateway usage. - -== Next Steps - -* xref:flex-gateway-getting-started.adoc[] diff --git a/gateway/1.6/modules/ROOT/pages/policies-automated-applying.adoc b/gateway/1.6/modules/ROOT/pages/policies-automated-applying.adoc deleted file mode 100644 index a6eda31eb..000000000 --- a/gateway/1.6/modules/ROOT/pages/policies-automated-applying.adoc +++ /dev/null @@ -1,115 +0,0 @@ -= Applying Automated Policies -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -// :page-aliases: api-manager::automated-policy-apply.adoc, policies::policies-automated-applying.adoc - -Users with *Organization Admin*, *Environment Admin*, or with a role to *Manage Policies* in the environment can create, edit and delete Automated Policies. - -// == Task Prerequisites -// -// Before you apply an automated policy, ensure that: -// -// * Mule runtime engine (Mule) is installed with xref:api-manager::api-gateway-capabilities-mule4.adoc[Mule Gateway capabilities] enabled. -// * An xref:api-manager::api-instance-landing-page.adoc[API] configured with a basic endpoint or a proxy endpoint exists in API Manager. -// * A Mule application is deployed with a xref:connectors::http/http-listener-ref.adoc[HTTP(s) based flow], which is linked to the API through Autodiscovery. -// + -// When Autodiscovery is correctly configured in your Mule application, your application’s API is said to be tracked by or paired to API Manager. -// -// Autogenerated proxies handle these prerequisites in most cases. Mule Gateway reconciles the automated policies applied to an API in API Manager during runtime. - -== Apply an Automated Policy in Connected Mode - -To apply an automated policy: - -. In API Manager, select *Automated Policies* from the left navigation menu. -. Click *Apply new automated policy*. -. Select the provided policy that you want to configure as a provided policy. -+ -You can configure any included policies as an automated policy. -+ -See the xref:policies-included-directory.adoc[] to learn how to configure each one of them, or xref:policies-custom-overview.adoc[] to learn how to create one. -// + -// When configuring an automated policy, at the bottom of the policy configuration page, there is a *Rule of Applications* sub-section. This dictates the set of runtimes that will be affected by the policy: -// -// * *Apply to all supported runtimes (4.1.1 and above)*. + -// All API proxies based on Mule 4.1.1 and later will be affected by the policy. -// * *Apply to a specific set of runtimes*. + -// You can configure a range of runtime versions to inherit the automated policy. + -// For example, if the input From is 4.1.2 and the To value is 4.1.4, the automated policy will be applied to all deployed APIs inside this range. An API deployed on 4.1.5 won’t be affected by the policy. -// + -// You can include values such as `4.1.x`. For example, adding a range from 4.1.1 to 4.1.x covers all runtime patch releases. An API Proxy based on 4.1.0 will not be included in this range, because it's lower than the 4.1.1 "from value." -+ -If you are configuring a type of policy that also exists as a provided policy in an API proxy affected by your rule of application, you'll need to solve the conflict before continuing. Refer to the <> section below for more information on how to solve them. -. Click *Apply* - -[TIP] -It’s recommended to apply an automated policy in a lower environment before applying in a production environment and ensure to review that an automated policy doesn't affect the existing API contracts. - -=== Conflict Management - -Since automated policies have priority over API-level policies, when adding an automated policy that it is already applied as an API-level policy, on an API deployed using the selected runtime range, a conflict results. - -When a conflict is detected, a popup with the list of conflicting APIs displays. A message will be shown with the first 10 APIs with conflicts and the total amount. You can use this endpoint to access the list of all APIs: - -[source,CURL,linenums] --- -curl -X GET \ -https://anypoint.mulesoft.com/xapi/v1/automated-policies/{groupId}/{assetId}/conflicting-apis \ --H 'Authorization: Bearer {token}' --- - -To solve conflicts, you can either select the APIs from the list of already configured APIs and manually disable or remove the conflicting policy or choose to override all conflicting policies for the already configured APIs. If this last option is chosen the conflicting policies in the APIs will be disabled. If Automated Policy is removed, the API policy will be re-enabled automatically. - -=== Deploying New APIs - -When managing new APIs, you can see information regarding the status of the automated policies applied to your environment in the *Policies* tab. No automated policies are shown until the application is in Active status. + -After the application is deployed, a list of applied automated policies will be listed in the *Policies* tab of the API. - -Users with *View Policies* role for the environment will able to see the list of automated policies applied. -// + -// If an application is deployed to an environment which has an automated policy that doesn't cover the deployed runtime, for example with an automated policy affecting a runtime range from 4.1.2 to 4.1.4, and a user deploys to a 4.1.5 runtime, a notification will be sent to the organization, and environment administrators, to let them know of this activity. - -=== Viewing Coverage Status - -View the *Coverage status* of an API instance to see if an automated policy covers your API instance or why it doesn't. Typically, instances are not covered due to their runtime type or runtime version. - -To view what API instances are covered by an automated policy: - -. Navigate to *Anypoint Platform* > *API Manager*. -. In API Administration, click *Automated Policies*. -. Click the more options button (image:more-options-menu.png[1%,1%]) of the policy whose coverage you want to view, and then click *See covered APIs*. -. View the API instance's coverage status in the *Coverage status* column. - -NOTE: To filter by coverage status, click the coverage status dropdown and select a coverage status option. - -=== Auditing Applied Policies - -It is possible to audit and get a list of all affected APIs by an automated policy. Reports can be filtered by runtime version, and by an operation. - -To get the list of all automated policies in an environment: - -[source,curl,linenums] --- -curl -X GET \ -https://anypoint.mulesoft.com/apimanager/api/v1/organizations/{organizationId}/automated-policies?environmentId={envId} \ - -H 'Authorization: Bearer {token}' --- - - -To get the list of APIs included in the range of automated policy or APIs where the automated policy is not applied. - -[source,curl,linenums] --- -curl -X GET \ -https://anypoint.mulesoft.com/apimanager/api/v1/organizations/{organizationId}/automated-policies/{automatedPolicyId}/apis \ --H 'Authorization: Bearer {token}' --- - -== Apply an Automated Policy in Local Mode - -For information about applying an automated policy for Flex Gateway running in Local Mode, see xref:flex-local-secure-api-with-auto-policy.adoc[]. - -== See Also - -* xref:policies-automated-overview.adoc[] diff --git a/gateway/1.6/modules/ROOT/pages/policies-automated-overview.adoc b/gateway/1.6/modules/ROOT/pages/policies-automated-overview.adoc deleted file mode 100644 index 5fe7725e6..000000000 --- a/gateway/1.6/modules/ROOT/pages/policies-automated-overview.adoc +++ /dev/null @@ -1,20 +0,0 @@ -= Automated Policies -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -// :page-aliases: api-manager::automated-policies-landing-page.adoc, policies::policies-automated-overview.adoc - -Use automated policies to enforce security and logging requirements by applying the same policies to all APIs running in Flex Gateway. With policy automation, you can quickly design, build, and deploy secure and consistent APIs. - -Automated policies enable you to deploy APIs with confidence because the target environment automatically enforces critical policies, resulting in reduced errors. An administrator no longer needs to remember to insert a policy to enforce common standards manually. - -You can configure all xref:policies-included-directory.adoc[included policies] and xref:policies-custom-overview.adoc[custom policies] as automated policies and apply them to the APIs running in an environment. - -[NOTE] -==== -xref:flex-use-api-alerts.adoc[Alerts] cannot be added to API instances protected by automated policies. -==== - -== See Also - -* xref:policies-automated-applying.adoc[] diff --git a/gateway/1.6/modules/ROOT/pages/policies-custom-flex-getting-started.adoc b/gateway/1.6/modules/ROOT/pages/policies-custom-flex-getting-started.adoc deleted file mode 100644 index cfd490bd1..000000000 --- a/gateway/1.6/modules/ROOT/pages/policies-custom-flex-getting-started.adoc +++ /dev/null @@ -1,211 +0,0 @@ -= Publish a Flex Gateway Custom Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -// :page-aliases: policies::policies-custom-flex-getting-started.adoc - -include::partial$pdk-banner.adoc[tag=pdk] - -The following steps are the high-level workflow for publishing custom policies for Anypoint Flex Gateway: - -. Create policy definition files. -. Publish policy definition asset to Exchange. -. Create implementation files. -. Add policy implementation to the published policy definition. - -== Before You Begin - -Before you can publish a custom policy for Flex Gateway, ensure you have administrator or contributor permission for Anypoint Platform. - - -[[create-policy-definition-files]] -== Create Policy Definition Files - -A JSON and a YAML policy definition file must be created before you can upload the policy implementation. The required files are JSON and YAML. - -The JSON file specifies the interface for the policy using JSON schema language. The JSON file is used by API Manager to render the UI. - -The YAML file provides metadata regarding the policy for example, the policy category, interface scope, required characteristics, and RAML/OAS snippets. - -Copy the custom policy definition examples or create the files on your local system. - -=== Create the JSON Schema File - -The JSON schema file specifies the interface for the policy by identifying which properties are required or supported to configure the policy. The file also includes more annotations to refine the type for each property that enables some fields to perform a special behavior in the Anypoint platform. For example, Dataweave validations or secure handling of secrets. - -The JSON file must include the following fields: - -* Top-level @context -+ -References the vocabulary used for the extra type annotations. The aliases used to namespace the vocabulary are a optional. Commonly-used names can be `security` or `config`. -+ -Values for the security and config aliases are: - -** Security: `anypoint://vocabulary/policy.yaml#` -** Config: `anypoint://vocabulary/policyConfigurationsForUI.yaml#`` -* Top-level title -* $schema with a link to the JSON Schema spec (see example) -* Root type of `object` -* Top-level description -* Each property must also include: -+ -** Title -+ -The title is used by API Manager UI to render the field name. -** Description -+ -The description is used by API Manager UI to describe the field. -** Type -+ -Only primitive types are supported, for example `integer`, `string`, `object`, `boolean`, and `array`. - -Each property can include the following: - -* Format -+ -Options are `dataweaveExpression` and `ipRange``. -* Default -+ -Allows the user to enter a default value which is rendered in the UI. -* @context with a @characteristics array -+ -Further refines the type with more annotations with the following options: - -** `config:commaSeparatedValues` -+ -The value of this field results in an array -** `security:sensitive` -Determines whether the property is masked when entering the property in the API Manager UI. - - -The following code is a example of a basic authentication JSON schema: - ----- - - { - "title": "Basic authentication - Simple", - "type": "object", - "description": "Enforces HTTP Basic authentication according to the details configured in the policy.", - "properties": { - "username": { - "title": "User Name", - "type": "string" - }, - "password": { - "title": "User Password", - "type": "string", - "@context": { - "@characteristics": [ - "security:sensitive" - ] - } - } - }, - "required": [ - "username", - "password" - ], - "unevaluatedProperties": false, - "@context": { - "@vocab": "anypoint://vocabulary/policy.yaml#", - "security": "anypoint://vocabulary/policy.yaml#" - }, - "$id": "basic-authentication-simple", - "$schema": "https://json-schema.org/draft/2019-09/schema" -} ----- - -=== Create the Definition Metadata YAML File - -The YAML file provides information about the policy and its requirements. The YAML file is not tied to any specific runtime or binary. - -The file must have these fields configured: - -* Header -+ -Header must be #%Policy Definition 0.1. -* Name -+ -User-friendly name used for to display the policy name in API Manager UI. Must be a string value. -* Description -+ -Must be a string value. - -* Category -+ -Category to which the policy belongs. Used to group and filter policies in API Manager UI. Any string value is valid. For example, `security`, `quality of service`, `compliance`, `troubleshooting`, and `transformation`. - -* Provided Characteristics -+ -A list used to define the characteristics the policy provides. Must be an array of strings. Use `providedCharacteristics: []` to leave empty. - -The following code is an example of a basic authentication definition YAML file: ----- -#%Policy Definition 0.1 -name: Basic authentication - Simple -description: Enforces HTTP Basic authentication according to the details configured in the policy. -category: Security -providedCharacteristics: - - Requires authentication -requiredCharacteristics: [] -interfaceScope: ["api", "resource"] -interfaceTransformation: [] -encryptionSupported: true -violationCategory: authentication ----- - -== Publish Policy Definition Asset to Exchange -After creating the required policy definition files (JSON and YAML), publish the policy definition asset to Exchange. - -See xref:exchange::to-create-an-asset#create-custom-policy-definition-asset[Create a Custom Policy Definition Asset] for more information. - -[[create-implementation-files]] -== Create Implementation Files -The policy implementation files that are required to make the policy available in a runtime are a metadata file and a binary file. The metadata file describes what technology the binary file applies to and from which runtime version. The metadata file must be a YAML file. The binary file contains the policy logic and manages the runtime execution. The file can be a WebAssembly (WASM) for Anypoint Flex Gateway or a JAR file for Mule 4 runtime. - -=== Create Metadata YAML File -The metadata YAML file provides details about the specific implementation of the policy definition. A single policy definition can have several implementations. Each an independent asset in Exchange or different versions of the same Exchange asset. - -The metada YAML file must include the following fields: - -* Header -+ -#%Policy Implementation 1.0 -* Technology -+ -Either `mule4` or `flexGateway`. -* Name -+ -Name of the implementation. -* minRuntimeVersion -+ -A semantic version representing the first runtime version that the implementation binary is compatible with. For example, a mule binary might only be compatible from 4.3.0 onwards. - -The YAML file can also include `Release notes`. - -The following code is an example of a implementation metadata YAML file: - ----- -#%Policy Implementation 1.0 -minRuntimeVersion: 4.1.1 -maxRuntimeVersion: 4.4.0 -technology: mule4 -name: Simple Auth Mule Implementation -releaseNotes: "" - ----- - -=== Create the Implementation Binary Files -The implementation binary file is a JAR file for Mule 4 policies or a WebAssembly WASM file for Anypoint Flex Gateway. These files should support all of the configuration fields and function the way the definition metadata describes. - - -== Add Policy Implementation Files to Published Policy Definition -After the custom policy definition asset is published to Exchange, the next step is to add the policy implementation files to the published policy. This step enables the policy to be available in runtime. The required implementation files are a binary file such as a WebAssembly (WASM) file for Flex Gateway or JAR for Mule 4 runtime and a YAML metadata file. - -Before adding the implementation files, ensure that the policy asset is in the Stable state. - -// See xref:exchange::add-policy-implementation-files-to-published-policy-definition[Add Policy Implementation Files to Published Policy Definition] for more information. - - -== Apply the Policy to an API from Anypoint API Manager -After the implementation files are published, the policy is available to be applied to an API in API Manager. See the Anypoint API Manager documentation for information about applying the policy. diff --git a/gateway/1.6/modules/ROOT/pages/policies-custom-flex-implement-rust.adoc b/gateway/1.6/modules/ROOT/pages/policies-custom-flex-implement-rust.adoc deleted file mode 100644 index c1455fa5e..000000000 --- a/gateway/1.6/modules/ROOT/pages/policies-custom-flex-implement-rust.adoc +++ /dev/null @@ -1,342 +0,0 @@ -= Implement a Flex Gateway Custom Policy in Rust -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -// :page-aliases: policies::policies-custom-flex-implement-rust.adoc - -include::partial$pdk-banner.adoc[tag="pdk"] - -== Summary - -You can implement custom policies via WebAssembly (WASM) extensions that run on Envoy as custom filters. You implement these policies using the https://github.com/proxy-wasm/proxy-wasm-rust-sdk[WebAssembly for Proxies (Rust SDK)^]. The following examples assume knowledge about Rust and related tools. - -== Lifecycle Events - -Custom policies are based on https://github.com/proxy-wasm/spec[proxy-wasm ABI^], an event-driven, Envoy-agnostic, low-level interface for L4/L7 proxies. This interface specifies how a WASM extension and its host interact, and it includes listenable lifecycle events: HTTP request lifecycle events and also WASM filter lifecycle events. - -The SDK exposes a method to retrieve information related to each lifecycle event. For example, data retrieved from the `on_http_request_headers` event can be used to perform related custom policy logic, which can then inform the runtime if the request should be processed. - -=== HTTP Request Lifecycle Events - -* `on_http_request_headers` -+ -Triggered when the endpoint receives the complete set of HTTP request headers. - -* `on_http_request_body` -+ -Triggered when the endpoint receives the first bytes of the HTTP request. - -* `on_http_response_headers` -+ -Triggered when the endpoint receives the complete set of HTTP response headers. - -* `on_http_response_body` -+ -Triggered when the endpoint receives the first bytes of the HTTP response body. - -=== Filter Lifecycle Events - -* `on_configure` -+ -Triggered when the WASM filter starts with an available configuration. -+ -Flex Gateway serializes policy configuration into JSON, which is used to configure the Envoy WASM filter. You can deserialize and parse this JSON into data that will be used by your custom policy. - -=== Example Lifecycle Events Implementation - -The following Envoy filter template demonstrates how to implement lifecycle events: - ----- -use proxy_wasm::traits::*; -use proxy_wasm::types::*; - -proxy_wasm::main! {{ - proxy_wasm::set_log_level(LogLevel::Trace); - proxy_wasm::set_root_context(|_| -> Box { - Box::new(HttpConfigHeaderRoot { - header_content: String::new(), - }) - }); -}} - -struct HttpConfigHeader { - header_content: String, -} - -impl Context for HttpConfigHeader {} - -impl HttpContext for HttpConfigHeader { - fn on_http_request_headers(&mut self, _num_headers: usize, _end_of_stream: bool) -> Action { - Action::Continue - } - - fn on_http_request_body(&mut self, _body_size: usize, _end_of_stream: bool) -> Action { - Action::Continue - } - - fn on_http_response_headers(&mut self, _num_headers: usize, _end_of_stream: bool) -> Action { - Action::Continue - } - - fn on_http_response_body(&mut self, _body_size: usize, _end_of_stream: bool) -> Action { - Action::Continue - } -} - -struct HttpConfigHeaderRoot { - header_content: String, -} - -impl Context for HttpConfigHeaderRoot {} - -impl RootContext for HttpConfigHeaderRoot { - fn on_configure(&mut self, _: usize) -> bool { - if let Some(config_bytes) = self.get_plugin_configuration() { - self.header_content = String::from_utf8(config_bytes).unwrap() - } - true - } - - fn create_http_context(&self, _: u32) -> Option> { - Some(Box::new(HttpConfigHeader { - header_content: self.header_content.clone(), - })) - } - - fn get_type(&self) -> Option { - Some(ContextType::HttpContext) - } -} ----- - -== Custom Authentication Header Policy Example - -The following tutorial describes how to create an example policy implementation for a xref:policies-custom-flex-getting-started.adoc#create-policy-definition-files[Policy Definition] that has already been published in Exchange. -The example policy blocks requests whose `x-custom-auth` header does not match a user-configured value. - -During the policy development process, you complete the following steps: - -. Create the policy definition JSON file. -. Set up the project. -. Develop the custom policy. - -=== Create the Policy Definition JSON File - -Example policy implementations require a policy definition JSON file. Flex Gateway passes policy configuration as JSON with that policy definition structure to the Envoy WASM filter. - -The example authentication header policy has only one parameter: the value that needs to be passed in the header. The policy definition JSON file should match the following: - ----- -{ - "title": "Custom Auth Header", - "type": "object", - "description": "Enforces HTTP authentication matching x-custom-auth value to what is configured in the policy.", - "properties": { - "secret-value": { - "title": "Custom Auth Header Password", - "type": "string", - "@context": { - "@characteristics": [ - "security:sensitive" - ] - } - } - }, - "required": [ - "secret-value" - ], - "unevaluatedProperties": false, - "@context": { - "@vocab": "anypoint://vocabulary/policy.yaml#", - "security": "anypoint://vocabulary/policy.yaml#" - }, - "$id": "custom-auth-header-simple", - "$schema": "https://json-schema.org/draft/2019-09/schema" -} ----- - -=== Set Up the Project - -. Create the Rust project via the following command: -+ ----- -cargo new flex_custom_policy_example --lib ----- -+ -This creates a `flex_custom_policy_example` directory. - -. Copy the following into `Cargo.toml`, located in the `flex_custom_policy_example` directory: -+ ----- -[package] -name = "flex_custom_policy_example" -version = "0.1.0" -edition = "2021" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[lib] -crate-type = ["cdylib"] -name="flex_custom_policy_example" -path="src/lib.rs" - -[dependencies] -proxy-wasm = { git = "https://github.com/proxy-wasm/proxy-wasm-rust-sdk.git", tag = "v0.2.0" } -serde = { version = "1.0", features = ["derive"] } -serde_json = "1.0" - -[profile.release] -opt-level = "z" -lto = "fat" ----- - -=== Develop the Custom Policy - -. Add the following policy bootstrapping code to a new Rust source file: -+ ----- -use proxy_wasm::traits::*; -use proxy_wasm::types::*; -use serde::Deserialize; - -proxy_wasm::main! {{ - proxy_wasm::set_log_level(LogLevel::Trace); - proxy_wasm::set_root_context(|_| -> Box { - Box::new(CustomAuthRootContext { - config: CustomAuthConfig::default(), - }) - }); -}} ----- -+ -The code is required to deploy your WASM filter to Envoy. The `main` block sets the root context, which is an Envoy entity used to generate the child context for each incoming HTTP request. - -. Add the following root context implementation code: -+ ----- -struct CustomAuthRootContext { - config: CustomAuthConfig, -} - -impl Context for CustomAuthRootContext {} - -impl RootContext for CustomAuthRootContext { - - fn create_http_context(&self, _: u32) -> Option> { - Some(Box::new(CustomAuthHttpContext { - config: self.config.clone(), - })) - } - - fn get_type(&self) -> Option { - Some(ContextType::HttpContext) - } -} ----- -+ -Each Envoy filter is required to provide a root context implementation. The `RootContext` trait contains useful methods you can implement. In this example, HTTP filters implement `create_http_context` and `get_type` so that Envoy can generate the child contexts. - -. Add the following `Struct` to enable parsing this JSON: -+ ----- -#[derive(Default, Clone, Deserialize)] -struct CustomAuthConfig { - - #[serde(alias = "secret-value")] - secret_value: String, -} ----- -+ -Flex Gateway configures your policy with JSON defined in the policy definition. The JSON that needs to be parsed contains a single field called `secret-value`. -+ -. Deserialize the configuration: -+ -After creating the basic policy configuration structure, you must implement the `RootContext` `on_configure` method in order to deserialize it. -+ -Within the implementation of `RootContext` for `CustomAuthRootContext`, add the `on_configure` method, like the following snippet. -+ ----- -impl RootContext for CustomAuthRootContext { - - fn on_configure(&mut self, _: usize) -> bool { - if let Some(config_bytes) = self.get_plugin_configuration() { - self.config = serde_json::from_slice(config_bytes.as_slice()).unwrap(); - } - - true - } - - // Other implemented methods - // ... -} ----- - -. Add the following HTTP context code: -+ ----- -struct CustomAuthHttpContext { - pub config: CustomAuthConfig, -} - -impl Context for CustomAuthHttpContext {} - -impl HttpContext for CustomAuthHttpContext {} ----- -+ -Each incoming request creates a new `CustomAuthHttpContext`, and this `CustomAuthHttpContext` lives as long as the HTTP request lives. This enables you to store request-related state data (but not inter-request state data.) - -. Add the following core policy functionality logic: -+ ----- -impl HttpContext for CustomAuthHttpContext { - fn on_http_request_headers(&mut self, _num_headers: usize, _end_of_stream: bool) -> Action { - - if let Some(value) = self.get_http_request_header("x-custom-auth") { - if self.config.secret_value == value { - return Action::Continue; - } - } - - self.send_http_response(401, Vec::new(), None); - - Action::Pause - } -} ----- -+ -The `proxy-wasm` ABI retrieves the header value of the incoming request and then compares the value against `secret-value`. If `secret-value` matches the header, the implementation returns an `Action::Continue`. Otherwise, it returns `Action::Pause`, and the filter itself emits a response to the calling client using `send_http_response`. -+ -Note: The Rust SDK contains an issue reading non-UTF-8 values with `get_http_request_header`. To work around the issue, use the `get_http_request_headers_bytes` method and read the bytes using the `from_utf8` https://doc.rust-lang.org/std/string/struct.String.html#method.from_utf8[method^]. For example: -+ ----- -let header = self.get_http_request_header_bytes("x-custom-auth").map(String::from_utf8).and_then(Result::ok); ----- - -. Enable compilation by adding `wasm32` as a target: -+ ----- -rustup target add wasm32-wasi ----- -+ -All third-party libraries included in your policy must be compatible with the `wasm32-wasi` Rust compilation target. -+ -[IMPORTANT] -==== -Some libraries might compile properly to the wasm32-wasi target but might not work properly when deployed to Flex Gateway. Example deployment errors when this happens are: - -* `Failed to load Wasm module due to a missing import` -* `Wasm VM failed to initialize Wasm code` -* `Plugin configured to fail closed failed to load` - -To resolve these issues, contact the owners of the third-party library or use a different library. -==== - -. Compile your custom policy via the following command: -+ ----- -cargo build --target wasm32-wasi --release ----- -+ -Compilation outputs a binary `.wasm` file into the `./target/wasm32-wasi/release` directory. -+ -For more information on pushing custom policies to Exchange, refer to xref:policies-custom-flex-getting-started.adoc[Publish a Flex Gateway or Mule 4 Custom Policy]. diff --git a/gateway/1.6/modules/ROOT/pages/policies-custom-overview.adoc b/gateway/1.6/modules/ROOT/pages/policies-custom-overview.adoc deleted file mode 100644 index 5af35d9df..000000000 --- a/gateway/1.6/modules/ROOT/pages/policies-custom-overview.adoc +++ /dev/null @@ -1,17 +0,0 @@ -= Custom Policies -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -// :page-aliases: api-manager::change-custom-policy-mule3.adoc, api-manager::policies-custom-landing-page.adoc, api-manager::policies-custom-overview.adoc, policies::policies-custom-overview.adoc - -include::partial$pdk-banner.adoc[tag="pdk"] - -Policies enforce regulations to help manage security, control traffic, and improve API adoption. For example, a policy can control authentication, access, and service level agreements (SLAs). You can create custom policies based on your specific business requirements and apply them to APIs to extend existing functionality or define new ones. - -The workflow for creating custom policies for Anypoint Flex Gateway is done in Exchange. The policy is then available to be applied to an API in Anypoint API Manager. - -For more information, refer to the following: - -* xref:policies-custom-flex-implement-rust.adoc[Implement a Flex Gateway Custom Policy in Rust] -* xref:policies-custom-flex-getting-started.adoc[Publish a Flex Gateway Custom Policy] -* xref:flex-local-deploy-custom-policy.adoc[Apply a Flex Gateway Custom Policy in Local Mode] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/policies-flex-dataweave-support.adoc b/gateway/1.6/modules/ROOT/pages/policies-flex-dataweave-support.adoc deleted file mode 100644 index 2699d2f21..000000000 --- a/gateway/1.6/modules/ROOT/pages/policies-flex-dataweave-support.adoc +++ /dev/null @@ -1,151 +0,0 @@ -= DataWeave Support in Flex Gateway Policies -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -// :page-aliases: policies::policies-flex-dataweave-support.adoc - -xref:dataweave::index.adoc[DataWeave] is the programming language designed by MuleSoft for data transformation. It enables you to build a simple solution for a common integration developer use case: read and parse data from one format, transform the data, and write it out as a different format. - -Flex Gateway supports a subset of DataWeave in policy configuration expressions. DataWeave is only supported in included policies and custom policies created with PDK.. - -== Available Types - -* xref:dataweave::dataweave-type-system.adoc#null[`Null`] -* `Boolean` -* `String` -* `Number` (Driven as 64 bits floating points) -* xref:dataweave::dataweave-type-system.adoc#array-type[`Array`] -* xref:dataweave::dataweave-type-system.adoc#object-type[`Object`] (Repeated keys are not available) - -== Available Value Constructors for Types - -* xref:dataweave::dataweave-types.adoc#dw_type_boolean[`Boolean`] -* xref:dataweave::dataweave-types.adoc#dw_type_string[`String`] -* xref:dataweave::dataweave-types.adoc#dw_type_number[`Number`] -* xref:dataweave::dataweave-types.adoc#dw_type_array[`Array`] - -== Unavailable Value Constructors for Types - -* xref:dataweave::dataweave-types.adoc#dw_type_null[`Null`] (Writing a `null` literal is not supported) -* xref:dataweave::dataweave-types.adoc#dw_type_object[`Object`] (Objects can not be defined as literals) - -== Available Flow Control Structures - -* xref:dataweave::dataweave-flow-control.adoc#control_flow_if_else[`if else`] - -== Unavailable Flow Control Structures - -* xref:dataweave::dataweave-flow-control.adoc#control_flow_do[`do`] - -== Available Selectors - -* `Array[Number]` -* `Array[String]` -* `Object[String]` -* `String[Number]` - -== Unavailable Selectors - -* `Object[Number]` - -== Available Equality and Relational Operators - -* xref:dataweave::dw-operators.adoc#equality-and-relational-operators[`==`] -* xref:dataweave::dw-operators.adoc#equality-and-relational-operators[`!=`] -* xref:dataweave::dw-operators.adoc#equality-and-relational-operators[`>=`] -* xref:dataweave::dw-operators.adoc#equality-and-relational-operators[`<=`] - -== Available Logical Operators - -* xref:dataweave::dw-operators.adoc#logical_operators[`not`] -* xref:dataweave::dw-operators.adoc#logical_operators[`and`] -* xref:dataweave::dw-operators.adoc#logical_operators[`or`] - -== Available Functions - -=== `++` - -* xref:dataweave::dw-core-functions-plusplus.adoc#plusplus1[`++(Array, Array): Array`] -* xref:dataweave::dw-core-functions-plusplus.adoc#plusplus2[`++(String, String): String`] - -=== `contains` - -* xref:dataweave::dw-core-functions-contains.adoc#contains1[`contains(Array, Any): Boolean`] -* xref:dataweave::dw-core-functions-contains.adoc#contains2[`contains(String, String): Boolean`] - -=== `lower` - -* xref:dataweave::dw-core-functions-lower.adoc#lower1[`lower(String): String`] -* xref:dataweave::dw-core-functions-lower.adoc#lower2[`lower(Null): Null`] - -=== `splitBy` - -* xref:dataweave::dw-core-functions-splitby.adoc#splitby2[`splitBy(String, String): Array`] - -=== `sizeOf` - -* xref:dataweave::dw-core-functions-sizeof.adoc#sizeof1[`sizeOf(Array): Number`] -* xref:dataweave::dw-core-functions-sizeof.adoc#sizeof2[`sizeOf(Object): Number`] -* xref:dataweave::dw-core-functions-sizeof.adoc#sizeof4[`sizeOf(String): Number`] - -=== `trim` - -* xref:dataweave::dw-core-functions-trim.adoc#trim1[`trim(String): String`] -* xref:dataweave::dw-core-functions-trim.adoc#trim2[`trim(Null): Null`] - -=== `upper` - -* xref:dataweave::dw-core-functions-upper.adoc#upper1[`upper(String): String`] -* xref:dataweave::dw-core-functions-upper.adoc#upper2[`upper(Null): Null`] - -=== `uuid` - -* xref:dataweave::dw-core-functions-uuid.adoc#uuid1[`uuid(): String`] - -=== `dw::core::Strings::substringAfter` - -* xref:dataweave::dw-strings-functions-substringafter.adoc#substringafter1[`substringAfter(String, String): String`] -* xref:dataweave::dw-strings-functions-substringafter.adoc#substringafter2[`substringAfter(Null, String): Null`] - -=== `dw::core::Strings::substringAfterLast` - -* xref:dataweave::dw-strings-functions-substringafterlast.adoc#substringafterlast1[`substringAfterLast(String, String): String`] -* xref:dataweave::dw-strings-functions-substringafterlast.adoc#substringafterlast2[`substringAfterLast(Null, String): Null`] - -=== `dw::core::Strings::substringBefore` - -* xref:dataweave::dw-strings-functions-substringbefore.adoc#substringbefore1[`substringBefore(String, String): String`] -* xref:dataweave::dw-strings-functions-substringbefore.adoc#substringbefore2[`substringBefore(Null, String): Null`] - -=== `dw::core::Strings::substringBeforeLast` - -* xref:dataweave::dw-strings-functions-substringbeforelast.adoc#substringbeforelast1[`substringBeforeLast(text: String, separator: String): String`] -* xref:dataweave::dw-strings-functions-substringbeforelast.adoc#substringbeforelast2[`substringBeforeLast(text: Null, separator: String): Null`] - -[[available-predefined-variables]] -== Available Predefined Variables - -* xref:dataweave::dataweave-variables-context.adoc[`attributes`] -** `attributes.headers` -** `attributes.method` (Only available in request context) -** `attributes.queryParams` (Only available in request context) -** `attributes.queryString` (Only available in request context) -** `attributes.requestPath` (Only available in request context) -** `attributes.requestUri` (Only available in request context) -** `attributes.localAddress` (Only available in request context) -** `attributes.remoteAddress` (Only available in request context) -** `attributes.scheme` (Only available in request context) -** `attributes.version` (Only available in request context) -** `attributes.statusCode` (Only available in response context) - -* xref:dataweave::dataweave-variables-context.adoc[`authentication`] -** `authentication.clientId` -** `authentication.clientName` -** `authentication.principal` -** `authentication.properties` - -* xref:dataweave::dataweave-variables-context.adoc[`payload`] -** `payload` - -* xref:dataweave::dataweave-variables-context.adoc[`vars`] -** `vars.claimSet.*` (Only available for JWT Policy configuration) diff --git a/gateway/1.6/modules/ROOT/pages/policies-included-apply.adoc b/gateway/1.6/modules/ROOT/pages/policies-included-apply.adoc deleted file mode 100644 index 57cc11aef..000000000 --- a/gateway/1.6/modules/ROOT/pages/policies-included-apply.adoc +++ /dev/null @@ -1,39 +0,0 @@ -= Apply a Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:keywords: policy, endpoint -// :page-aliases: api-manager::using-policies.adoc, policies::policies-included-apply.adoc - -For Flex Gateway running in Connected Mode, you apply included policies via API Manager: - -// == Prerequisites - -// Before you apply a default policy, ensure that: - -// * Mule runtime engine (Mule) is installed with xref:api-manager::api-gateway-capabilities-mule4.adoc[Mule Gateway capabilities] enabled. -// * API Manager contains an xref:api-manager::api-instance-landing-page.adoc[API] configured with a basic endpoint or a proxy endpoint. -// * A Mule application is deployed with an xref:connectors::http/http-listener-ref.adoc[HTTP-based or HTTPS-based flow] that is linked to the API through autodiscovery. -// + -// When autodiscovery is correctly configured in your Mule application, your application’s API is tracked by or paired to API Manager. - -// Autogenerated proxies follow these prerequisites in most cases. The Mule Gateway then reconciles the automated policies applied to an API in API Manager during runtime. - -// [NOTE] -// ==== -// To apply a policy for Mule Gateway, a Mule application must first be deployed with an xref:connectors::http/http-listener-ref.adoc[HTTP-based or HTTPS-based flow] that is linked to the API through autodiscovery. -// ==== - -. Go to *Anypoint Platform > API Manager*. -. In *API Administration* click the name of the API to which to apply a policy. -. From the left navigation menu, click *Policies*. -. Click *+ Add policy*. -. Select the policy to apply. -. Configure the required configuration parameters. -+ -For policy configuration parameters, see xref:policies-included-directory.adoc[Included Policies Directory]. -. Click *Apply* - -// For Flex Gateway running in Local Mode, you apply policies via an `ApiInstance` YAML resource. For information about applying policies in Local Mode, see the xref:flex-local-configuration-reference-guide.adoc#api-instance[Declarative Configuration Reference Guide]. - -You can apply a policy either to the entire API (default) or to specific methods and resources of an API. \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/policies-included-basic-auth-ldap.adoc b/gateway/1.6/modules/ROOT/pages/policies-included-basic-auth-ldap.adoc deleted file mode 100644 index ea89f634c..000000000 --- a/gateway/1.6/modules/ROOT/pages/policies-included-basic-auth-ldap.adoc +++ /dev/null @@ -1,236 +0,0 @@ -= Basic Authentication: LDAP Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: basic authentication, ldap, api gateway, flex gateway, gateway, policy -// :page-aliases: api-manager::basic-authentication-ldap-concept.adoc, policies::policies-included-basic-auth-ldap.adoc - -[width="100%", cols="5,15"] -|=== ->s| Policy Name | Basic Authentication: LDAP ->s|Summary | Allows access based on the basic authorization mechanism, with user-password defined on LDAP ->s|Category | Security ->s|First Flex Gateway version available | v1.1.0 -.1+>.^s| Returned Status Codes -|401 - Unauthorized or invalid client application credentials -|=== - -== Summary - -The Lightweight Directory Access Protocol (LDAP) authentication policy specifies how to restrict access to an API using LDAP authentication mechanism. - -When an error is encountered, the Basic Authentication - LDAP policy returns an "WWW-Authenticate" HTTP header field using the format:`WWW-Authenticate: Basic realm="mule-realm"`. - -LDAP is an inverted tree, and each leaf has a username-password pair and associated metadata. Each level is like a tree branch. For more information about LDAP, see https://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol[About LDAP^]. - -== Configuring Policy Parameters - -=== Flex Gateway Local Mode - -In Local Mode, you apply the LDAP policy to your API via declarative configuration files. Refer to the following policy definition and table of parameters: - ----- -- policyRef: - name: ldap-authentication-flex - config: - ldapServerURL: // OPTIONAL, default: "ldap://127.0.0.1:389" - ldapServerUserDn: // REQUIRED - ldapServerUserPassword: // REQUIRED - ldapSearchBase: // REQUIRED - ldapSearchFilter: // OPTIONAL, default: "(uid={0})" - ldapSearchInSubtree: // OPTIONAL, default: false ----- - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== - -|Parameter | Required or Optional | Default Value | Description - -| `ldapServerURL` -| Optional -| `ldap://127.0.0.1:389` -| Address and port of the location to the LDAP server - -| `ldapServerUserDn` -| Required -| -| The name of the user or user group with access to traverse and list users of LDAP - -| `ldapServerUserPassword` -| Required -| -| The password for the user or usergroup - -| `ldapSearchBase` -| Required -| -| The place where the LDAP search begins - -| `ldapSearchFilter` -| Required -| -| The criteria for the filter for the Active Directory or the OpenLDAP model - -| `ldapSearchInSubtree` -| Optional -| `false` -| Whether to examine the subtree below the base DN and include the base DN level. Performance will be affected by this. Otherwise, the one-level scope will be used, examining only the level immediately below the base DN -|=== - -==== Resource Configuration Example - ----- -- policyRef: - name: ldap-authentication-flex - config: - dapServerURL: "ldap://localhost:369" - ldapServerUserDn: "cn=admin,dc=example,dc=org" - ldapServerUserPassword: "admin" - ldapSearchBase: "dc=example,dc=org" - ldapSearchFilter: "(uid={0})" - ldapSearchInSubtree: true ----- - -=== Flex Gateway Connected Mode - -When you apply the Basic Authentication - LDAP policy to your API from the UI, you can configure the following parameters to connect to your LDAP or Active Directory: - -[%header%autowidth.spread,cols="a,a"] -|=== -|Parameter |Description -|LDAP Server URL -|The URL of your LDAP OR LDAPS server, including the port number. -|LDAP User DN -|The name of the user or user group with access to traverse and list users of LDAP. -|LDAP User Password -|The password for the user or user group. The password must be a secure value that, once specified, is not visible or retrievable. -|LDAP Search Base -|The starting point for the search in the directory tree. -|LDAP Search Filter -|The criteria for the filter for the Active Directory or the OpenLDAP model, as shown in the examples. -|=== - -Note that all parameters are required to successfully configure LDAP or Active Directory. - -== Example Configuration for an Active Directory - -You can configure Active Directory for your LDAP authentication by providing the following values: - -[%header,cols="3*a"] -|=== -|Field |Example Literal String Value |Example Secure Property Placeholder -|LDAP Server URL -|ldap://174.19.33.17:389/ -|${ldap.server.url} -|LDAP Secure Server URL (SSL) -|ldaps://my-company-ldap.cloudhub.io:1010/ -|${ldap.server.url} -|LDAP Server User DN -|CN=Administrator,CN=Users,DC=my-company,DC=com -|${ldap.user.dn} -|LDAP User Password -|somePassword -|${ldap.password} -|LDAP Search Base -|CN=Users,DC=my-company,DC=com -|${ldap.search.base} -|LDAP Search Filter -|(sAMAccountName={0}) -|${ldap.search.filter} -|=== - -The search filter string in the example is specific to Active Directory applications. - -== Example Configuration for OpenLDAP - -You can configure OpenLDAP for your LDAP authentication by providing the following values: - -[%header,cols="3*a"] -|=== -|Field -|Example Literal String Value -|Example Secure Property Placeholder -|LDAP Server URL -| ldap://174.19.33.17:389/ -|${ldap.server.url} -| LDAP Secure Server URL (SSL) -| ldaps://my-company-ldap.cloudhub.io:1010/ -|${ldap.server.url} -|LDAP Server User DN -|cn=Manager,dc=my-company,dc=com -|${ldap.user.dn} -|LDAP User Password -|somePassword -|${ldap.password} -|LDAP Search Base -|ou=people,dc=my-company,dc=com -|${ldap.search.base} -|LDAP Search Filter -|(uid={0}) -|${ldap.search.filter} -|=== - -The search filter string in the example is specific to OpenLDAP applications. - -== How This Policy Works - -The Basic Authentication - LDAP policy intercepts the request to the protected resource and looks for the `Authorization` HTTP header. - -The policy then extracts the username and password encoded in Base64 and then requests the configured LDAP instance to determine if the user credentials are correct in the provided LDAP context. - -You can configure the Basic Authentication: LDAP policy to credentials using the following methods: - -* Search for the valid username and password pair in the level specified. -* Search for the valid username and password pair in the level specified, including lower levels. This search option is comprehensive, however, can result in slow performance. - -=== Search Scope - -Your search scope options differ depending on your policy version. The search scope options are one level for LDAP 1.0.0 and two levels (subtree) for LDAP 1.1.0. - -You can choose between `one level` and `subtree` search scopes by using the `LDAP Search in subtree` option. - -The `LDAP search base` is the starting point for the search in the directory. - -=== One-Level Search Scope - -With this option, the filter affects only the objects immediately subordinate to the `LDAP search base`, and not the `LDAP search base` itself. - -In the following example, the first level has four entries: two users and two groups. These are the only entries that are a part of any search: - -image::search-scope.png[] - -If you set the search filter to `(uid={0})`, only `Jane` and `Paul` are found. The group entries are not considered. - -==== Subtree Search Scope - -With this option, the Basic Authentication - LDAP policy examines the subtree below the `LDAP search base` and also includes the `LDAP search base` level. Notice that performance is affected by this behavior. - -In the previous example, the analyzed area covers the entire organization. The group and user entries are considered at any level of the organization: - -image::search-scope2.png[] - - -== Creating Requests for APIs with Basic Authentication Policies Applied - -After applying the Basic Authentication - LDAP policy to the API, a request to that API must contain the following header: - ----- -Authorization: Basic ----- - -The `username:password` value must be a Base64-encoded string. For example on a Mac OS X or Linux system, the username and password requirement is implemented as: - -`echo -n ':' | base64` - -// Mule runtime engine (Mule) separates the credentials of the header and sends the request to the LDAP server with the search filter. - -From the `username` and search filter, LDAP finds the registered user and then verifies credentials. The valid result is returned: - -image::ldap-verification.png[height=358,width=488] - -The following diagram illustrates an invalid request: - -image::ldap-verification-invalid.png[height=245,width=484] - -The Basic Authentication: LDAP policy throws an HTTP 401 status code to indicate that the authorization header is malformed, not provided, or invalid. diff --git a/gateway/1.6/modules/ROOT/pages/policies-included-basic-auth-simple.adoc b/gateway/1.6/modules/ROOT/pages/policies-included-basic-auth-simple.adoc deleted file mode 100644 index be0226de3..000000000 --- a/gateway/1.6/modules/ROOT/pages/policies-included-basic-auth-simple.adoc +++ /dev/null @@ -1,79 +0,0 @@ -= Basic Authentication: Simple Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: basic authentication, api gateway, flex gateway, gateway, policy -// :page-aliases: api-manager::basic-authentication-simple-concept.adoc, api-manager::basic-authentication-concept.adoc, api-manager::http-basic-authentication-policy.adoc, policies::policies-included-basic-auth-simple.adoc - -[width="100%", cols="5,15"] -|=== ->s| Policy Name | Basic Authentication: Simple ->s|Summary | Allows access based on the basic authorization mechanism, with a single user-password ->s|Category | Security ->s|First Flex Gateway version available | v1.0.0 -.1+>.^s| Returned Status Codes -|400 - Unauthorized or invalid client application credentials in WSDL API using SOAP 1.2 -| | 401 - Unauthorized or invalid client application credentials in HTTP or RAML APIs -| | 500 - Unauthorized or invalid client application credentials in WSDL API using SOAP 1.1 -|=== - -== Summary - -The Basic Authentication: Simple policy protects an API by forcing applications to provide a username and password when making requests. - -The policy follows https://tools.ietf.org/html/rfc7617[basic HTTP authentication standards^]. - -When an error is encountered, the policy returns an "WWW-Authenticate" HTTP header field. - -== Configuring Policy Parameters - -=== Flex Gateway Local Mode - -In Flex Gateway Local Mode, you apply the Basic Authentication: Simple policy to your API via declarative configuration files. Refer to the following policy definition and table of parameters: - ----- -- policyRef: - name: http-basic-authentication-flex - config: - username: // REQUIRED - password: // REQUIRED ----- - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== -|Parameter | Required or Optional | Default Value | Description - -| `username` -| Required -| N/A -| A base-64 encoded string - -| `password` -| Required -| N/A -| A base-64 encoded string - -|=== - -==== Resource Configuration Example - ----- -- policyRef: - name: http-basic-authentication-flex - config: - username: chris - password: admin ----- - -=== Flex Gateway Connected Mode - -When you apply the Basic Authentication: Simple policy to an API, a request to that API must contain the following header: - ----- -Authorization: Basic ----- - -The `username:password` value must be a base64-encoded string. For example on a Mac OS X or Linux system, the username and password requirement is implemented as: - -`echo -n ':' | base64` diff --git a/gateway/1.6/modules/ROOT/pages/policies-included-client-id-enforcement.adoc b/gateway/1.6/modules/ROOT/pages/policies-included-client-id-enforcement.adoc deleted file mode 100644 index db01792e9..000000000 --- a/gateway/1.6/modules/ROOT/pages/policies-included-client-id-enforcement.adoc +++ /dev/null @@ -1,212 +0,0 @@ -= Client ID Enforcement Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: clientid enforcement, api gateway, flex gateway, gateway, policy -// :page-aliases: api-manager::client-id-based-policies.adoc, policies::policies-included-client-id-enforcement.adoc - -[width="100%", cols="5,15"] -|=== ->s| Policy Name | Client ID Enforcement ->s|Summary | Allows access only to authorized client applications ->s|Category | Compliance ->s|First Flex Gateway version available | v1.0.0 -.4+>.^s| Returned Status Codes -|401 - Unauthorized or invalid client application credentials -|500 - Bad response from authorization server, or WSDL SOAP Fault error -|=== - -== Summary - -The Client ID Enforcement policy restricts access to a protected resource by allowing requests only from registered client applications. The policy ensures that the client credentials sent on each request have been approved to consume the API. - -When a client application is registered in Anypoint Platform, a pair of credentials consisting of a client ID and client secret is generated. When the client application requests access to an API, a contract is created between the application and that API. An API that is protected with a Client ID Enforcement policy is accessible only to applications that have an approved contract. - -When you apply a Client ID Enforcement policy, access to your API is tracked by reporting the client ID along with the analytics events. - -Default policies that internally enforce client application credentials include: - -* xref:policies-included-rate-limiting-sla.adoc[] -* xref:policies-included-openid-token-enforcement.adoc[] -* xref:policies-included-jwt-validation.adoc[] - -Although token enforcement policies can optionally skip client validation, it is recommended that you enforce the validation to ensure that the token is associated to an approved contract. - -== Configuring Policy Parameters - -=== Flex Gateway Local Mode - -Client ID Enforcement policy is not supported in Local Mode. - -=== Flex Gateway Connected Mode - -==== Configuring the Parameters - -The following parameters are displayed: - -[%header%autowidth.spread,cols="a,a,a"] -|=== -| Parameter | Description | Required -|Credentials origin -| Specifies from where in the request to extract the values: - -* HTTP Basic Authentication Header: Requires credentials as part of the authorization header. The application consuming the API must use the basic authentication scheme to send the credentials in the requests. -* Custom Expression: Accepts a DataWeave 2.0 expression each for client ID and client secret, indicating where to extract the credentials from the request. Use this option to send the credentials in a custom header or any other format. You can leave the field blank to configure the client secret requirement as optional. -| Must choose from one of the options. -| Client ID Expression -| The DataWeave 2.0 expression to use for obtaining the client ID from API requests. -| Yes. -| Client Secret Expression -| The DataWeave 2.0 expression to use for obtaining the client secret from API requests. -| No. -| Method & Resource conditions: Apply configurations to all API methods & resources -| Choose this option if you require the policy to be applied to all the methods and resources associated with the API. -| Must choose from one of the options. -| Method & Resource conditions: Apply configurations to specific methods & resources -| Choose this option if you require the policy to be applied to only specific methods and resources associated with the API. -| Must choose from one of the options. -|=== - -==== Configuring the Parameters for Anypoint Service Mesh (Non-Mule Applications) - -For Anypoint Service Mesh (non-Mule applications), you configure the Client ID Enforcement policy in the same way, excluding the following differences: - -[%header%autowidth.spread,cols="a,a,a"] -|=== -| Element | Description | Required -| Credentials origin -| Specifies from where in the request to extract the values: - -* `client_id` and `client_secret` Headers: -* HTTP Basic Authentication Header: Requires credentials as part of the authorization header. The application consuming the API must use the basic authentication scheme to send the credentials in the requests. -* Custom Headers: Accepts a header name each for client ID and client secret, indicating from which header to extract the credentials from the request. Use this option to send the credentials in a custom header. - -| Must choose from one of the options. - -|Client ID Header -| The header name to be used to extract the client ID from API requests. -| Yes. - -|Client Secret Header -| The header name to be used to extract the client Secret from API requests -| No. - -|=== - -== How This Policy Works - -Before a client application is allowed to consume an API protected by a Client ID Enforcement policy, the client application must request access to the API. After an approved contract exists between the client application and the API, every request must include the client application credentials in compliance with how the policy is configured. - -For example, if the policy is configured to expect a client ID and client secret as query parameters, the application must send those credentials in the request. To enforce this, add a `client-id-required` RAML trait to the API specification: - ----- -traits: - client-id-required: - queryParameters: - client_id: - type: string - client_secret: - type: string ----- - -Apply the trait to the resources or methods using the `is` RAML attribute: - ----- -/example: - get: - is: [client-id-required] - description: Example description ----- - -== Configuring How the Policy Obtains Credentials - -//You can configure the Client ID Enforcement policy to obtain the client credentials in one of two different ways: by using an HTTP basic authentication header or by using a custom expression. - -You can configure the policy to extract either both the client ID and client secret, or only the client ID from the HTTP request by using a variety of custom DataWeave 2.0 expressions. The following examples use a client ID of '1234' and a client secret of 'abcd'. - - -=== Obtaining Credentials Using HTTP Headers - -Example request using curl: -[source,text] ----- -curl "http://localhost/myResource" -H "client_id:1234" -H "client_secret:abcd" ----- - -Example DataWeave 2.0 expression to be used when configuring the policy: -[source,text] ----- -#[attributes.headers['client_id']] -#[attributes.headers['client_secret']] ----- - -In this example, the policy is configured to expect two headers: client_id and client_secret, with the pair of credentials. The policy is flexible to allow other types of headers also. This is the default configuration for the policy. - -=== Obtaining Credentials Using HTTP Query Parameters - -Example request using curl: -[source,text] ----- -curl "http://localhost/myResource?client_id=1234&client_secret=abcd" ----- - -Example DataWeave 2.0 expression to be used when configuring the policy: -[source,text] ----- -#[attributes.queryParams.'client_id'] -#[attributes.queryParams.'client_secret'] ----- - -In this example, the requester must send the two specified query parameters with the request. Although this is a supported configuration, it poses possible security risks. The recommended method is to use headers. A xref:policies-flex-dataweave-support.adoc[subset] of DataWeave 2.0 is supported. - -=== Obtaining Credentials Using HTTP Request Payload - -Example request using curl: -[source,text] ----- -curl "http://localhost/myResource" -d '{"client_id":"1234", "client_secret":"abcd"}' -X POST ----- - -Example DataWeave 2.0 expression to be used when configuring the policy: -[source,text] ----- -#[payload.client_id] -#[payload.client_secret] ----- - -Although you can configure the policy to obtain the credentials from the request payload, this option is not recommended because it is harder to reflect in the API specification. - -=== Obtaining Credentials Using Basic Authorization header - -Example request using curl: -[source,text] ----- -curl "http://localhost/myResource" -u 1234:abcd ----- - -== Configuring API Specifications - -The Client ID Enforcement policy requires changes in your API specification to implement the credentials requirement. -You can find the RAML or OAS snippet link containing the RAML or OAS code you need to add to the API specification in the corresponding policy. You can access this code from the list of applied policies in the Policies tab of your API specification in API Manager. -//future enhancement: how to update API spec once a policy is applied. - -== Policy Output - -When an HTTP request is performed against a protected resource for which the Client ID Enforcement policy is applied, and the client application credentials are invalid or unauthorized, the HTTP response includes a WWW Authenticate header with the following values: - -[width="100%", cols="2,70"] -|=== ->s| Custom mode | Header 'WWW-Authenticate'='Client-ID-Enforcement' ->s| Basic Auth mode | Header 'WWW-Authenticate'='Basic realm="mule-realm" -|=== - -For SOAP applications, the response is a SOAP error. - - -== See Also - -* xref:api-manager::manage-client-apps-latest-task.adoc[Managing API Instance Contracts on API Manager] -* xref:api-manager::access-client-app-id-task.adoc[Getting Client ID and Client Secret of a Registered Client App] -* xref:api-manager::defining-sla-tiers.adoc[Reviewing SLA Tiers Concepts] - diff --git a/gateway/1.6/modules/ROOT/pages/policies-included-cors.adoc b/gateway/1.6/modules/ROOT/pages/policies-included-cors.adoc deleted file mode 100644 index 02ef534bf..000000000 --- a/gateway/1.6/modules/ROOT/pages/policies-included-cors.adoc +++ /dev/null @@ -1,317 +0,0 @@ -= Cross-Origin Resource Sharing (CORS) Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: cross origin resource sharing, cors, api gateway, flex gateway, gateway, policy -// :page-aliases: api-manager::cors-policy.adoc, api-manager::avoid-restrictions-task.adoc, api-manager::cors-mule4.adoc, api-manager::cors-reference.adoc, policies::policies-included-cors.adoc - -[%autowidth.spread,cols="a,a"] -|=== ->s| Policy name | Cross-Origin Resource Sharing (CORS) ->s| Summary | Enables access to resources residing in external domains ->s| Category | Compliance ->s| First Flex Gateway version available | v1.0.0 -.1+>.^s| Returned Status Codes -| No return codes exist for this policy -|=== - -== Summary - -CORS is a mechanism by which a web application can access resources that are defined in another domain. Browsers implement this standard by default. The CORS policy complies with the https://fetch.spec.whatwg.org/[CORS W3C recommendation^] standards. - -== Configuring Policy Parameters - -=== Flex Gateway Local Mode - -In Local Mode, you apply the CORS policy to your API via declarative configuration files. Refer to the following policy definition and table of parameters: - ----- -- policyRef: - name: cors-flex - config: - originGroups: // OPTIONAL, default: [] - - origins: - accessControlMaxAge: - allowedMethods: - methodName: - - isAllowed: - headers: // OPTIONAL, default: [] - exposedHeaders: // OPTIONAL, default: [] - publicResource: // OPTIONAL, default: true - supportCredentials: // OPTIONAL, default: false ----- - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== -|Parameter | Required or Optional | Default Value | Description - -| `originGroups` -| Optional -| Empty array -| List containing groups of origins - -| `originGroups.origins` -| Optional -| Empty array -| List of origins to be included in the group. For example, `\http://www.the-origin-of-time.com` - -| `originGroups.origins.accessControlMaxAge` -| Optional -| 30 -| Duration in seconds that a preflight response can be cached without sending another preflight request - -| `originGroups.origins.allowedMethods` -| Optional -| CONNECT, DELETE, GET, OPTIONS, PATCH, POST, PUT, TRACE -| Allowed HTTP methods - -| `originGroups.origins.allowedMethods.methodName` -| Required -| N/A -| Method name - -| `originGroups.origins.allowedMethods.methodName.isAllowed` -| Required -| N/A -| A boolean indicating if a method is allowed - -| `originGroups.origins.headers` -| Optional -| Empty array -| HTTP headers used for preflight requests - -| `originGroups.origins.exposedHeaders` -| Optional -| Empty array -| Headers that browser JavaScript is allowed to access - -| `publicResource` -| Optional -| `true` -| A boolean indicating if the CORS configuration is to be applied as a public resource - -| `supportCredentials` -| Optional -| `false` -| A boolean indicating if the policy supports credentials, such as cookies, authorization headers, and TLS client certificates - -|=== - -==== Resource Configuration Example - ----- -- policyRef: - name: cors-flex - config: - publicResource: false - supportCredentials: true - originGroups: - - origins: - - http://www.the-origin-of-time.com - accessControlMaxAge: 30 - allowedMethods: - - isAllowed: true - methodName: POST - - isAllowed: true - methodName: PUT - - isAllowed: true - methodName: GET - - isAllowed: false - methodName: CONNECT - - isAllowed: false - methodName: DELETE - - isAllowed: false - methodName: OPTIONS - - isAllowed: false - methodName: PATCH - - isAllowed: false - methodName: TRACE - headers: - - x-allow-origin - - x-yet-another-valid-header - exposedHeaders: - - x-forwarded-for ----- - -=== Flex Gateway Connected Mode - -When you apply the policy to your API from the UI, the following parameters are displayed: - -[%header%autowidth.spread,cols="a,a,a"] - -|=== -| Element | Description | Required? -| Public resource | Whether the CORS configuration is to be applied as a public resource (default) | Yes -| Default group | Whether the CORS configuration is to be applied only to specific resources (requires unselecting *Public resource*) | No -| Support credentials | Whether the policy supports credentials, such as cookies, authorization headers, and TLS client certificates | No -|=== - -// == Configuration of CORS for non-API Gateway Mule Environments -// -// If your Mule runtime engine (Mule) is not enabled with API gateway capabilities and you need to implement the CORS functionality, you can use the CORS Interceptor. The CORS Interceptor is an element in the HTTP Listener configuration made available in Mule 4.0. -// -// The CORS configuration differs based on whether you leverage the CORS policy capabilities as a public resource or as a selected group of origins. -// -// For the Selected Group of Origins structure, the following example shows the elements that might be configured: -// -// [source, XML,linenums] -// ---- -// -// -// (collection of origins) -// -// -// -// ... -// -// -// -// -// ... -// -// -// -// -// ... -// -// -// -// -// -// -// ---- -// -// For the Public Resource structure, the following example shows the elements that might be configured: -// -// [source, XML,linenums] -// ---- -// -// -// -// -// -// -// -// ---- - -== Why CORS - -CORS enables you to achieve web page security and web integrity in your environment. To know why you might need to apply the CORS policy to your backend, you must first understand _origins_, _cookies_, and how they can be manipulated to violate web page integrity. - -[[origins]] -=== Introduction to the Web Origin Concept - -Origin is a header that specifies the request that initiated the fetch. The origin header includes only the server name (no path information). At a very basic level, an origin consists of: - -* URI scheme: `http://` -* Host name: `www.example.com` -* Port number: `8080` - -For requests between any two <> to be approved, the origins must be equal. Origins are considered equal only if all these three parameters match. For more information, see https://tools.ietf.org/html/rfc6454[RFC 6454 - The Web Origin Concept^]. - -=== HTTP Cookies - -Websites use HTTP cookies to retain stateful information. Most commonly, web servers use authentication cookies to know whether a user is logged in, and to know which account users are logged in to. For more information, see https://www.ietf.org/rfc/rfc6265.txt[RFC 6265^]. - -SOP (same-origin policy) deters malicious attackers from exploiting cookies when one web page invokes another. For example, you might log in to your bank's web page using a cookie that an attacker might be able to obtain and exploit to query the bank’s API on your behalf. - -[[origin]] -With the SOP, scripts can access data from a target web page only if it has the same origin as the caller web page. For more information about origins, see https://en.wikipedia.org/wiki/Same-origin_policy[Wikipedia^]. - -The following example illustrates the origin of the web page, `\http://www.example.com:8080`: - -image:cors-policy-sop-example.png[SOP Example,95%,85%] - -Because the SOP is highly restrictive, access from one suborigin to another or to external hyperlinks do not work on web pages. For example, if an origin `www.testapply.com` has two suborigins, `www.eng.testapply.com` and `www.docs.testapply.com`, communication between the two suborigins is denied. Additionally, any hyperlinks to external websites from any of the suborigins is also denied. - -To circumvent this problem, web browsers implemented the CORS standard, which validates the web server and accepts the request if the validation is successful. - -For example, if your bank implements the CORS server-side protocol on its login server, you can query data only directly from the bank's web page. Any attempt to query the login API from an external (non-bank) domain is denied. - -== How CORS Works - -When your web pages request data, the browser detects whether the request is from within same origin and determines whether to apply the CORS algorithm. If you query data from a web page that is not in your origin, then the CORS policy is applied. - -The CORS algorithm works on the web server and on the client-side for the web page that requested the information. The client-side algorithm in the CORS policy is implemented by: - -* Determining whether the request is complex (and potentially dangerous) and sending a preliminary _preflight_ request to verify whether the server accepts the origin. -* Executing the actual request and validating that the server responds correctly and accepts the origin. - -A _preflight_ is a preliminary request (using OPTIONS as the HTTP method) from the web browser to the backend server to test the identity (origin and a few other headers) of the web page that is trying to perform the request. - -If the backend does not accept the origin, the backend server responds to the request without a specific header (Access-Control-Allow-Origin). The client then understands that the page’s origin is not allowed in that server and does not execute the actual request. - -The following diagram shows the XMLHttpRequest (XHR) in a JavaScript flow for determining whether to execute the actual request: - -image::cors-policy-xhr-diagram.png[] - -As illustrated in the diagram, the request is validated based on the communication between the browser and the server: - -* If the request is considered to be complex (see the previous client-side diagram for XHR), then a preflight request is executed. -+ -If the server does not return the proper CORS response headers for the preflight, the client library (XHR in the previous example) is not allowed to perform the actual request. -* If the preflight response is correct and complete, then the client library executes the actual request, which includes certain CORS headers. -+ -The client library then validates the CORS headers of the response. If some of the required headers are missing, then again the client library is obliged to block the response from reaching the client, which is usually a web page. - -== CORS Components - -You can configure various components of the CORS policy, such as request headers, response headers, public resources and groups, ordering, and wildcards. - -=== CORS Request Headers - -* Origin: The origin making the cross origin request. -+ -* Access-Control-Request-Method: The method that is invoked in the actual request. -+ -This header is sent in the preflight request. -* Access-Control-Request-Headers: Custom headers that are sent in the actual request. -+ -This header is sent in the preflight request. For the GET or HEAD methods, the standard defines a specific list of headers that are considered simple enough to not require a preflight. For custom headers, a preflight is executed for GET and HEAD requests (see the previous XHR example to validate the path in which the client does not have to perform a preflight). - -=== CORS Response Headers - -The headers included in a response depend on whether the request is a preflight or an actual request: - -* `Access-Control-Allow-Origin`: Obligatory in every response. -+ -If this header is not present in the response, the browser or client library blocks the response from reaching the web page. The wildcard “*” can be used to represent any origin. -* `Access-Control-Allow-Methods`: Allowed methods that can be executed. -+ -This header is returned in the OPTIONS request (preflight). The server might respond with a list of allowed methods, delegating the validation task to the client. - -* `Access-Control-Allow-Headers`: Allowed headers in the actual request. -+ -This header works in a manner similar to how Access-Control-Allow-Methods works . -* `Access-Control-Allow-Credentials`: Notifies the client whether the actual request can be made with a cookie. -+ -The `Access-Control-Allow-Credentials` returns a Boolean value. -* `Access-Control-Expose-Headers`: Provides the browser or client library with a list of headers that can be accessed by the web page that executed the request. -+ -The HTTP library performing the CORS request exposes only the headers to the web page, providing further privacy and security. -* `Access-Control-Max-Age`: Specifies the duration (in seconds) in which the browser can avoid performing a second preflight on a request. - -=== Public Resources and Groups - -If you need to bypass the browser SOP, Mulesoft provides you an option to configure a public resource that enables the API gateway policy to mirror the preflight data in the response. This ensures that the actual request is correctly updated with all the CORS headers so that the browser accepts the response. - -If the public resource option is not secure enough for your environment, define multiple groups for the different origins that query your API. Each group applies to a list of origins and can specify different methods, headers, preflight caching time, and expose headers. - -=== Ordering - -The CORS policy is always applied first by the API gateway, before any other policies can be applied. If a protected request using OPTIONS is sent to an application that has the CORS policy applied, the request does not reach the protected resource. According to the https://fetch.spec.whatwg.org/#resource-preflight-requests[CORS specification^], all OPTIONS requests are considered preflight. - -=== Configuration Wildcards - -Wildcards (`*`) are accepted in the Origins and Headers sections of a group configuration. Use wildcards when you need a public resource, but must restrict the accepted HTTP methods. - -If you have configured multiple groups and one of the groups uses a wildcard origin, the non-wildcard settings override the wildcard configurations. - -== FAQs - -*The CORS policy does not seem to be applied.* - -If you use tools such as curl or Postman to test the CORS policy for a complex request, the CORS request headers are not added and the preflight does not occur. - -If no CORS headers are sent or improper headers are used in the request, the API gateway CORS policy does not add any CORS response headers, giving the impression that the policy is not applied. Ensure that you use the libraries that implement the CORS protocol specific to your environment, or review the specification to ensure that you are configuring the correct headers. diff --git a/gateway/1.6/modules/ROOT/pages/policies-included-directory.adoc b/gateway/1.6/modules/ROOT/pages/policies-included-directory.adoc deleted file mode 100644 index 0e625653d..000000000 --- a/gateway/1.6/modules/ROOT/pages/policies-included-directory.adoc +++ /dev/null @@ -1,42 +0,0 @@ -= Included Policies Directory -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -== Policies Included in Flex Gateway - -[%header%autowidth.spread] -|=== -|Policy | Summary -| xref:policies-included-basic-auth-ldap.adoc[Basic Authentication: LDAP] | Allows access based on the basic authorization mechanism, with user-password defined on LDAP -| xref:policies-included-basic-auth-simple.adoc[Basic Authentication: Simple] | Allows access based on the basic authorization mechanism, with a single user-password -| xref:policies-included-client-id-enforcement.adoc[Client ID Enforcement] | Allows access only to authorized client applications -| xref:policies-included-cors.adoc[Cross-Origin Resource Sharing (CORS)] | Enables access to resources residing in external domains -| xref:policies-included-external-authorization.adoc[External Authorization] | Authenticates requests with an external gRPC or HTTP authorization service -| xref:policies-included-external-processing.adoc[External Processing] | Sends the incoming HTTP requests or outgoing HTTP responses to an external gRPC service for additional processing -| xref:policies-included-header-injection.adoc[Header Injection] | Adds headers to a request or a response -| xref:policies-included-header-removal.adoc[Header Removal] | Removes headers from a request or a response -| xref:policies-included-health-check.adoc[Health Check] | Monitors API upstream health at specific intervals -| xref:policies-included-http-caching.adoc[HTTP Caching] | Caches HTTP responses from an API implementation -| xref:policies-included-ip-allowlist.adoc[IP Allowlist] | Allows a list or range of specified IP addresses to request access -| xref:policies-included-ip-blocklist.adoc[IP Blocklist] | Blocks a single IP address or a range of IP addresses from accessing an API endpoint -| xref:policies-included-json-threat-protection.adoc[JSON Threat Protection] | Protects against malicious JSON in API requests -| xref:policies-included-jwt-validation.adoc[JWT Validation] | Validates a JWT -| xref:policies-included-message-logging.adoc[Message Logging] | Logs custom messages using information from incoming requests, responses from the backend, or information from other policies applied to the same API endpoint -| xref:policies-included-oauth-token-introspection.adoc[OAuth 2.0 Token Introspection] | Allows access only to authorized client applications -| xref:policies-included-openid-token-enforcement.adoc[OpenID Connect OAuth 2.0 Access Token Enforcement] | Allows access only to authorized client applications -| xref:policies-included-rate-limiting.adoc[Rate Limiting] | Monitors access to an API by defining the maximum number of requests processed within a period of time -| xref:policies-included-rate-limiting-sla.adoc[Rate Limiting: SLA-based] | Monitors access to an API by defining the maximum number of requests processed within a timespan, based on SLAs -| xref:policies-included-schema-validation.adoc[Schema Validation] | Validates incoming traffic against a supplied OAS3 schema -| xref:policies-included-spike-control.adoc[Spike Control] | Regulates API traffic -| xref:policies-included-traffic-management-route.adoc[Traffic Management for Multiple Upstream Services] | Manages API instance traffic to multiple upstream services from a single consumer endpoint -| xref:policies-included-traffic-management.adoc[Traffic Management for Multiple Upstream Services (Weighted)] | Manages API instance traffic to multiple upstream services from a single consumer endpoint, using weighted percentages -| xref:policies-included-tls.adoc[Transport Layer Security (TLS) - Inbound] | Enables authentication between a client and the API proxy -| xref:policies-included-tls-outbound.adoc[Transport Layer Security (TLS) - Outbound] | Enables two-way authentication between the API proxy and an upstream service -|=== - -== See Also - -* xref:mule-gateway::policies-policy-overview.adoc[] -* xref:policies::policies-availability-by-gateway.adoc[Policy Availability by Gateway] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/policies-included-external-authorization.adoc b/gateway/1.6/modules/ROOT/pages/policies-included-external-authorization.adoc deleted file mode 100644 index db21c62bb..000000000 --- a/gateway/1.6/modules/ROOT/pages/policies-included-external-authorization.adoc +++ /dev/null @@ -1,131 +0,0 @@ -= External Authorization Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: external authorization, authorization, flex gateway, gateway, policy - -[width="100%", cols="5,15"] -|=== ->s|Policy name | External Authorization ->s|Summary | Authenticates requests with an external gRPC or HTTP authorization service ->s|Category | Security ->s| First Flex Gateway version available | v1.6.0 ->s| Returned Status Codes | 403 - Forbidden, invalid client application credentials -|=== - -== Summary - -The External Authorization policy forwards incoming client HTTP requests to an external gRPC of HTTP authorization service to determine if the client HTTP request is authorized to access the upstream service. In the request is authorized, Flex Gateway allows the request to pass to the upstream service. For unauthorized accesses, Flex Gateway returns a `403` forbidden request error. - -To forward request headers, such as an authorization token header, to the authorization service, use the *Allowed Headers* parameter to configure which headers from the client HTTP requests to send to the authorization service. - -When using a gRPC external authorization service, the External Authorization policy can also modify the client HTTP requests header with additional information returned from the authorization service. If the authorization service returns headers with the authorization response, Flex Gateway either appends these headers to the client HTTP request or overwrites the header if it is already present in the client HTTP request. For example, if an authorized user makes a request with an access token header that corresponds to a username, the authorization service can return a `username` header for Flex Gateway to append to the client HTTP request. When using the policy with an HTTP external authorization service, the policy cannot modify the client HTTP request. - -The External Authorization policy is an extension of the External Authorization filter native to Envoy. To learn more about the External Authorization filter, see https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/ext_authz_filter[External Authorization Filter^]. Not all External Authorization filter parameters are available to the External Authorization policy. To find what parameters are configurable, see <>. - -NOTE: If other policies modify the incoming HTTP request, ensure that you order the policies depending on if these modification should be present when the request is sent to the authorization service. For more information about ordering policies, see xref:policies-reorder.adoc[]. - -== Configuring Policy Parameters - -To configure your policy parameters, see the following parameter references for the mode your Flex Gateway is running in: - -* <> -* <> - -[[local-mode]] -=== Flex Gateway Local Mode - -In Local Mode, you apply the External Authorization policy to your API instance via YAML configuration files. Refer to the following policy definition and table of parameters: - -[source,yaml] ----- -- policyRef: - name: native-ext-authz-flex - config: - uri: // REQUIRED - serverType: // REQUIRED, default "grpc" - serverVersion: // REQUIRED, default `v3` - includePeerCertificate: // REQUIRED, default `false` - allowedHeaders: // OPTIONAL ----- - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== - -|Parameter | Required or Optional | Default Value | Description - -| `uri` -| Required -| NA -| External authorization service URI. With a gRPC type server, define the URI by using this format: `h2://:`. - -| `serverType` -| Required -| `grpc` -| Type of external server. Supported values are `grpc` and `http`. - -| `serverVersion` -| Optional -| `v3` -| Transport protocol API version. Supported values are `v3` and `v2`. - -| `includePeerCertificate` -| Optional -| `false` -| If `true`, includes peer certificates in the authorization server request. Supported values are `true` and `false`. - -| `allowedHeaders` -| Optional -| NA -| By default, requests sent to gRPC servers include all client headers and requests sent to HTTP servers don't include any client headers. If you list allowed headers for either server type, requests include only the listed headers. - -|=== - -NOTE: Leaving a required value blank configures the parameter as the default value. No value is configured for optional values left blank. - -=== Resource Configuration Example - -In the following configuration, a gRPC authorization service receives a request that includes the peer certificates and authorization token header: - -[source,yaml] ----- -- policyRef: - name: native-ext-authz-flex - config: - uri: h2://ext-authz-grpc-service:9001 - serverType: "grpc" - includePeerCertificate: "true" - allowedHeaders: - - access-token ----- - -[[connected-mode]] -=== Flex Gateway Connected Mode - -When you apply the policy to your API instance from the UI, the following parameters are displayed: - -[%header%autowidth.spread,cols="a,a"] -|=== -| *Parameter* | *Description* -|External authorization service URI | External authorization service URI. With a gRPC type server, define the URI as `\h2://:`. -|External authorization server type | Type of external server. -|Transport protocol API version | Transport protocol API version. -|Include peer certificates in the authorization server request | Includes peer certificates in the authorization server request. -|Allowed headers | By default, requests sent to gRPC servers include all client headers and requests sent to HTTP servers don't include any client headers. If you list allowed headers for either server type, requests include only the listed headers. -|=== - -== How This Policy Works - -The following diagram demonstrates the order in which requests and responses flow when the External Authorization policy is applied: - -image:ext-auth-policy.png[80%,80%,align="center"] - -. The client makes an HTTP request to the API instance exposed by Flex Gateway. -. Flex Gateway forwards the request consisting of the client's request and headers to the authorization service. -. The authorization services sends a response back to Flex Gateway. The response indicates whether the client HTTP request is authorized and also indicates which headers to append or to edit: -** If the request isn't authorized, Flex Gateway returns a `403` forbidden access code to the client. -** If the request is authorized, Flex Gateway appends the header data to the client request, if necessary, and allows the request to pass to the upstream service. -. Flex Gateway returns the response as normal. - -include::partial$envoy-policy-limitations.adoc[] diff --git a/gateway/1.6/modules/ROOT/pages/policies-included-external-processing.adoc b/gateway/1.6/modules/ROOT/pages/policies-included-external-processing.adoc deleted file mode 100644 index bd9e6a1a5..000000000 --- a/gateway/1.6/modules/ROOT/pages/policies-included-external-processing.adoc +++ /dev/null @@ -1,149 +0,0 @@ -= External Processing Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: external processing, processing, flex gateway, gateway, policy - - -[width="100%", cols="5,15"] -|=== ->s| Policy Name | External Processing ->s|Summary | Sends the incoming HTTP requests or outgoing HTTP responses requests to an external gRPC service for additional processing ->s|Category | Transformation ->s|First Flex Gateway version available | v1.6.0 -.1+>.^s| Returned Status Codes -| 403 - IP is rejected -|=== - -== Summary - -The External Processing policy forwards the incoming HTTP request or outgoing HTTP response to an external gRPC service to modify the headers, trailers, body, or any combination of the three. You can also configure this policy to process either the request, response, or both. - -Additionally, the external processing service can request different parts of the HTTP request or response after the initial gRPC request was sent by Flex Gateway to the external processing server. This enables you to send the minimum amount of data necessary. For example, Flex Gateway can initially send only the HTTP requests headers. Then, after some processing, the external processor can request the HTTP request body or trailers from Flex Gateway. - -The parameters you set for sending the HTTP headers, trailers, and body only configure what is initially sent. The external processing service has access to all parts of the HTTP request or response regardless of what is configured. Configure the parameters to send all of the information that the processing service needs for every incoming HTTP request or response. For example, if the processing service needs the headers for every request but only needs the body for some of the requests, depending on the information found in the header, only configure the parameters to send the headers. - -The External Processing policy is an extension of the External Processing filter native to Envoy. To learn more about the External Processing filter, see https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/http/ext_proc/v3/ext_proc.proto[External Processing Filter^]. Not all External Processing filter parameters are available for the External Processing policy. To find what parameters are configurable, see <>. - -NOTE: If other policies modify the HTTP request or response, ensure that you order the policies depending on if these modification should be present when the request is sent to the processing service or upstream service. For more information about ordering policies, see xref:policies-reorder.adoc[]. - -== Configuring Policy Parameters - -=== Flex Gateway Local Mode - -In Local Mode, you apply the External Processing policy to your API instance via declarative configuration files. Refer to the following policy definition and table of parameters: - -[source,yaml] ----- -- policyRef: - name: native-ext-proc-flex - config: - uri: // REQUIRED - messageTimeout: // OPTIONAL - requestHeaderMode: // REQUIRED, default: "send" - responseHeaderMode: // REQUIRED, default: "send" - requestBodyMode: // REQUIRED, default: "none" - responseBodyMode: // REQUIRED, default: "none" - requestTrailerMode: // OPTIONAL, default: "send" - responseTrailerMode: // OPTIONAL, default: "send" ----- - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== - -|Parameter | Required or Optional | Default Value | Description - -| `uri` -| Required -| NA -| External processing server URI. For gRPC type servers, define the URI as `\h2://:`. - -| `messageTimeout` -| Required -| `1000` -| Message timeout for the processing server in milliseconds. - -| `requestHeaderMode` -| Required -| `send` -| Whether the HTTP requests headers are sent to the processing service. Supported values are `send` and `skip`. - -| `responseHeaderMode` -| Required -| `send` -| Whether the HTTP response headers are sent to the processing service. Supported values are `send` and `skip`. - -| `requestBodyMode` -| Required -| `none` -| Mode that the HTTP request body is sent in. Supported values are `none`, `streamed`, `buffered`, and `bufferedPartial`. Selecting `none` does not send the request body. - -| `responseBodyMode` -| Required -| `none` -| Mode that the HTTP response body is sent in. Supported values are `none`, `streamed`, `buffered`, and `bufferedPartial`. Selecting `none` does not send the request body. - -| `requestTrailerMode` -| Required -| `send` -| Whether the HTTP requests' trailer headers are sent to the processing service. Supported values are `send` and `skip`. - -| `responseTrailerMode` -| Required -| `send` -| Whether the HTTP response trailer headers are sent to the processing service. Supported values are `send` and `skip`. - -|=== - -NOTE: Leaving a required value blank configures the parameter with the default value. No value is set for optional values left blank. - -==== Resource Configuration Example - -This configuration streams the request headers, trailers, and body to the external processing server. This configuration does not send any part of the response to the external processing server. - -[source,yaml] ----- -- policyRef: - name: native-ext-proc-flex - config: - uri: h2://: - messageTimeout: // OPTIONAL - responseHeaderMode: skip - requestBodyMode: streamed - responseTrailerMode: skip ----- - -=== Flex Gateway Connected Mode - -When you apply the External Processing policy to your API from the UI, configure the following parameters: - -[%header%autowidth.spread,cols="a,a"] -|=== -| Parameter | Description -|External processing server URI | External processing server URI. For gRPC type servers, define the URI as `\h2://:`. -|Message timeout | Message timeout for the processing server in milliseconds. -|Request header processing mode | Whether the requests headers are sent to the processing service. -|Response header processing mode | Whether the response headers are sent to the processing service. -|Request body processing mode | Mode that the request body is sent in. -|Response body processing mode | Mode that the response body is sent in. -|Request trailer processing mode | Whether the requests trailers are sent to the processing service. -|Response trailer processing mode | Whether the response trailers are sent to the processing service. -|=== - -== How This Policy Works - -The following diagram demonstrates the order in which requests and responses flow when the External Processing policy is applied: - -image:ext-processing-policy.png[80%,80%,align="center"] - -. The client makes an HTTP request to Flex Gateway. -. Flex Gateway forwards the initial parts of the client HTTP request that you configure to the external processing service. At this point, the external processing service can request additional parts of the request. -. After Flex Gateway receives the modified HTTP request, Flex Gateway sends the HTTP request to the upstream API service. -. Flex Gateway receives the HTTP response from the upstream API service and forwards the initial parts of the HTTP response that you configure to the external processing service. At this point, the external processing service can request additional parts of the HTTP response. -. Flex Gateway returns the modified HTTP response from the external processing service to the client. - -By default, if Flex Gateway cannot establish a connection to the gRPC service or if the gRPC service returns an error, the policy fails. - - -include::partial$envoy-policy-limitations.adoc[] diff --git a/gateway/1.6/modules/ROOT/pages/policies-included-header-injection.adoc b/gateway/1.6/modules/ROOT/pages/policies-included-header-injection.adoc deleted file mode 100644 index 11d065f53..000000000 --- a/gateway/1.6/modules/ROOT/pages/policies-included-header-injection.adoc +++ /dev/null @@ -1,132 +0,0 @@ -= Header Injection Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: header injection, api gateway, flex gateway, gateway, policy -// :page-aliases: api-manager::header-injection-policy.adoc, general:header-inject-remove-task.adoc, policies::policies-included-header-injection.adoc - -[width="100%", cols="5,15"] -|=== ->s|Policy name | Header Injection ->s|Summary | Adds headers to a request or response. ->s|Category | Transformation ->s| First Flex Gateway version available | v1.0.0 ->s| Returned Status Codes | 500 - The configuration includes an expression that was not evaluated. -|=== - -== Summary - -The Header Injection policy adds HTTP headers to the request or response of a message. When you configure this policy for your API, you must specify an inbound and outbound map of the headers that you want to add in the message processing in the form of a key-value pair. - -image::header-inject-remove-diagram.png[] - -You can optionally include DataWeave expressions in the value or name of the header. For example, all headers matching the following configured expression are injected to the message: - -`“#[attributes.requestPath]”` - -If the injected header already exists in the message attributes, the policy creates a new header without overriding the value of the existing one. - -[NOTE] -==== -Only certain headers are restricted to support multiple values, and they will be overwritten using configured values. These headers are: `access-control-allow-origin`, `content-type`, `content-length`, `transfer-encoding`. - -To overwrite any other existing message header, remove it before adding your header. See the xref:policies-included-header-removal.adoc[Header Removal] policy. -==== - -== Configuring Policy Parameters - -=== Flex Gateway Local Mode - -In Local Mode, you apply the Header Injection policy to your API via declarative configuration files. Refer to the following policy definition and table of parameters: - ----- -- policyRef: - name: header-injection-flex - config: - inboundHeaders: // OPTIONAL, default: [] - - key: // REQUIRED - value: // REQUIRED - outboundHeaders: // OPTIONAL, default: [] - - key: // REQUIRED - value: // REQUIRED ----- - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== - -|Parameter | Required or Optional | Default Value | Description - -| `inboundHeaders` -| Optional -| Empty array -| List of headers to be injected at the beginning of the message processing. - -| `inboundHeaders.key` -| Required -| N/A -| A string or DataWeave expression for header name - -| `inboundHeaders.value` -| Required -| N/A -| A string or DataWeave expression for header value - -| `outboundHeaders` -| Optional -| Empty array -| List of header to be injected at the end of the message processing. - -| `outboundHeaders.key` -| Required -| N/A -| A string or DataWeave expression for header name - -| `outboundHeaders.value` -| Required -| N/A -| A string or DataWeave expression for header value - -|=== - -[NOTE] -==== -`inboundHeaders` and `outboundHeaders` can not both be empty. -==== - -==== Resource Configuration Example - -In the following example, all the headers matching the configured `#[attributes.requestPath]` expression are injected into the message. - ----- -- policyRef: - name: header-injection-flex - config: - inboundHeaders: - - key: "new-inbound-header" - value: "#[attributes.requestPath]" - outboundHeaders: - - key: "new-outbound-header" - value: "#[attributes.requestPath]" ----- - -=== Flex Gateway Connected Mode - -When you apply the policy to your API from the UI, the following parameters are displayed: - -[%header%autowidth.spread,cols="a,a"] -|=== -| *Parameter* | *Description* -|Inbound Header Map | List of headers to be injected at the beginning of the message processing. -|Inbound Header Key | String or Dataweave expression to be used as header name at the beginning of the message. -|Inbound Header Value | String or Dataweave expression to be used as header value at the beginning of the message. -|Outbound Header Map | List of headers to be injected at the end of the message processing. -|Outbound Header Key | String or Dataweave expression to be used as header name at the end of the message processing. -|Outbound Header Value | String or Dataweave expression to be used as header value at the end of the message processing. -|Method & Resource conditions |The option to add configurations to only a select few or all methods and resources of the API -|=== - -[NOTE] -==== -Header keys should be compliance with https://www.w3.org/Protocols/rfc2616/rfc2616-sec2.html#sec2.2[HTTP 1.1^] standard. -==== diff --git a/gateway/1.6/modules/ROOT/pages/policies-included-header-removal.adoc b/gateway/1.6/modules/ROOT/pages/policies-included-header-removal.adoc deleted file mode 100644 index 092d350dc..000000000 --- a/gateway/1.6/modules/ROOT/pages/policies-included-header-removal.adoc +++ /dev/null @@ -1,107 +0,0 @@ -= Header Removal Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: header removal, api gateway, flex gateway, gateway, policy -// :page-aliases: api-manager::header-removal-policy.adoc, policies::policies-included-header-removal.adoc - -[width="100%", cols="5,15"] -|=== ->s| Policy name | Header Removal ->s|Summary | Removes headers from a request or a response ->s|Category | Transformation ->s| First Flex Gateway version available | v1.0.0 -.1+>.^s| Returned Status Codes -| 500 - The configuration includes an expression that was not evaluated. -|=== - -== Summary - -The Header Removal policy removes all listed headers from a request or a response of a message when you specify an inbound and outbound map of the headers that you want to remove with a key-value pair. - -image::header-inject-remove-diagram.png[] - -You can optionally include DataWeave expressions in the value of the header. For example, all headers matching the following configured expression are injected to the message: - -`“#[attributes.requestPath]”` - -[NOTE] -The following headers may not be removed: -accept, -host, -content-type, -content-length, -date, -transfer-encoding, -connection, - -== Configuring Policy Parameters - -=== Flex Gateway Local Mode - -In Local Mode, you apply the Header Removal policy to your API via declarative configuration files. Refer to the following policy definition and table of parameters: - ----- -- policyRef: - name: header-removal-flex - config: - inboundHeaders: // OPTIONAL, default: [] - outboundHeaders: // OPTIONAL, default: [] ----- - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== - -|Parameter | Required or Optional | Default Value | Description - -| `inboundHeaders` -| Optional -| Empty array -| Map of header names or regular expressions to be removed at the beginning of the message processing, for example, `Cache-Control, Access-Control.*` - -| `outboundHeaders` -| Optional -| Empty array -| Map of header names or regular expressions to be removed at the end of the message processing, for example, `Access-Control-Allow-Credentials` - -[NOTE] -==== -`inboundHeaders` and `outboundHeaders` can not both be empty. -==== - -|=== - -==== Resource Configuration Example - ----- -- policyRef: - name: header-removal-flex - config: - inboundHeaders: - - "Cache-Control" - - "Access-Control.*" - outboundHeaders: - - "Access-Control-Allow-Credentials" ----- - -=== Flex Gateway Connected Mode and Mule Gateway - -When you apply the Header Removal policy to your API from the UI, you can configure the following parameters: - -[%header%autowidth.spread,cols="a,a"] -|=== -| *Parameter* | *Description* -|Inbound Header Map | List of header names or regular expressions (comma separated) to be removed at the beginning of the message processing, for example, `Cache-Control, Access-Control.*` -|Outbound Header Map | List of header names or regular expressions (comma separated) to be removed at the end of the message processing, for example, `Access-Control-Allow-Credentials` -|Method & Resource conditions |The option to add configurations to only a select few or all methods and resources of the API -|=== - -== How This Policy Works - -Because every header that matches a Header Removal policy parameter is removed from the message, you must be careful about how you configure that parameter. - -For example, the following parameter configuration removes any header starting with the word `Access-Control`, such as the `Access-Control-Allow-Credentials` and `Access-Control-Allow-Origin` headers from a message. The configuration also removes the `Cache-Control` header: - -.Inbound Header -image::remove-inbound-header.png[] diff --git a/gateway/1.6/modules/ROOT/pages/policies-included-health-check.adoc b/gateway/1.6/modules/ROOT/pages/policies-included-health-check.adoc deleted file mode 100644 index 145c32d36..000000000 --- a/gateway/1.6/modules/ROOT/pages/policies-included-health-check.adoc +++ /dev/null @@ -1,50 +0,0 @@ -= Health Check Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: health check, api gateway, flex gateway, gateway, policy -// :page-aliases: policies::policies-included-health-check.adoc - -[width="100%", cols="5,15"] -|=== ->s|Policy name | Health Check ->s|Summary | Monitors API upstream health at specific intervals ->s|Category | Quality of Service ->s| First Flex Gateway version available | v1.4.0 -.1+>.^s| Returned Status Codes | No return codes exist for this policy. -|=== - -== Summary - -The Health Check policy enables you to monitor an API instance's connection to an upstream service and sends you an email alert if the connection status changes. The Health Check policy monitors the health of the upstream service and not the health of the API instance or Flex Gateway. - -The Health Check policy monitors your API by making GET requests to the specified upstream's base path. You must specify a base path with a GET request. Requests are made at a fixed schedule every minute with the first request. The first request occurs a minute after the policy is applied. Requests made by the Health Check policy do not count as Flex Gateway API calls for pricing purposes. - -When you configure Health Check, specify a response code for the GET request that indicates a healthy connection. For example, the status code of an active API should return 200, indicating the API can receive connections. The platform sends an email alert when the status code is not 200. Health Check only validates the response code, so what is returned to the endpoint is unimportant. - -No logging event appears for healthy responses. Flex Gateway logs only unhealthy responses. - -You can use any 1xx, 2xx, 3xx, 4xx, or 5xx response codes. However, if you expect successful connections to your endpoints, 2xx response codes are ideal. Only a number response code is accepted. - -You are required to create an alert for the Health Check policy. Applying the policy navigates you to the Create Alert page, where you must create an alert. For information about how to configure your alert, visit xref:flex-use-api-alerts.adoc[Using Flex Gateway API Alerts]. - -IMPORTANT: Applying the Health Check policy to API Instances with an outbound TLS context also applied causes the Health Check policy to return an unhealthy connection. - -== Configuring Policy Parameters - -=== Flex Gateway Local Mode - -The Health Check policy is not supported in Local Mode. - -=== Flex Gateway Connected Mode - -When you apply the policy to your API from the UI, a list of parameters is displayed: - -[%header%autowidth.spread,cols="a,a,a"] -|=== -| Element | Description | Required? -|Upstream URL | The full URL of the API upstream you are monitoring | Yes -|Base path | The HTTP path of the GET method that is requested during health checks | Yes -|Response code | The expected status code of the GET request specified in the base path. Only a number response code is accepted. | Yes -|=== diff --git a/gateway/1.6/modules/ROOT/pages/policies-included-http-caching.adoc b/gateway/1.6/modules/ROOT/pages/policies-included-http-caching.adoc deleted file mode 100644 index 170a4d5ce..000000000 --- a/gateway/1.6/modules/ROOT/pages/policies-included-http-caching.adoc +++ /dev/null @@ -1,356 +0,0 @@ -= HTTP Caching Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: http caching, api gateway, flex gateway, gateway, policy -// :page-aliases: api-manager::http-caching-policy.adoc, policies::policies-included-http-caching.adoc - -[width="100%", cols="5,15"] -|=== ->s| Policy Name | HTTP caching ->s|Summary | Caches HTTP responses from an API implementation ->s|Category | Quality of Service ->s| First Flex Gateway version available | v1.0.0 -.1+>.^s| Returned Status Codes -| No return codes exist for this policy -|=== - -== Summary - -The HTTP Caching policy enables you to cache HTTP responses for reuse. Caching these responses speeds up the response time for user requests and reduces the load on the backend. For example, if your backend exposes an endpoint for which the responses to requests are not likely to change, you can reuse the HTTP responses and bypass the backend request processing by using the HTTP Caching policy. - -[[cpp]] -== Configuring Policy Parameters - -=== Flex Gateway Local Mode - -In Local Mode, you apply the HTTP Caching policy to your API via declarative configuration files. Refer to the following policy definition and table of parameters: - ----- -- policyRef: - name: http-caching-flex - config: - httpCachingKey: // OPTIONAL, default: "#[attributes.requestPath]" - maxCacheEntries: // OPTIONAL, default: 10000 - ttl: // OPTIONAL, default: 600 - useHttpCacheHeaders: // OPTIONAL, default: true - invalidationHeader: // OPTIONAL, default: "" - requestExpression: // OPTIONAL, default: "#[attributes.method == 'GET' or attributes.method == 'HEAD']" - responseExpression: // OPTIONAL, default: "#[[200, 203, 204, 206, 300, 301, 404, 405, 410, 414, 501] contains attributes.statusCode]" - distributed: // OPTIONAL, default: false - persistCache: // OPTIONAL, default: false ----- - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== - -|Parameter | Required or Optional | Default Value | Description - -| `httpCachingKey` -| Optional -| `#[attributes.requestPath]` -| A DataWeave expression - -| `maxCacheEntries` -| Optional -| 10000 -| Specifies the maximum number of entries that can be stored in the cache at any given time - -| `ttl` -| Optional -| 600 -| Specifies the amount of time (in seconds) after which a single entry expires from the cache - -| `useHttpCacheHeaders` -| Optional -| true -| Enables the use of Cache-Control header directives - -| `invalidationHeader` -| Optional -| Empty string -| A string specifying the header used to invalidate a single entry or the entire cache - -| `requestExpression` -| Optional -| `#[attributes.method == 'GET' or attributes.method == 'HEAD']` -| The DataWeave expression that is used to decide which requests are to be cached (caches the response only if the condition is true) - -| `responseExpression` -| Optional -| `#[[200, 203, 204, 206, 300, 301, 404, 405, 410, 414, 501] contains attributes.statusCode]` -| The DataWeave expression that is used to decide which responses are to be cached (caches the response only if the condition is true) - -| `distributed` -| Optional -| false -| Configures the cache to be distributed among different nodes in a cluster - -| `persistCache` -| Optional -| false -| Configures the cache to persist between different restarts of the replica - -|=== - -==== Resource Configuration Example - -[source,yaml] ----- -- policyRef: - name: http-caching-flex - config: - httpCachingKey: "#[attributes.requestPath]" - maxCacheEntries: 10000 - ttl: 500 - useHttpCacheHeaders: false - requestExpression: "#[attributes.method == 'GET' or attributes.method == 'HEAD']" - responseExpression: "#[[200, 203, 204, 206, 300, 301, 404, 405, 410, 414, 501] contains attributes.statusCode]" ----- - -==== Distributed Caching Resource Configuration Example - -Distributed Caching requires Shared Storage to be enabled. For more information about Shared Storage, refer to xref:flex-conn-shared-storage-config.adoc[Configuring Shared Storage for Flex Gateway in Connected Mode]. - ----- - ---- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Configuration -metadata: - name: shared-storage-redis -spec: - sharedStorage: - redis: - address: redis:6379 - user: user - password: pass - DB: 1 - ---- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: ingress-http-caching -spec: - targetRef: - kind: ApiInstance - name: ingress-http - policyRef: - kind: Extension - name: http-caching-flex - config: - httpCachingKey: "#[attributes.method ++ attributes.requestPath]" - useHttpCacheHeaders: true - maxCacheEntries: 100 - ttl: 600 - distributed: true - persistCache: true - invalidationHeader: AGW-CACHE-CONTROL - ----- - -=== Flex Gateway Connected Mode - -When you apply the HTTP Caching policy to your API from the UI, you can configure the following parameters: - -[%header%autowidth.spread,cols="40%,45%, 15%"] -|=== -| *Parameter* | *Description* | *Required?* -| HTTP Caching Key | A DataWeave expression. -Default value: `#[attributes.requestPath]` -| Yes -| Maximum Cache Entries | Specifies the maximum number of entries that can be stored in the cache at any given time. -Default value: `10000` -| Yes -| Entry Time To Live | Specifies the amount of time (in seconds) after which a single entry expires from the cache. -Default value: `600` -| Yes -| Distributed | Configures the cache to be distributed among different nodes in a cluster. -Default value: `false` -| Yes -| Persistent Cache | Configures the cache to persist between different restarts of the Flex Gateway instance. -Default value: `false` -| Yes -| Follow HTTP Caching directives | Enables the use of Cache-Control header directives. -Default value: `true` -| Yes -| Invalidation Header | Name of the header used to invalidate a single entry or the entire cache. | No -| Conditional Request Caching Expression | The DataWeave expression that is used to decide which requests are to be cached (caches the response only if the condition is true). -Default value: `#[attributes.method == 'GET' or attributes.method == 'HEAD']` -| No -| Conditional Response Caching Expression | The DataWeave expression that is used to decide which responses are to be cached (caches the response only if the condition is true). -Default value: `#[[200, 203, 204, 206, 300, 301, 404, 405, 410, 414, 501] contains attributes.statusCode]` -| No -|=== - -== How This Policy Works - -When an HTTP request reaches an endpoint, what happens next depends on whether that request does not already exist in cache (a cache miss) or whether it does (a cache hit). - -=== Cache Miss - -In a cache miss scenario, the HTTP Caching policy checks whether a response to the submitted request is already cached. The request reaches the backend and the process is initiated only when it's a cache miss. The diagram illustrates the flow of events that occur in this scenario: - -image:http-policy-cache-miss.png[] - -. The client (user) sends a request to the API. -. The request proceeds through other policies in the policy chain before reaching the HTTP Caching policy. -. The HTTP Caching policy checks if the request is already in the object store and, if not, the cache miss process is initiated. -. The request continues throughout the chain of other remaining policies. -. The request reaches the backend and completes all required processing. -. The backend responds and the response travels back through the policy chain. -. The response reaches the HTTP Caching policy. -. Caching hits the object store again and attempts to save the <> of the request for later reuse. -. The response continues through the remaining policies in the policy chain. -. The response is returned to the client. - - -=== Cache Hit - -In a cache hit scenario, the HTTP Caching policy searches for the key in the object store and finds that the response to a request is already cached as a <>. The request does not proceed any further in the policy chain toward the backend, and the cached response is reused. - -Subsequently, all the policies that must be executed in the policy chain after caching are not executed, in case of a cache hit: - -image:http-policy-cache-hit.png[] - -. The client (user) sends a request to the API. -. The request crosses other policies before reaching the HTTP Caching policy. -. The HTTP Caching policy verifies that the request is already in the cache. -. The <> is found in the object store and the stored response is returned. -. The response continues through the rest of the policy chain until it reaches the last one. -. The cached response is returned to the client. - -[[stored_entry]] -=== Stored Entries - -_Stored entries_ are the cached HTTP responses. The cache can store any serializable data or input streams of up to 1 MB. If that value is surpassed, then the reading stops and the value is not stored in such a case. - -[[key]] -=== HTTP Caching Key - -The cache works as a dictionary, where each response stored in the cache is associated with a string called _key_. For example, the expression #[attributes.headers['key']] uses the header called `key` as the entry key. You can use any DataWeave expression that returns a string, including xref:policies-flex-dataweave-support.adoc#available-predefined-variables[predefined DataWeave variables]. - -=== Cache Size and Entry Expiration - -The cache can hold a specified number of entries at any given time. You can configure this number using the `Maximum Cache Entries` property. Each stored entry is held in the cache memory for a specific period of time, after which the entry expires and must be processed again. This expiration time is called _time to live_ (TTL). - -Another condition that can trigger the expiration of an entry is when the cache reaches the maximum number of items that it can store. When this scenario occurs, the entry is removed by using the FIFO (First-In First-Out) criteria. This means that the earliest entry to reach the cache is removed, even though it hasn't reached the TTL value yet. - -=== Distributed Cache - -Each entry in the cache can be shared between different nodes in a cluster or between several workers in Runtime Manager using the `Distributed` option (see table). If this option is not enabled, then each node is assigned its own cache memory. - -=== Persistent Cache - -A persistent cache enables the stored entries in the cache to persist if the Flex Replica is restarted. - -When you upgrade a version of the instance that has the HTTP Caching policy configured to use the persistent store, the policy tries to maintain the entries stored by the previous version. However in a worst-case scenario, the entries in the cache are invalidated and the cache is re-populated when new requests arrive. This manipulation of the entries in the cache occurs automatically and is invisible to the user. - -== HTTP Caching Directives - -To obtain more control over the cache, the HTTP Caching policy interprets some of the HTTP directives from the https://tools.ietf.org/html/rfc7234[RFC-7234^] protocol by taking the following headers into account: - -* `Cache-Control` -* `Expires` -* `Date` -* `Age` - -=== Cache-Control - -The `Cache-Control` header can exist either in the request or in the response. Possible values for the header, which can be combined separated by commas, include: - - -* In requests: - -** `no-cache` - -The response is not searched for, but is directly stored in the cache. - -** `no-store` - -The response is not stored in the cache. However, if the response is already present in the cache, the policy returns the response. - -* In responses: - -** `no-store`, `no-cache`, `private` - -For each value, the response is not stored in the cache. - -* `max-age=`, `s-maxage=` - -The `` placeholder must be replaced with a valid integer that indicates the time (in seconds) for which the response can remain in the cache. If both parameters are defined, `s-maxage` takes precedence over `max-age`. - -If a global time-to-live (TTL) value is also defined for the policy, these header values override the global TTL configured in the policy if the time specified in the headers is less than the global TTL. - -=== Expires - -If present, this header specifies the date by which the entry in the cache expires. If you specify the `max-age` directive or `s-maxage` directive, this header is ignored. You must define the header value as stated in https://tools.ietf.org/html/rfc1123[RFC-1123^]. - -=== Date - -The `date` header, as defined per https://tools.ietf.org/html/rfc1123[RFC-1123^], specifies the date and time when the response is created. If not defined, the `date` header is added with the time when the request was received. This header is used in conjunction with the values defined in the `max-age` and `s-maxage` directives of the Cache-Control header. - -=== Age - -The `age` header indicates the time (in seconds) elapsed since the origin of the cached response specified in the date header. This header is calculated by the policy and added to each response that is retrieved from the cache. - -The expiration time is calculated using the `cache-control`, `date`, and `expires` headers. However, if the resulting expiration time exceeds the one imposed by the TTL value of the entry, the cache entry expires anyway. - -=== Invalidate - -The `invalidate` header, if configured in the HTTP Caching policy, invalidates the entries in the cache, thereby causing the request to be processed again. You specify the name of the header in the Invalidation Header configuration to turn on the option. The value of the header can take only one of the following options: -`invalidate` - -This option invalidates the entry whose key matches the current request. -`invalidate-all` -This option invalidates all the entries from the cache. - -For example, imagine that the following values are configured in the policy for the request: - -* `HTTP Caching Key`: "#[attributes.requestPath]" -* `Invalidation header`: "myInvalidationHeader" - -The following command invalidates the entry with key “/my/policy" from the cache: - -`curl http:///my/policy -H “myInvalidationHeader:invalidate”` - -The following request invalidates all entries from the cache: - -`curl http:///my/policy -H “myInvalidationHeader:invalidate-all”` - -== Conditional Caching - -Conditional caching enables you to configure a set of conditions that must be met before entries are stored in the cache. If none of the conditional caching parameters are configured, the cache stores the responses for every incoming request. If configured, parameters are evaluated for each request to determine whether the response of the current request must be stored. - -For conditional request expressions, only the responses for incoming requests with HTTP methods `GET` or `HEAD` are cached by default. For conditional response expressions, only status codes specified by https://tools.ietf.org/html/rfc7231#section-6.1[RFC-7231^] are cached by default. - -For more information about the default values, see <>. - -== FAQ - -*What happens when the evaluation of the key results in any error?* - -If the evaluation of the expression for a particular request results in an error, the policy does not take effect and the request continues to the next receptor in the policy chain. - - -*Can I store only part of the response with this policy?* - -No, but you can apply a policy before this one and transform the response to something else. - -*What happens if one parameter is configured to search for the response in the cache and the other parameter is configured for the opposite action?* - -This is the same as configuring the response to be stored in the cache when there is a no-store directive in the Cache-Control header. - -In this situation, the response isn't stored. You must configure both the Cache-Control header and the cache to be able to store and search for the response in the cache. - - -*What happens if I do not define some of the optional parameters?* - -If you have not configured the `invalidation` header, you cannot invalidate the cache in a request. -Additionally, if you have not configured the request expression or response expression, the cache is used for all requests and all the responses are stored in the cache (expression #[true]). - -*Can I modify the Invalidation header values?* - -No, you can modify only the header name. diff --git a/gateway/1.6/modules/ROOT/pages/policies-included-ip-allowlist.adoc b/gateway/1.6/modules/ROOT/pages/policies-included-ip-allowlist.adoc deleted file mode 100644 index 692eda088..000000000 --- a/gateway/1.6/modules/ROOT/pages/policies-included-ip-allowlist.adoc +++ /dev/null @@ -1,109 +0,0 @@ -= IP Allowlist Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: ip, allowlist, validation, api gateway, flex gateway, gateway, policy -// :page-aliases: api-manager::ip-allowlist.adoc, policies::policies-included-ip-allowlist.adoc - -[width="100%", cols="5,15"] -|=== ->s| Policy Name | IP Allowlist ->s|Summary | Allows a list or range of specified IP addresses to request access ->s|Category | Security ->s|First Flex Gateway version available | v1.0.0 -.1+>.^s| Returned Status Codes -| 403 - IP is rejected -|=== - -== Summary - -The IP Allowlist policy allows a list or a range of specified IP addresses access to a protected resource when a match is found between a source IP (specified when configuring the policy) and a list of individual IPs or range of IPs. - -DataWeave 2.0 expressions define the source IP used by the policy to determine whether the IP belongs to the policy's restricted IP list. - -== Configuring Policy Parameters - -=== Flex Gateway Local Mode - -In Local Mode, you apply the IP Allowlist policy to your API via declarative configuration files. Refer to the following policy definition and table of parameters: - ----- -- policyRef: - name: ip-allowlist-flex - config: - ips: // REQUIRED - ipExpression: // OPTIONAL, default: "#[attributes.headers['x-forwarded-for']]" ----- - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== - -|Parameter | Required or Optional | Default Value | Description - -| `ips` -| Required -| N/A -| The list of IP addresses allowed access to the API. You can define one IP or IP range at a time, as many times as required. For more information, see <>. - -| `ipExpression` -| Optional -| `#[attributes.headers['x-forwarded-for']]` -| The DataWeave 2.0 expression to be used for extracting the IP address from this API request - -|=== - -==== Resource Configuration Example - ----- -- policyRef: - name: ip-allowlist-flex - config: - ips: - - "192.168.1.1" - - "192.168.3.1/30" - - "192.168.2" - - "192.160" ----- - -=== Flex Gateway Connected Mode - -When you apply the IP Allowlist policy to your API from the UI, configure the following parameters: - -[%header%autowidth.spread,cols="a,a"] -|=== -| Parameter | Description -|IP expression |The DataWeave 2.0 used for extracting the IP address from this API request. -|Allowlist |The list of IP addresses allowed access to the API. You can define one IP or IP range at a time, as many times as required. For more information, see <>. -|Method & Resource conditions |The option to add configurations either to a select few or to all methods and resources of the API. -|=== - -[[specifying_ip_address]] -== Specifying IP Addresses to Allowlist in Your Policy - -Specify IP addresses to allow access to your policy based on: - -* The IP address of the request -* The origin IP address that is determined by resolving a specific DataWeave expression, such as the https://en.wikipedia.org/wiki/X-Forwarded-For[x-Forwarded-For^] header -* Any other origin. - -=== Allowlisting Access Based on the IP address of the Request - -Allowlist access based on the IP address of the request in any of the following ways: - -* Define a specific IP address by enumerating it in the Allowlist field, for example, `192.168.1.1`. -* Define a subset of addresses by identifying a subnet mask, for example, `192.168.3.1/30`, which includes the consolidated range `192.168.3.01` through `192.168.3.3`. -* Define a whole range of IP addresses by stating the relevant octets of the IP address you want to permit, for example, setting `192.168`, which includes IP addresses from `192.168.0.0` through `192.168.255.255`. - - -=== Allowlisting Access Based on the Origin IP Address of the x-Forwarded-For Header - -If the client connects to your API through an HTTP proxy or a load balancer, you can allowlist the client's specific IP address (the IP address originating the request) instead of the address that appears in the request. - -For example, if you want to allowlist `192.168.2.3`(private IP) and the address of a client connecting through an HTTP proxy is `92.40.1.255` (public IP), the client requests appear with the public address using the proxy. - -Typically, applications use the `X-Forwarded-For` header to identify the origin IP addresses of a request that was redirected to your endpoint. - -You can use a DataWeave 2.0 expression in the policy to instruct the service to look for the IP address in the `x-Forwarded-For` header. - -When you insert the IP address in the IP expression field of the policy parameters, Anypoint Platform is instructed to look for the starting IP address in the concatenated values of the `x-Forwarded-For` header of the request. \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/policies-included-ip-blocklist.adoc b/gateway/1.6/modules/ROOT/pages/policies-included-ip-blocklist.adoc deleted file mode 100644 index f5c6a4403..000000000 --- a/gateway/1.6/modules/ROOT/pages/policies-included-ip-blocklist.adoc +++ /dev/null @@ -1,110 +0,0 @@ -= IP Blocklist Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: ip, blocklist, validation, api gateway, flex gateway, gateway, policy -// :page-aliases: api-manager::ip-blocklist.adoc, policies::policies-included-ip-blocklist.adoc - -[width="100%", cols="5,15"] -|=== ->s| Policy Name | IP Blocklist ->s|Summary | Blocks a single IP address or a range of IP addresses from accessing an API endpoint ->s|Category | Security ->s|First Flex Gateway version available | v1.0.0 -.1+>.^s| Returned Status Codes -| 403 - IP is rejected -|=== - -== Summary - -The IP Blocklist policy controls access to a configured API endpoint from either a single IP address or a range of IP addresses. - -The IP Blocklist policy restricts access to a protected resource when a match is found between a source IP (specified when configuring the policy) and either a list of individual IPs or a range of IPs. - -DataWeave 2.0 expressions define the source IP to be used when the policy tries to determine whether the IP belongs to the restricted IP list defined in the policy. - -== Configuring Policy Parameters - -=== Flex Gateway Local Mode - -In Local Mode, you apply the IP Blocklist policy to your API via declarative configuration files. Refer to the following policy definition and table of parameters: - ----- -- policyRef: - name: ip-blocklist-flex - config: - ips: // REQUIRED - ipExpression: // OPTIONAL, default: "#[attributes.headers['x-forwarded-for']]" ----- - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== - -|Parameter | Required or Optional | Default Value | Description - -| `ips` -| Required -| N/A -| The list of IP addresses blocked from the API. You can define one IP or IP range at a time, as many times as required. For more information, see <>. - -| `ipExpression` -| Optional -| `#[attributes.headers['x-forwarded-for']]` -| The DataWeave 2.0 expression to be used for extracting the IP address from this API request - -|=== - -==== Resource Configuration Example - ----- -- policyRef: - name: ip-blocklist-flex - config: - ips: - - "192.168.1.1" - - "192.168.3.1/30" - - "192.168.2" - - "192.160" ----- - -=== Flex Gateway Connected Mode - -When you apply the IP Blocklist policy to your API from the UI, configure the following parameters: - -[%header%autowidth.spread,cols="a,a"] -|=== -| Parameter | Description -|IP expression |The DataWeave 2.0 expression used for extracting the IP address from this API request. -|Blocklist |The list of IP addresses blocked from the API. You can define one IP or IP range at a time, as many times as required. For more information, see <>. -|Method & Resource conditions |The option to add configurations either to a select few or to all methods and resources of the API. -|=== - -[[specifying_ip_address]] -== Specifying IP Addresses to Blocklist in the Policy - -Specify IP addresses to block in your policy based on: - -* The IP address of the request. -* The origin IP address that is determined by resolving a specific DataWeave expression, such as the https://en.wikipedia.org/wiki/X-Forwarded-For[x-Forwarded-For^] header. -* Any other origin. - -=== Blocklist Access Based on the IP Address of the Request - -Blocklist access based on the IP address of the request in any of the following ways: - -* Define a specific IP address by enumerating it in the white space, for example, `192.168.1.1`. -* Define a subset of addresses by identifying a subnet mask, for example, `192.168.3.1/30` includes the consolidated range `192.168.3.0` through `192.168.3.3`. -* Define a whole range of IP addresses by specifying the relevant octets of the IP address that you want to permit, for example, setting `192.168` will include IP addresses from `192.168.0.0` through `192.168.255.255`. - -=== Blocklist Access Based on the Origin IP Address of the x-Forwarded-For Header - -If the client connects to your API through an HTTP proxy or a load balancer, you can blocklist the client's specific IP address (the IP address originating the request) instead of the address that appears in the request - -For example, if you want to blocklist `192.168.2.3` and the address of a client connecting through an HTTP proxy is `92.40.1.255`, the client requests appear with the public address using the proxy. - -Typically, applications use the `X-Forwarded-For` header to identify the origin IP addresses of a request that was redirected to your endpoint. - -You can use a DataWeave 2.0 expression in the policy to instruct the service to look for the IP address in the `x-Forwarded-For` header. - -When you insert the IP address in the IP expression field of the policy parameters, Anypoint Platform is instructed to look for the starting IP address in the concatenated values of the `x-Forwarded-For` header of the request. \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/policies-included-json-threat-protection.adoc b/gateway/1.6/modules/ROOT/pages/policies-included-json-threat-protection.adoc deleted file mode 100644 index 3b393794e..000000000 --- a/gateway/1.6/modules/ROOT/pages/policies-included-json-threat-protection.adoc +++ /dev/null @@ -1,144 +0,0 @@ -= JSON Threat Protection Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: json threat protection, api gateway, flex gateway, gateway, policy -// :page-aliases: api-manager::apply-configure-json-threat-task.adoc, policies::policies-included-json-threat-protection.adoc - -[width="100%", cols="5,15"] -|=== ->s|Policy Name| JSON Threat Protection ->s|Summary| Protects against malicious JSON in API requests ->s|Category| Security ->s|First Flex Gateway version available | v1.4.0 ->s|Returned Status Codes| 400 - Bad Request -|=== - -== Summary - -Applications processing JSON requests are susceptible to attacks characterized by unusual inflation of elements and nesting levels. Attackers use recursive techniques to consume memory resources. Dramatic swings in the size of the application data often signal a security problem. The JSON Threat Protection policy helps protect your applications from such intrusions. - -If you find that attacks on your Anypoint Platform setup are difficult to detect, design your services architecture with layers of protection in addition to JSON Threat Protection. - -== Configuring Policy Parameters - -=== Flex Gateway Local Mode - -In Local Mode, you apply the JSON Threat Protection policy to your API via declarative configuration files. Refer to the following policy definition and table of parameters: - ----- -- policyRef: - name: json-threat-protection-flex - config: - maxContainerDepth: // OPTIONAL - maxObjectEntryCount: // OPTIONAL - maxObjectEntryNameLength: // OPTIONAL - maxArrayElementCount: // OPTIONAL - maxStringValueLength: // OPTIONAL ----- - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== - -|Parameter | Required or Optional | Default Value | Description - -| `maxContainerDepth` -| Optional -| -1 -| Specifies the maximum nested depth. JSON allows you to nest the containers (object and array) in any order to any depth. Specifying -1 indicates that the field value has no limits. - -| `maxObjectEntryCount` -| Optional -| -1 -| Specifies the maximum number of entries in an object. Specifying -1 indicates that the field value has no limits. - - -| `maxObjectEntryNameLength` -| Optional -| -1 -| Specifies the maximum string length of an object's entry name. Specifying -1 indicates that the field value has no limits. -| `maxArrayElementCount` -| Optional -| -1 -| Specifies the maximum number of elements in an array. Specifying -1 indicates that the field value has no limits. - -| `maxStringValueLength` -| Optional -| -1 -| Specifies the maximum string value length. Specifying -1 indicates that the field value has no limits. - -|=== - -==== Resource Configuration Example - -[source,yaml] ----- -- policyRef: - name: json-threat-protection-flex - config: - maxContainerDepth: 10 - maxObjectEntryCount: 10000 - maxObjectEntryNameLength: 80 - maxArrayElementCount: 10000 - maxStringValueLength: 255 ----- - -=== Flex Gateway Connected Mode - -When you apply the JSON Threat Protection policy to your API from the UI, the following parameters are displayed: - -[width="100%", cols="2,6,1,1"] -|=== -s|Field s|Description s|Default s|Required -|Maximum Container Depth|Specifies the maximum nested depth. JSON allows you to nest the containers (object and array) in any order to any depth ^|-1 ^|false -|Maximum String Value Length|Specifies the maximum length of a string value ^|-1 ^|false -|Maximum Object Entry Name Length|Specifies the maximum string length of an object's entry name ^|-1 ^|false -|Maximum Object Entry Count|Specifies the maximum number of entries in an object ^|-1 ^|false -|Maximum Array Element Count|Specifies the maximum number of elements in an array ^|-1 ^|false -|=== - -[NOTE] -==== -A value of -1 indicates that the field value has no limits. -==== - -== Payload Example - -If your payload contains the following example JSON: - ----- -{ - "Players":[ - { - "Name":"Sachin", - "Email":"sachin.tendulkar@example.com" - }, - { - "Name":"Suryakumar", - "email":"Surya@example.com" - }, - { "Name":"Bhuvi", - "email":"bhuvi@example.com" - }, - { - "Name":"Jonty", - "Email":"jonty@example.com" - } - ] -} ----- - -The policy defines the example parameter values as follows: - -[%header%autowidth.spread] -|=== -|Parameter |Value |Explanation - -|Maximum Container Depth |3 |The depth of the `Name` and `Email` entries -|Maximum String Value Length |28 |The length of `sachin.tendulkar@example.com` -|Maximum Object Entry Name Length |7 |The length of the `Players` object entry name -|Maximum Object Entry Count |2 | The number of entries in each `Players` object -|Maximum Array Element Count |4 | The number of elements in the `Players` array -|=== - diff --git a/gateway/1.6/modules/ROOT/pages/policies-included-jwt-validation.adoc b/gateway/1.6/modules/ROOT/pages/policies-included-jwt-validation.adoc deleted file mode 100644 index 28327eba0..000000000 --- a/gateway/1.6/modules/ROOT/pages/policies-included-jwt-validation.adoc +++ /dev/null @@ -1,354 +0,0 @@ -= JWT Validation Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: jwt validation, api gateway, flex gateway, gateway, policy -// :page-aliases: api-manager::policy-mule4-jwt-validation.adoc, policies::policies-included-jwt-validation.adoc - -[%autowidth.spread,cols="a,a"] -|=== ->s| Policy name | JWT Validation ->s| Summary | Validates a JWT ->s| Category | Security ->s| First Flex Gateway version available | v1.0.0 -.4+>.^s| Returned Status Codes | -|400 - Token was not provided in the request. - -[%autowidth.spread,cols="a,a"] -!=== -.3+>.^! 401 ! Signature was not validated, or is invalid. ! Some of the required claims are not present or their validation failed. -! Failed to parse the token. -!=== -|=== - -== Summary - -JSON Web Token (JWT) is a URL-secure method of representing claims to be transferred between two parties. The claims in a JWT are encoded as a JSON object that is used as the payload of a JSON Web Signature (JWS), or as a JSON web encryption (JWE) structure in plain text. This enables the claims to be digitally signed and integrity protected with a message authentication code (MAC). Because the token is signed, you can trust the information and its source. - -The JWT Validation policy validates the signature of the token and asserts the values of the claims of all incoming requests by using a JWT with JWS format. The policy does not validate JWT that uses JWE. - -== Configuring Policy Parameters - -=== Flex Gateway Local Mode - -In Local Mode, you apply the JWT Validation policy to your API via declarative configuration files. Refer to the following policy definition and table of parameters: - ----- -- policyRef: - name: jwt-validation-flex - config: ----- - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== - -|Parameter | Required or Optional | Default Value | Description - -| `signingMethod` -| Optional -| `rsa` -| String containing the key signing method. Supported values: `rsa`, `hmac`, `es`, `none` - -| `signingKeyLength` -| Optional -| 256 -| Number indicating key length - -| `textKey` -| Optional -| `your-(256\|384\|512)-bit-secret/your-public-pem-certificate` -| - -| `jwtOrigin` -| Optional -| `httpBearerAuthenticationHeader` -| - -| `jwtKeyOrigin` -| Optional -| `text` -| - -| `jwksUrl` -| Optional -| `http://your-jwks-service.example:80/base/path` -| - -| `jwksServiceTimeToLive` -| Optional -| 60 -| - -| `jwksServiceConnectionTimeout` -| Optional -| 10000 -| - -| `validateAudClaim` -| Optional -| `false` -| - -| `mandatoryAudClaim` -| Optional -| `false` -| - -| `mandatoryNbfClaim` -| Optional -| `false` -| - -| `mandatoryExpClaim` -| Optional -| `false` -| - -| `supportedAudiences` -| Optional -| Empty string -| - -| `validateCustomClaim` -| Optional -| `false` -| - -| `mandatoryCustomClaims` -| Optional -| Empty array -| - -| `nonMandatoryCustomClaims` -| Optional -| Empty array -| - -| `jwtExpression` -| Optional -| `#[attributes.headers['jwt']]` -| - -| `skipClientIdValidation` -| Required -| `true` -| This parameter must be set to `true` in Local Mode. - -| `clientIdExpression` -| Optional -| `#[vars.claimSet.client_id]` -| - -|=== - -// ==== Resource Configuration Example - -// ---- -// - policyRef: -// name: jwt-validation-flex -// config: -// ---- - -=== Flex Gateway Connected Mode - -==== Configuring the Parameters - -When you use the UI to apply the policy to your API, you can configure the following parameters: - -[%header%autowidth.spread,cols="20,50,30"] -|=== -| Element | Description | Example -| JWT Origin | Specifies from where in the request the JWT will be extracted: -* HTTP Bearer Authentication Header -* Custom Expression - -If you set this field to `HTTP Bearer Authentication Header`, the JWT is expected as Bearer. + -If you set this field to `Custom Expression`, provide a DataWeave expression that returns the token. -| -| Token Expression | If you set the JWT Origin to `Custom Expression`, type the DataWeave expression returning the JWT here. -| `#[attributes.headers['jwt']]` + -This expression searches the JWT in the header named `jwt`. - -| JWT Signing Method -| Specify the signing method expected in the incoming JWT. The policy rejects the token if the JWT has a different signing method. -| RSA, HMAC, ES, None - -| JWT Signing Key Length -| Specify the length of the key (in the case of the HMAC algorithm) or the algorithm (in the case of RSA) used for the signing method. + -Ignore this field if you selected *none* as JWT Signing Method. -| 256, 384, 512. For ES method, Flex Gateway only supports 256 and 384 key lengths. - -| JWT Key Origin -| Specifies where to obtain the key for the Signature validation. + -You can provide the key in the policy by selecting the *Text* option or by obtaining it from a *JWKS*. + -Ignore this field if you selected *none* as JWT Signing Method. -| - -| JWT Key -| This field appears if you selected *Text* as JWT Key Origin. + -Use this field to provide the key used to check the signature of the token. + -Ignore this field if you selected *none* as JWT Signing Method. -| Enter a 32, 48, or 64 character string shared secret for HMAC, a 32 character string shared secret for ES, or the PEM Public Key without the header and footer for RSA. - -| JWKS URL -| This field appears if you selected the *JWKS* method as JWT Key Origin. + -Ignore this field if you selected *none* as JWT Signing Method. -| The URL to the JWKS server. - -| JWKS Caching Time To Live -| The amount of time, in minutes, that the JKWS is valid. When the JKWS expires, the policy retrieves it again. The devault value is 60 minutes. + -Ignore this field if you selected *none* as JWT Signing Method. -| This field input is the amount of time, in minutes, during which the policy considers the JWKS valid. - -| JWKS Service connection timeout (milliseconds) -| Sets the maximum time, in milliseconds, to wait for a response when authenticating the access token validation endpoint. + -The default value is 10 seconds. -| - -| Skip Client ID Validation -| If you check this field, the policy does not verify that the client ID extracted from the JWT matches a valid client application of the API. -| - -| Client ID Expression -| If Skip Client Id Validation is not set, the client ID needs to be extracted from the token. -| By default, the value will be extracted using the expression `#[vars.claimSet.client_id]` as specified in the https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-16#section-4.3[Oauth 2.0 token exchange draft^]. - -| Validate Audience Claim -| Indicates that the policy should check for the validity of the audience claim. You can set this "Mandatory" if you select *Audience Claim Mandatory*. -| - -| Validate Expiration Claim -| Indicates that the policy should check for the validity of the expiration claim. You can set this claim as "Mandatory" by selecting *Expiration Claim Mandatory*. -| - -| Validate Not Before Claim -| Indicates that the policy should check for the validity of the Not Before claim. You can set this claim as "Mandatory" by selecting *Not Before Claim Mandatory* -| - -| Validate Custom Claim -| Enables the usage of custom validations in the policy. The JWT will be valid only if all DataWeave expressions are fulfilled. -| The policy provides a _claimSet_ variable that contains all the claims present in the incoming JWT. For example: - -`foo : #[vars.claimSet.foo == 'fooValue']` - -Note that all DataWeave expressions must return a boolean value or they will always fail. -|=== - -==== Configuring the Parameters for Anypoint Service Mesh (Non-Mule Applications) - -For Anypoint Service Mesh (non-Mule applications), you configure the JWT Validation policy in the same way, excluding the following differences: - -* The policy does not accept DataWeave expressions for claim validations. -* The token retrieving and client ID validation parameters differ, as explained in the following table. - -[%header%autowidth.spread,cols="a,a,a"] -|=== -| Element | Description | Example -| JWT Origin -| Specifies from where in the request to extract the JWT: - -* `jwt Header` to extract the JWT from that header -* `HTTP Bearer Authentication Header` for the JWT to be expected as bearer -* `Custom Header` to obtain the name of the header where the JWT is expected as input -| - -| Token Header -| If you set the *JWT Origin* to `Custom Header`, specify the name of the header containing the JWT. -| `myJwtHeader` - -| Client ID Claim -| If *Skip Client Id Validation* is not set, the client ID is extracted from the token. -| By default, this value is extracted from the `client_id` claim. - -|=== - -== How This Policy Works - -The policy validates claims and signatures differently, as explained in this section. - -=== Validating Signatures - -The policy validates the signature of the JWT based on the values specified in the policy configuration. If the algorithm specified in the policy configuration does not match with the token, or if the signature of the token is invalid, all JWTs are rejected by the policy. If no algorithm is specified, the policy matches every signed and unsigned token. - -The algorithms that support signature verification are: - -* *Symmetric algorithms* - HMAC using SHA-256, SHA-384, and SHA-512. -* *Asymmetric algorithms* - ES and RSA using SHA-256, SHA-384, and SHA-512. -* *None* - No signature validation. - -For more information about the algorithms in a JWS structure, refer to the https://tools.ietf.org/html/rfc7518#section-3.1[JWA RFC standard^]. - -=== Validating Claims - -Claim validations enable you to choose the conditions under which a token received in the policy is rejected. The following registered claim validations are provided by default: - -* *aud*: The Audience validation specifies that a token must be rejected if it does not contain at least one of the values defined. -* *exp*: The Expiration validation specifies that a token must be rejected if its date is past the validation date. -* *nbf*: The Not before validation specifies that the token must be rejected if the validation time is before the time the token has. - -In addition to these _provided claims_, you can also specify other claims to use in your validations. For all claims, _Registered_ or _Custom_, you must provide the following details: - -* The name of the claim you want to validate. + -For example *iss*, for the issuer of the token. -* The value used to test. + -You can provide a simple literal value if you only need to verify it, or you can provide a DataWeave expression for more complex comparisons. - -You can define each claim validation as mandatory or non-mandatory. If a claim is defined as mandatory and is not present in the incoming JWT, the policy rejects this token. If a claim is defined as non-mandatory and is not present in the incoming JWT, the policy does not reject the token for that specific validation. + -For both cases, if a claim is present, the policy validates the token value. If the validation fails, the JWT will be rejected. - -=== Propagating Claims - -After the policy parses and validates the JWT, the claims are propagated to downstream policies and flows through the *claims* property in the authentication object. - -To access the claim values you can use the following Dataweave 2.0 expression by replacing `` with the name of the desired claim to access: - -`#[authentication.properties.claims.]` - -The JWT is also propagated downstream, and you can access it by using the following Dataweave 2.0 expression: - -`#[authentication.properties.jwt]` - -=== Retry Mechanism - -If you selected JSON Web Key Set (JWKS) as JWT Key Origin, the policy uses a retry mechanism to handle failed JWKS fetches. Every time the cached JWKS expires or is absent and a new request is initiated, a request is sent to the JWKS service. If the request fails, a sequence of asynchronous requests with an exponential backoff delay is sent to the JWKS service until a new JWKS is obtained and cached again. - -Until the recaching finishes, the expired JWKS is used to process the request, and a `503` error is returned if no request is found. Using an expired JWKS enables you to apply cached values in upcoming requests, even if the previous requests failed. - -== Obtain a Policy Compatible PEM Public Key - -If you have a preexisting RSA key in an unsupported format that you want to use, first covert the key to a PEM public key. The JWT policy uses public RSA key in PEM format. - -*Task Prerequisite* - -Before you convert your existing key: - -. Obtain the `public.pem` key. -. Before you paste the key to the policy configuration, remove the *-----BEGIN PUBLIC KEY-----* header and the *-----END PUBLIC KEY-----* footer. - -The following table provides instructions for how to convert your existing key based on its current format: - -[%header%autowidth.spread,cols="a,a"] -|=== -| Starting Point | Procedure -| No previous certificate | - -. Generate the private RSA key -`openssl genrsa -out key.pem 2048` - -. Extract the public key from the generated private key *key.pem* -`openssl rsa -in key.pem -outform PEM -pubout -out public.pem` - -. The public key will be in the file public.pem -| PEM Certificate -| . Extract the public key from the PEM certificate `openssl x509 -inform pem -in cert.pem -pubkey -noout > public.pem` -. The public key will be in the file public.pem - -| DER Certificate -| . Extract the public key from the DER certificate `openssl x509 -inform der -in cert.crt -pubkey -noout > public.pem` -. The public key will be in the file public.pem -| x5c field from JWKS -| . Copy the first certificate from the chain and decode it `echo \| base64 -D > cert.crt` (replace `` with the copied value) -. Extract the public key from the DER certificate `openssl x509 -inform der -in cert.crt -pubkey -noout > public.pem` -. The public key will be in the file public.pem -|=== diff --git a/gateway/1.6/modules/ROOT/pages/policies-included-message-logging.adoc b/gateway/1.6/modules/ROOT/pages/policies-included-message-logging.adoc deleted file mode 100644 index 634abe520..000000000 --- a/gateway/1.6/modules/ROOT/pages/policies-included-message-logging.adoc +++ /dev/null @@ -1,283 +0,0 @@ -= Message Logging Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: message logging, api gateway, flex gateway, gateway, policy -// :page-aliases: api-manager::message-logging-policy.adoc, policies::policies-included-message-logging.adoc - -[width="100%", cols="5,15"] -|=== ->s| Policy name | Message Logging ->s|Summary | Logs custom messages using information from incoming requests, responses from the backend, or information from other policies applied to the same API endpoint ->s|Category | Troubleshooting ->s|First Flex Gateway version available | v1.0.0 -.1+>.^s| Returned Status Codes -| No return codes exist for this policy -|=== - -== Summary - -The Message Logging policy logs custom messages using information from incoming requests, responses from the backend, or information from other policies applied to the same API endpoint. - -== Prerequisites - -You must have the Anypoint Platform Organization Administrators role or have permission to create or manage APIs. - -== Configuring Policy Parameters - -=== Flex Gateway Local Mode - -In Local Mode, you apply the Message Logging policy to your API via declarative configuration files. Refer to the following policy definition and table of parameters: - ----- -- policyRef: - name: message-logging-flex - config: - loggingConfiguration: - - itemName: // REQUIRED - itemData: //REQUIRED - message: // REQUIRED - conditional: // OPTIONAL - category: // OPTIONAL - level: // REQUIRED - firstSection: // OPTIONAL - secondSection: // OPTIONAL ----- - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== - -|Parameter | Required or Optional | Default Value | Description - -| `loggingConfiguration` -| Required -| N/A -| Array of configurations - -| `loggingConfiguration.itemName` -| Required -| N/A -| Configuration name - -| `loggingConfiguration.itemData.message` -| Required -| N/A -| DataWeave expression that resolves to the message log - -| `loggingConfiguration.itemData.conditional` -| Optional -| `true` -| DataWeave expression that resolves to whether the message should be logged - -| `loggingConfiguration.itemData.category` -| Optional -| Default category -| Log message prefix that indicates the package and class where the log is executed - -| `loggingConfiguration.itemData.level` -| Required -| N/A -| Defines the level of message to log: `INFO`, `WARN`, `ERROR`, or `DEBUG` + -For more information, see <>. - -| `loggingConfiguration.itemData.firstSection` -| Optional -| `false` -| Boolean that indicates if messages are logged before the API endpoint is called, taking into account the order in which this policy is applied - -| `loggingConfiguration.itemData.secondSection` -| Optional -| `false` -| Boolean that indicates if messages are logged after the API endpoint is called, taking into account the order in which this policy is applied - -|=== - -==== Resource Configuration Example - ----- -- policyRef: - name: message-logging-flex - config: - loggingConfiguration: - - itemName: "Config 1" - itemData: - message: "#[payload]" - conditional: "#[attributes.queryParams['QueryParam']=='someValue']" - level: "ERROR" - firstSection: true - - itemName: "Config 2" - itemData: - message: "#['literal string']" - level: "WARN" - secondSection: true - firstSection: true ----- - -=== Flex Gateway Connected Mode - -When you use the UI to apply the Message Logging policy to your API, you can configure the following parameters: - -image::apim-message-logging-policy-ui.png[Message Logging Policy UI] - -[%header%autowidth.spread] -|=== -|Parameter |Description | Required? -|Message |A DataWeave expression to use for extracting the message to be logged -|Required -|Conditional |A DataWeave Boolean expression used to specify whether a message is to be logged |Optional -|Category |A prefix in the log message that indicates the package and class where the log is executed. |Optional -|Level |The level of message to log: INFO, WARN, ERROR, or DEBUG. + -For more information, see <>.|Required -|Before Calling API |Set to cause your logging policy to log messages before the API endpoint is called, taking into account the order in which this policy is applied |Optional -|After Calling API |Set to cause your logging policy to log messages after the API endpoint is called, taking into account the order in which this policy is applied |Optional -|=== - -==== Example of Message Logging Policy Configured from the UI - -To better understand how to use the Message Logging policy, consider a fictional retail clothier named Les Vetments. To successfully run its e-commerce portal, Les Vetments must audit the status code of the requests made on its website. - -For example, if a customer buys or returns a product, or if the company adds or removes a product from its catalog, the transactions must be logged. The IT manager at Les Vetments applies the Message Logging policy to the company APIs to enable logging and viewing any data or transaction changes without making any modifications to the code. - -To log the attributes of the incoming and outgoing HTTP message, Les Vetments applies the Message Logging policy to the API with the following UI configurations: - -* *Message*: #[attributes] -+ -The attributes in the payload must be logged. -* *Conditional*: Blank -+ -Because Les Vetments requires all attributes, no expression to filter messages is specified. -* *Category*: Blank -+ -No prefix is required in the log sentence. -* *Level*: Info -+ -All types of messages are to be logged. The Info log level also includes Warn, Error, or Debug log messages. -* *Before Calling API*: Checked -+ -All transactions that occur before the API is called are to be logged. -* *After calling API*: Checked -+ -All transactions that occur after the API is called are to be logged. - -Following this configuration, whenever customers access the Les Vetments catalogue or add or remove items from their carts, or when an item is added or removed from the Les Vetments catalog, logs are generated: - -[source,text,linenums] ----- -********************************************************************** -* Policy: message-logging-1351146-proxy * -* OS encoding: UTF-8, Mule encoding: UTF-8 * -* * -********************************************************************** -21:56:50.147 11/30/2020 Worker-0 [MuleRuntime].uber.06: [message-logging-771181-proxy].771181-message-logging.CPU_LITE @71625864 INFO -event:184152a0-3370-11eb-b732-0a8c1820c088 org.mule.extension.http.api.HttpRequestAttributes -{ - Request path=/proxy/1 - Raw request path=/proxy/1 - Method=GET - Listener path=/proxy/* - Local Address=/172.25.159.101:8081 - Query String= - Relative Path=/proxy/1 - Masked Request Path=/1 - Remote Address=/18.191.37.179:21836 - Request Uri=/proxy/1 - Raw request Uri=/proxy/1 - Scheme=http - Version=HTTP/1.1 - Headers=[ - host=logging-policy.us-e2.cloudhub.io - x-real-ip=204.14.236.154 - accept=*/* - user-agent=curl/7.54.0 - x-forwarded-for=204.14.236.154 - x-forwarded-port=80 - x-forwarded-proto=http - x-sigsci-agentresponse=200 - x-sigsci-mac=7caf3820a5c07d06ef827f1565678167 - ] - Query Parameters=[] - URI Parameters=[] -} -21:56:50.254 11/30/2020 Worker-0 [MuleRuntime].uber.07: [logging-policy].proxy.CPU_LITE @f0ce617 INFO -event:184152a0-3370-11eb-b732-0a8c1820c088 org.mule.extension.http.api.HttpResponseAttributes -{ - Status Code=200 - Reason Phrase=OK - Headers=[ - date=Tue, 01 Dec 2020 00:56:50 GMT - content-type=application/json; charset=utf-8 - set-cookie=__cfduid=d8afa23a4627ebef39cbc54fea223cb231606784210; expires=Thu, 31-Dec-20 00:56:50 GMT; path=/; domain=.typicode.com; HttpOnly; SameSite=Lax - x-powered-by=Express - x-ratelimit-limit=1000 - x-ratelimit-remaining=999 - x-ratelimit-reset=1606784265 - vary=Origin, Accept-Encoding - access-control-allow-credentials=true - cache-control=max-age=43200 - pragma=no-cache - expires=-1 - x-content-type-options=nosniff - etag=W/"53-hfEnumeNh6YirfjyjaujcOPPT+s" - via=1.1 vegur - cf-cache-status=MISS - accept-ranges=bytes - cf-request-id=06bd666d0a0000386b7a1fc000000001 - expect-ct=max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" - report-to={"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report?s=qUAIXoQ7qqqvFzjcwGrmK2r2PcSfDZ75jFJd0Gi0BLBUMHAcnC9wJ9I%2FEHJtk%2Bra%2FXWqkA%2F5%2FlzoWoC6YS2Lew%2BqKgjhaphHqx5WrZ0CKHMalhcM9it%2Fks0qzQGwbsRzQg%3D%3D"}],"group":"cf-nel","max_age":604800} - nel={"report_to":"cf-nel","max_age":604800} - cf-ray=5fa8d9c1a8c6386b-IAD - ] -} -12:18:31.770 11/18/2020 Worker-0 agw-policy-set-deployment.01 INFO -Applied policy message-logging-1351146 version 1.0.0 to API testLoggingNew-v1-v1:16481163 (16481163) in application messagelog ----- - -To log headers, Les Vetments uses the following code snippet in the *Message* field: - -`#[attributes.headers]` - -To customize the log messages based on the event and the action performed, Les Vetments uses the following code snippet in the *Message* field: - -`#['User ' ++ authentication.clientId ++ ' performed action ' ++ attributes.method ++ ' on ' ++ attributes.requestPath ++ ' with Payload: ' ++ payload]` - -== How This Policy Works - -Logging a policy consists of the following sequence: - -. A request is sent to the API. -. The message is logged if the following conditions are true: -** The level and category of the log defined in the policy are included in the logger defined in the configuration file. -** Either the conditional field of the policy was not set, or was set and the condition was met. -. The API response is returned. Message Logging Policy does not interfere with the execution of any policy nor its flow. -. The message appears in the application log. - -== About the Logging Format - -A message log uses the following format: - -` [flex-gateway-envoy][] wasm log .default..default.svc main: [req: ] [accessLog] ` - -* `policy-name`: displays the name of the policy binding: - -* `api-name`: displays the name of the api instance: - -* `request uuid`: displays a unique identifier for the request that triggered the message. - -== Logging States During Events - -Message logging occurs at specific intervals during a request flow: - -* Before logging an API flow: -+ -image::apim-message-logging-policy-states-1.png[State before logging an API flow] -* After logging an API flow: -+ -image::apim-message-logging-policy-states-2.png[State after logging an API flow] -* Error handler after API flow: -+ -image::apim-message-logging-policy-states-3.png[State after the error handler executes] - - -// Severity Level Table -include::partial$logging-severity-level.adoc[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/policies-included-oauth-token-introspection.adoc b/gateway/1.6/modules/ROOT/pages/policies-included-oauth-token-introspection.adoc deleted file mode 100644 index 050c57877..000000000 --- a/gateway/1.6/modules/ROOT/pages/policies-included-oauth-token-introspection.adoc +++ /dev/null @@ -1,122 +0,0 @@ -= OAuth 2.0 Token Introspection Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:keywords: oauth, token, validation, introspection, policy -// :page-aliases: policies::policies-included-oauth-token-introspection.adoc - -[width="100%", cols="5,15"] -|=== ->s| Policy Name | OAuth 2.0 Token Introspection Policy ->s|Summary | Allows access only to authorized client applications ->s|Category | Security ->s| First Flex Gateway version available | v1.3.0 -.4+>.^s| Returned Status Codes -|400 - Invalid token -|401 - Unauthorized access or error when connecting to the authorization server -|403 - Forbidden, invalid client application credentials -|500 - Bad response from authorization server, or WSDL SOAP fault error -|=== - -== Summary - -The OAuth 2.0 Token Introspection policy enables you to configure OAuth 2.0 using any third-party Identify Provider (IdP), such as Okta, AWS, Azure or Google Cloud Platform. The policy allows for tokens based on the OAuth 2.0 Authorization Framework to be authorized without having to register an external IdP server in the Anypoint Platform. - -The policy validates the token sent by the client to the protected API, and allows access to the backend server only if the introspection endpoint authorizes the token. - -== Configuring Policy Parameters - -=== Flex Gateway - -To apply OAuth 2.0 token introspection when using Flex Gateway as your runtime, you must manually configure the policy in a YAML configuration file. Refer to the following policy definition and table of parameters: - ----- -- policyRef: - name: oauth2-token-introspection-flex - config: - introspectionURL: // REQUIRED - authorizationValue: // REQUIRED - validatedTokenTTL: // OPTIONAL - authenticationTimeout: // OPTIONAL - skipClientIdValidation: // REQUIRED - consumerBy: // REQUIRED - exposeHeaders: // OPTIONAL - scopes: // OPTIONAL - scopeValidationCriteria: // OPTIONAL - maxCacheEntries: // OPTIONAL ----- - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== -|Parameter | Required or Optional | Default Value | Description - -| `introspectionURL` -| Required -| -| The third-party token introspection URL - -| `authorizationValue` -| Required -| -| The method to request authorization from the authentication service. Specify either a Basic Auth string with `client_id` and `client_secret`, or a Bearer Token. - -| `validatedTokenTTL` -| Optional -| 600 -| The caching limit for the validated token - -| `authenticationTimeout` -| Optional -| 10000 -| The timeout when sending data to the authentication service - -| `skipClientIdValidation` -| Required -| false -| Enables/disables client ID enforcement support - -| `consumerBy` -| Required -| -| Associate an identity provider's `username` or `client_id` response with a registered platform's `client_id`. Required if `skip_client_id_validation`is `true`. - -| `exposeHeaders` -| Optional -| false -| - -| `scopes` -| Optional -| "" -| A space-delimited list - -| `scopeValidationCriteria` -| Optional -| "AND" -| The criteria to apply to the `scopes` values. Valid parameter values are "AND" or "OR". - -| `maxCacheEntries` -| Optional -| 1000 -| - -|=== - -==== Resource Configuration Example - -[source,yaml] ----- -- policyRef: - name: oauth2-token-introspection-flex - config: - introspectionURL: https://my-introspection.com/introspect - authorizationValue: Basic am9obkBleGFtcGxlLmNvbTphYmMxMjM= - validatedTokenTTL: 600 - authenticationTimeout: 10000 - skipClientIdValidation: false - consumerBy: "client_id" - exposeHeaders: true - scopes: "profile email shopping" - scopeValidationCriteria: "AND" - maxCacheEntries: 1000 ----- diff --git a/gateway/1.6/modules/ROOT/pages/policies-included-openid-token-enforcement.adoc b/gateway/1.6/modules/ROOT/pages/policies-included-openid-token-enforcement.adoc deleted file mode 100644 index 99303d599..000000000 --- a/gateway/1.6/modules/ROOT/pages/policies-included-openid-token-enforcement.adoc +++ /dev/null @@ -1,278 +0,0 @@ -= OpenID Connect OAuth 2.0 Token Enforcement Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: open, id, oauth 2.0, token, enforcement, api gateway, flex gateway, gateway, policy -// :page-aliases: api-manager::policy-openid-connect.adoc, policies::policies-included-openid-token-enforcement.adoc - -[width="100%", cols="5,15"] -|=== ->s| Policy Name | OpenID Connect OAuth 2.0 Token Enforcement ->s|Summary | Allows access only to authorized client applications ->s|Category | Security ->s| First Flex Gateway version available | v1.0.0 -.4+>.^s| Returned Status Codes -|400 - Invalid token -|401 - Unauthorized access or error when connecting to the authorization server -|403 - Forbidden, invalid client application credentials -|500 - Bad response from authorization server -|=== - -== Summary - -The OpenID Connect Access Token Enforcement policy restricts access to a protected resource to only those HTTP requests that provide a valid Oauth2 token belonging to a client application with API access. The policy does not generate tokens but only validates them. - -This policy is available only to an organization that is configured to use the OpenID Connect dynamic client registration as a xref:access-management::configure-client-management-openid-task.adoc[client-management solution]. - -== Configuring Policy Parameters - -=== Flex Gateway Local Mode - -In Local Mode, you apply the OpenID Connect Access Token Enforcement policy to your API via declarative configuration files. Refer to the following policy definition and table of parameters: - ----- -- policyRef: - name: openidconnect-access-token-enforcement-flex - config: - authenticationTimeout: // OPTIONAL, default: 10000 - scopes: // OPTIONAL, default: "" - secureTrustStore: // OPTIONAL, default: false - scopeValidationCriteria: // OPTIONAL, default: "AND" - exposeHeaders: // OPTIONAL, default: false - skipClientIdValidation: // OPTIONAL, default: true - maxFederationExpirationTime: // OPTIONAL, default: -1 - maxCacheSize: // OPTIONAL, default: 1000 ----- - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== - -|Parameter | Required or Optional | Default Value | Description - -| `authenticationTimeout` -| Optional -| 10000 -| - -| `scopes` -| Optional -| An empty string -| A space-separated list of supported scopes: `read` `write` - -| `secureTrustStore` -| Optional -| `false` -| - -| `scopeValidationCriteria` -| Optional -| "AND" -| Determines if the token must contain all defined scopes or just one - -| `exposeHeaders` -| Optional -| `false` -| In a proxy scenario, this specifies whether headers must be exposed in the request to the backend. User properties returned by the federation server are prefixed with 'X-AGW-' and sent as headers to the backend. - -See <> for more information about this parameter. - -| `skipClientIdValidation` -| Optional -| `true` -| Skips the client application's API contract validation. If `true`, Step 4 of the diagram in the <> section is skipped. - -| `maxFederationExpirationTime` -| Optional -| -1 -| Max Expiration time in seconds. - -See <> for more information about this parameter. - -| `maxCacheSize` -| Optional -| 1000 -| Amount of tokens to be cached. - -See <> for more information about this parameter. - -|=== - -==== Resource Configuration Example - ----- -- policyRef: - name: openidconnect-access-token-enforcement-flex - config: - authenticationTimeout: 10000 - scopes: read write - secureTrustStore: false - scopeValidationCriteria: OR - exposeHeaders: true - skipClientIdValidation: false ----- - -=== Flex Gateway Connected Mode - -When you apply the policy to your API from the UI, a list of parameters is displayed: - -==== Configuring Parameters for Flex Gateway - -The following parameters are displayed: - -[%header%autowidth.spread,cols="30,40,30"] -|=== -| Element | Description | Example -| Scopes | Displays a space-separated list of supported scopes. | READ, WRITE, READ and WRITE -| Scope Validation Criteria | Determines if the token must contain all defined scopes or just one. -The values are `Contains all scopes` and `Contains any scope`. | -If the 'Contains all scopes' value is selected, the tokens with the scopes `READ` and `WRITE` are accepted. If the 'Contains any scopes' value is selected, the tokens with the scopes `READ, WRITE, and READ AND WRITE` are accepted. -| Expose Headers | In a proxy scenario, specifies whether headers must be exposed in the request to the backend. User properties returned by the federation server are prefixed with 'X-AGW-' and sent as headers to the backend. | -| Skip Client Id Validation | Skips the client application's API contract validation. | If selected, Step 4 of the diagram in the <> section is skipped. -| Authentication request timeout | Sets the maximum time, in milliseconds, to wait for a response when authenticating with the Access Token validation endpoint. | `10000` -|=== - -==== Configuring Parameters for Non-Mule Applications (Anypoint Service Mesh) - -For non-Mule applications that are managed by Anypoint Service Mesh, the following parameters are displayed: - -[%header%autowidth.spread,cols="30,40,30"] -|=== -| Element | Description | Example -| Scopes | Displays a space-separated list of supported scopes. | `READ`, `WRITE`, `READ AND WRITE` -| Skip Client Id Validation | Skips the client application's API contract validation. | If selected, the Step 4 of the diagram in the <> section is skipped. -|=== - -[[how-this-policy-works]] -== How This Policy Works - -The following diagram illustrates the OpenID Connect Access Token Enforcement policy workflow: - -image:open-id-policy-workflow.png[OpenID Connect OAuth 2.0 Token Enforcement Workflow] - -As shown in the diagram: - -. The user first sends an HTTP request to the API protected by the policy. -. The policy extracts the token from the request and sends it to the validation endpoint to verify the integrity of the token. -. The token validation endpoint returns token metadata, including the client ID of the client application. -. Using a local database updated with contracts previously obtained from Anypoint Platform, the policy verifies whether the client ID has access to the API. -. If all the validations are successfully completed, the request is allowed to reach the backend. - -[[leveraging-TVE-information]] -=== Leveraging Token Validation Endpoint Information - -When a token validation endpoint successfully validates a token, certain information, such as configurable fields from OpenID Connect, are returned to the policy. - -The following example illustrates the token validation response from the authorization server: - -[source,text,linenums] ----- -{ - "uid":"john.doe", - "mail":"john.doe@example.com" - "token_type":"Bearer", - "exp": 1516239022 - "alias" : ["Jhon", "Jhonny", "Mr Doe"], - "address" : { - "city": "london", - "road": “abbey road" - } -} ----- - -The fields returned by the OAuth provider are processed by the policy, propagated throughout the flow, and finally exposed to the backend if the application requesting the access uses an HTTP requester. - -[[token-caching]] -=== Token Caching in Local Mode - -After the system validates a token, that token is cached (by default), until it expires, thereby improving the performance of the policy. In certain cases, such as in the case of revoked tokens, you might want to minimize or even disable caching. - -The validation endpoint sends multiple properties to the policy, including the expiration time of the token. If the expiration information is not available, tokens are not cached. - -To control the time taken to cache the tokens, before you attempt revalidating against the token validation endpoint, configure the following parameter in your declarative configuration file: - ----- - - policyRef: - name: openidconnect-access-token-enforcement-flex - config: - ... - maxFederationExpirationTime: ----- - -Setting this property caches the token for the specified amount of time or until the tokens expire, whichever occurs first. If you have enabled this property and the validation endpoint does not send the expiration information, tokens are not cached. - -To control the number of tokens that can be cached simultaneously, configure the following parameter in your declarative configuration file. - ----- - - policyRef: - name: openidconnect-access-token-enforcement-flex - config: - ... - maxCacheSize: ----- - -[[token-validation-endpoint-authentication]] -=== Token Validation Endpoint Authentication - -To complete validating the provided token, the policy sends a request to the validation endpoint. The policy then obtains the credentials from the client provider configuration in access management, per the Token Introspection Client section of the OAuth 2.0 Authorization Framework specification. These credentials are sent in the request body, as specified in the https://tools.ietf.org/html/rfc6749#section-2.3[Client Authentication section of the OAuth 2.0 Authorization Framework specification^]. - -Other authentication methods for the token validation endpoint are currently not supported. - -== Configuring the Expose Headers Option - -If you configured the `Expose Headers` option in the policy and if the application (for example, out-of-the-box proxies) uses the HTTP requester, the properties are redirected to the backend as headers. - -For each field, the original request to the protected resource is enriched with the HTTP headers using the format: X-AGW- + =. For the example response from the previous section, the following headers are added: - -[source,text,linenums] ----- -X-AGW-uid=john.doe -X-AGW-mail=john.doe@example.com -X-AGW-token_type=Bearer ----- - -The propagated properties do not include the `scope`, and `exp` objects and arrays. - -For further processing within the flow, the original unparsed response from the validation endpoint is made available. The information is stored in an authentication object. - -For example, if a `mail` field is returned to the policy, you can access the value of the field by using the following DataWeave 2.0 expression: - -`#[authentication.properties.userProperties.mail]` - -You can obtain the client ID of the OAuth2 token by using the following DataWeave 2.0 expression: - -`#[authentication.principal]` - -// == Communicating with the Token Validation Endpoint Using a Proxy -// -// You can enable the OpenID Connect OAuth 2.0 Token Enforcement policy to use the gateway proxy settings by specify the following property when starting the Mule runtime engine: -// -// `anypoint.platform.external_authentication_provider_enable_proxy_settings=` -// -// When you enable this property, the policy uses the Mule proxy settings, if you have specified the following parameters: -// -// * `anypoint.platform.proxy_host=localhost` -// * `anypoint.platform.proxy_port=8080` - -== FAQs - -*The OpenID Connect Access Token Enforcement policy does not appear in the list of policies to apply to the API.* - -If the policy does not appear in the policies list, ensure that you have configured the OpenID client provider in Access Management. For information, see xref:access-management::configure-client-management-openid-task.adoc[Configure OpenID Connect Client Management]. If you are using xref:api-manager::configure-multiple-credential-providers.adoc[multiple IdPs], verify that the OpenID connect client is properly configured in the API. - - -*Can I generate OAuth 2.0 tokens with the policy?* - -No. The policy only validates the tokens. - -*How are the OAuth tokens cached?* - -OAuth 2.0 tokens are cached only in memory and are never written to disk. - -*Can I configure the Rate-Limiting SLA policy after I configure the OpenID Connect Access Token Enforcement policy?* - -Yes, you can. Apply the Rate-Limiting SLA policy after the OpenID Connect Access Token Enforcement policy and provide a `Client ID Expression` value using the following DataWeave 2.0 expression: - -`#[authentication.principal]` - -Because the identity of the requester is already validated by the OpenID Connect Access Token Enforcement policy, you can leave the `Client Secret Expression` field empty. diff --git a/gateway/1.6/modules/ROOT/pages/policies-included-rate-limiting-sla.adoc b/gateway/1.6/modules/ROOT/pages/policies-included-rate-limiting-sla.adoc deleted file mode 100644 index ba58dad36..000000000 --- a/gateway/1.6/modules/ROOT/pages/policies-included-rate-limiting-sla.adoc +++ /dev/null @@ -1,199 +0,0 @@ -= Rate Limiting: SLA-Based Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: rate-limiting sla, api gateway, flex gateway, gateway, policy -// :page-aliases: api-manager::rate-limiting-sla-policy.adoc, api-manager::rate-limiting-and-throttling-sla-based-policies.adoc, api-manager::tutorial-manage-an-api.adoc, policies::policies-included-rate-limiting-sla.adoc - -[%autowidth.spread,cols="a,a"] -|=== ->s| Policy name | Rate-limiting SLA ->s| Summary | Monitors access to an API by defining the maximum number of requests processed within a timespan, based on SLAs ->s| Category | Quality of Service ->s| First Flex Gateway version available | v1.2.0 -.4+>.^s| Returned Status Codes -|401 - Request blocked due to invalid client credentials (client ID or client secret) provided -|429 - Quota exceeded; requests blocked until the current window finishes -|=== - -== Summary - -The Rate-Limiting Service Level Agreement (SLA) policy enables you to control incoming traffic to an API by limiting the number of requests that the API can receive within a given timespan. When the limit is reached before the time expires, the policy rejects all requests, thereby avoiding any additional load on the backend API. - -To apply the Rate-Limiting SLA policy to an API, you must first create a contract between the API and a registered client application. The number of requests that an API can receive within a given time is defined in the xref:api-manager::manage-client-apps-latest-task.adoc[contracts] section in API Manager. - -Each request must be identified by a client ID and an optional client secret (depending on the policy configuration). To review how to obtain the client credentials of a registered client application, see xref:api-manager::access-client-app-id-task.adoc[Obtaining Client Credentials of a Registered Application]. - -[NOTE] -==== -A Rate-Limiting SLA policy applied to a Flex Gateway API is scoped to replicas, not the gateway. -==== - -== Configuring Policy Parameters - -=== Flex Gateway Local Mode - -The Rate-Limiting SLA policy is not supported in Local Mode. - -=== Flex Gateway Connected Mode - -When you apply the policy to your API from the UI, a list of parameters are displayed. - -=== Configuring Policy Parameters - -[%header%autowidth.spread,cols="a,a,a"] -|=== -|Parameter | Description | Example -|Client ID Expression | A DataWeave expression that resolves the Client Application’s ID for a Contract of the API | Only one rate-limiting algorithm is created per ID: -`#[attributes.headers['client_id']]` -This example looks for an HTTP header called ‘client_id’ and uses its value. -|Client Secret Expression | A DataWeave expression that resolves the Client application’s client secret for a contract of the API | -This is an optional value. -Example: `#[attributes.headers['client_secret']]` -|Distributed | When using interconnected runtimes with this flag enabled, quota will be shared among all nodes -| Expose Headers| Defines whether to expose the <> as part of the response | Checked or unchecked -|=== - -==== Distributed Rate Limit SLA Resource Configuration Example - -Distributed Rate-Limiting requires Shared Storage to be enabled. For more information about Shared Storage, refer to xref:flex-conn-shared-storage-config.adoc[Configuring Shared Storage for Flex Gateway in Connected Mode]. - -=== Configuring Policy Parameters for Anypoint Service Mesh (Non-Mule Applications) - -The Rate-Limiting SLA policy works in the same way for Anypoint Service Mesh (non-Mule applications), excluding the following differences: - -* The policy does not offer the option to expose headers -* The client ID and client secret retrieving parameters differ, as explained in the following table. - -[%header%autowidth.spread,cols="a,a,a"] -|=== -| Element | Description | Required -| Credentials Origin -| Origin of the client ID and client secret credentials: - -* `client_id` and `client_secret` headers -* Custom headers -| Yes - -| Client ID Header -| The header name from where to extract the client ID in API requests -| Yes, if you set the credentials origin to *Custom Headers* - -| Client Secret Header -| The header name from where to extract the client secret in API requests -| No -|=== - -== How This Policy Works - -The Rate-Limiting SLA policy monitors the number of requests made in the current window (the available quota), allowing the requests to reach the backend only if the available quota is greater than zero. - -Because each client defines a separate available quota for their window, the client application must define an SLA with the API (a contract). Therefore, to verify whether the request is within the SLA limit, you must define a way to obtain the client ID from the request, and optionally the client Secret. - -After a contract is created between a client application and an API, API gateway automatically manages these contracts by monitoring your API Manager configurations. Additionally, API gateway implements high-availability strategies in case of unexpected downtime in the Anypoint Platform management plane. - -To understand how the Rate-Limiting SLA policy works, consider an example in which the configuration of an SLA of 3 requests every 10 seconds for the client with ID “ID#1” allows or restricts the request, based on the quota available in that window: - -image:rate-limiting-sla-general.png[Rate-Limiting SLA Policy,75%,85%] - -In the example: - -* Requests of client with ID “ID#1”: - -In the first window, because the quota is reached with the third request, all subsequent requests are rejected until the window closes. In the second window, only two of the three requests are processed. Because the time elapses in this window, the remaining quota is unused. - -An accepted request passes through the API to the backend. Conversely, a rejected request displays a `429 status for HTTP` (or 400, or 500 if the API is WSDL) and does not reach the backend. - -* Requests of Client with ID “ID#2”: - -Because the client has no contract defined for the API, every request is rejected , and therefore no request is allowed. - -An API might have several contracts, each with its own SLA. The Rate-Limiting SLA policy independently monitors the quota (and windows) available for each client by creating one rate-limiting algorithm per contract. With the first request to the API, algorithms are created using the _lazy creation_ strategy. - -// == Configuring the Policy -// -// When you configure your Rate-Limiting SLA policy, you must consider certain aspects of your environment to help you derive the most value from the policy. - -// === Choosing Between a Cluster or a Standalone Configuration -// -// If you use only one Client application as an authorization mechanism in your server, the same recommendations as in the Rate-Limiting policy applies to your use case. You might have several Mule instances and you might map different client applications to different servers in the load balancer. -// -// In such a scenario, you do not need to use a Mule cluster. Each standalone node creates a rate-limiting algorithm for the clients they exclusively serve. Conversely, you might want to achieve high availability for your servers and have several client applications configured. -// -// Mule clusters count the SLA quota for each client throughout the cluster and thus are a best fit for this use case. The Rate-Limiting SLA policy is designed to work under both balanced and unbalanced workloads. Because the backend does not receive any extra requests, its maximum capacity is not exceeded. -// -// === Choosing Window Sizes for Cluster Nodes -// -// In a cluster configuration, the nodes must share information across the cluster for consistency. The sharing process adds latency that must be taken into account when reviewing performance. -// -// In a worst case scenario, the number of penalized requests with latency due to cluster consistency is constant and independent from the actual size of the configured quota. Consequently, the smaller the window, the greater the percentage of potentially delayed requests. -// -// Therefore, you must set up window sizes greater than one minute in Rate Limiting and Rate-Limiting SLA policy configurations only for a cluster scenario. -// -// === Choosing Persistence for Your Rate-Limiting SLA Policy (Mule only) -// -// You can configure your Rate-Limiting SLA policy to use windows that persist as long as days, months, and years. For example, suppose you want to allow your user to consume 1 million requests per year, but you cannot ensure that the node will be up the entire period or will need maintenance, which may result in restarting the Mule runtime engine. -// -// The algorithm has been running for several months, so the client will lose critical information. Persistence solves this problem by periodically saving the current policy state. In case of a redeployment or a restart, the algorithms are recreated from the last known persisted state or started from a clean state. -// -// Although persistence is enabled by default, you can turn it off by setting the following property to false: -// -// `throttling.persistence_enabled` -// -// You can also tweak the persistence frequency rate, which has a default of 10 seconds: -// -// `throttling.persistent_data_update_freq` -// -// [NOTE] -// ==== -// Persistence is not available on CloudHub. -// ==== - -== FAQ - -*When does the window start?* - -The window starts with the first request after the policy is successfully applied. - -*What type of window does the algorithm use?* - -It uses a fixed window. - -*What happens when the quota is exhausted?* - -The algorithm is created on demand, when the first request is received. This event fixes the time window. Each request consumes the request quota from the current window until the time expires. - -When the request quota is exhausted, the Rate-Limiting SLA policy rejects the request. When the time window closes, the request quota is reset and a new window of the same fixed size starts. - -*What happens if I define multiple limits within an SLA ?* - -The policy creates one algorithm for each Limit with the request quota per time window configuration. Therefore, when multiple limits are configured, every algorithm must have its own available quota within the current window for the request to be accepted. - -[[response-header]] -*What does each response header mean?* - -Each response header has information about the current state of the request: - -* X-Ratelimit-Remaining: The amount of available quota -* X-Ratelimit-Limit: The maximum available requests per window -* X-Ratelimit-Reset: The remaining time, in milliseconds, until a new window starts - -By default, the X-RateLimit headers are disabled in the response. You can enable these headers by selecting *Expose Headers* when you configure the policy. - -[NOTE] -==== -When on distributed mode, the X-Ratelimit-Remaining header is not perfectly synchronized with all the replicas. With multiple replicas on distributed mode, the X-Ratelimit-Remaining header is an estimation of how much quota the replica has available for itself. It does not represent the actual value of the remaining quota available for the API. - -The following describes a valid scenario: - -* Created a SLA tier name "Titanium" having rate limit of "999999999 req per 10 min" -* Sent 1 request to replica 1 -> x-ratelimit-remaining : 999999998 -* Sent 1 request to replica 2 -> x-ratelimit-remaining : 899999998 - -This does not mean that the quota will be surpassed. -==== - -*When should I use Rate Limiting instead of Rate-Limiting SLA or Spike Control?* - -Use Rate Limiting and Rate-Limiting SLA policies for accountability and to enforce a hard limit to a group (using the identifier in Rate Limiting) or to a client application (using Rate Limiting-SLA). If you want to protect your backend, use the Spike Control policy instead. diff --git a/gateway/1.6/modules/ROOT/pages/policies-included-rate-limiting.adoc b/gateway/1.6/modules/ROOT/pages/policies-included-rate-limiting.adoc deleted file mode 100644 index 367488886..000000000 --- a/gateway/1.6/modules/ROOT/pages/policies-included-rate-limiting.adoc +++ /dev/null @@ -1,299 +0,0 @@ -= Rate Limiting Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: rate limiting, api gateway, flex gateway, gateway, policy -// :page-aliases: api-manager::rate-limiting.adoc, api-manager::rate-limiting-and-throttling.adoc, api-manager::to-configure-provider-multiple-workers.adoc, policies::policies-included-rate-limiting.adoc - -[%autowidth.spread,cols="a,a"] -|=== ->s| Policy name | Rate Limiting ->s| Summary | Monitors access to an API by defining the maximum number of requests processed within a period of time ->s| Category | Quality of Service ->s| First Flex Gateway version available | v1.2.0 -.4+>.^s| Returned Status Codes -|429 - Quota exceeded, requests are blocked until the current window finishes -|=== - -== Summary - -The Rate Limiting policy enables you to control the incoming traffic to an API by limiting the number of requests that the API can receive within a given period of time. After the limit is reached, the policy rejects all requests, thereby avoiding any additional load on the backend API. - -When you configure the Rate Limiting policy, you can specify any number of pairs of quota (number of requests) and time window (time period) values. - -[NOTE] -==== -A Rate Limiting policy applied to a Flex Gateway API is scoped to replicas, not the gateway. -==== - -== Configuring Policy Parameters - -=== Flex Gateway Local Mode - -In Local Mode, you apply the Rate Limiting policy to your API via declarative configuration files. Refer to the following policy definition and table of parameters: - ----- -- policyRef: - name: rate-limiting-flex - config: - rateLimits: // REQUIRED - - maximumRequests: // REQUIRED - timePeriodInMilliseconds: // REQUIRED - keySelector: // OPTIONAL - exposeHeaders: // OPTIONAL, default: false - clusterizable: // OPTIONAL, default: true ----- - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== -|Parameter | Required or Optional | Default Value | Description - -| `rateLimits` -| Required -| N/A -| An map containing one or more rate limit specifications - -| `rateLimits.maximumRequests` -| Required -| N/A -| The quota number available per window - -| `rateLimits.timePeriodInMilliseconds` -| Required -| N/A -| The amount of time (a number) for which the quota is to be applied - -| `keySelector` -| Optional -| N/A -| DataWeave expression selector key string that creates a group with independent counters for each value resolved by the expression. - -For example, `#[attributes.queryParams['identifier']]` creates an independent counter group for requests containing an `identifier` query parameter. - -| `exposeHeaders` -| Optional -| `false` -| The boolean option that defines whether to expose the <> as part of the response - -| `clusterizable` -| Optional -| `true` -| Distributed: When using interconnected runtimes with this flag enabled, quota will be shared among all nodes - -|=== - -==== Resource Configuration Example - -The following example defines a rate limit of three requests every six seconds: - ----- -- policyRef: - name: rate-limiting-flex - config: - rateLimits: - - maximumRequests: 3 - timePeriodInMilliseconds: 6000 - keySelector: "#[attributes.method]" - exposeHeaders: true - clusterizable: false ----- - -//#[attributes.queryParams['identifier']] - -The `#[attributes.method]` DataWeave expression creates one group for each available method in HTTP, for example, the policy rate-limits GET requests independently of POST requests. - -==== Distributed Rate Limit Resource Configuration Example - -Distributed Rate Limit requires Shared Storage to be enabled. For more information about Shared Storage, refer to xref:flex-conn-shared-storage-config.adoc[Configuring Shared Storage for Flex Gateway in Connected Mode]. - ----- - ---- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Configuration -metadata: - name: shared-storage-redis -spec: - sharedStorage: - redis: - address: redis:6379 - user: user - password: pass - DB: 1 - ---- -- policyRef: - name: rate-limiting-flex - config: - rateLimits: - - maximumRequests: 3 - timePeriodInMilliseconds: 6000 - keySelector: "#[attributes.method]" - exposeHeaders: true - clusterizable: true ----- - -=== Flex Gateway Connected Mode - -When you apply the Rate Limiting policy to your API from the UI, you can configure the following parameters: - -[%header%autowidth.spread,cols="a,a,a"] -|=== -|Parameter | Description | Example -|Identifier | The selector key using a DataWeave or regular String | `#[attributes.method]` creates one group for each available method in HTTP, for example, the policy rate-limits GET requests independently from POST requests. -|Number of Reqs | The quota available per window | A positive number -|Time Period | The amount of time for which the quota is to be applied | A positive number -|Time Unit | The time in milliseconds, seconds, minutes, or hours | Minutes -|Distributed | When using interconnected runtimes with this flag enabled, quota will be shared among all nodes. | checked or unchecked -| Expose Headers| The option that defines whether to expose the <> as part of the response | checked or unchecked -|=== - -== How This Policy Works - -The Rate Limiting policy monitors the number of requests made in the current window (the available quota), allowing the requests to reach the backend only if the available quota is greater than zero. - -You can configure the policy for multiple groups of requests by using identifiers in the policy configuration. Each group has a separate available quota for its window. - -To understand how the Rate Limiting policy works, consider an example in which the configuration of 3 requests every 10 seconds allows or restricts incoming requests, based on the quota available in that window: - -image::rate-limiting-generic-example.png[Rate Limiting Policy Example,80%] - -In the first window, because the quota is reached with the third request, all subsequent requests are rejected until the window closes. In the second window, only two of the three requests are processed and the quota remaining is dropped after the window time has elapsed. - -An accepted request passes through the API to the backend. Conversely, a rejected request displays 429 status for HTTP (or either 400 or 500 if the API is WSDL) and does not reach the backend. - -A rejected request on the other hand, displays a “429 status for HTTP, ” (or either 400 or 500 if the API is WSDL) and does not reach the backend. - -== Examples - -Consider the previously described configuration of 3 requests every 10 seconds and how it works when the Rate Limiting policy is configured for clusters and uses identifiers. - -=== Configuring Identifiers by Using Regular Strings - -When you use the UI to add identifiers to the policy configuration, you can define groups of requests. The configured limits apply independently to each group. You can also use the identifier `#[attributes.method]` for one bucket per HTTP method in your Rate Limiting policy configuration. - -//If you can split the universe of possible requests into a finite number of groups, you can assign each group with a selector key (String). One Rate Limit algorithm is created per key. - -An `Identifier` in the UI is a non-obligatory parameter. By default, the `Identifier` has no value. Based on whether you accept the default or provide a value, the policy performs in the following ways: - -* Not configured (default) -+ -The Rate Limiting quota applies to every request per bucket or group. -* Configured for an obligatory HTTP header -+ -Each header has its own quota. Header values are case-sensitive. Quotas are created using the _lazy creation_ strategy. -* Configured for a non-obligatory HTTP header -+ -Custom header, payload, query parameter, or expression values each have their own quotas. -+ -The identifier, if not sent in the request, defaults to an empty value, having its own quota. This behavior allows the Rate Limiting policy to be applied to an API consumed by uncontrolled clients, and at the same time accommodates special buckets for the clients sending the identifier. - -The following example shows the order of events that occur over a period of time using the identifier `#[attributes.method]` for a limit of 3 requests every 10 seconds: - -image::rate-limiting-configure-identifiers-example.png[Rate Limiting Configure Identifiers Example,80%] -In the example: - -* Every HTTP method is allowed 3 requests every 10 seconds (in this example, only GET and POST requests are made to the API). -* The Rate Limiting policy works in a fixed-window fashion. -+ -For more information, see the fixed-window size bracket in the diagram. -* The window start times are independent. -* The engine uses a _lazy creation_ strategy that spools a rate-limiting algorithm whenever the first request for a method is received. - -=== Configuring Identifiers by Using DataWeave Expressions - -The rate-limiting engine, which is HTTP agnostic, depends solely on the resolution of the DataWeave expression. You can alter the `Identifier` expression in the UI to cover complex rate-limiting scenarios. - -For example, you can configure a Rate Limiting policy with an identifier that uses one bucket for all Class A and Class C LAN requests and another bucket for everything else. The following image illustrates the second bucket in the previous sentence, which corresponds to 3 requests per 10 seconds quota with the DataWeave expression `#[attributes.queryParam[‘customIdentifier’]]` as the policy identifier: - -image::rate-limiting-configure-identifiers-dataweave.png[Rate Limiting Configure Identifiers with DataWeave,80%] - -In the example: - -* All requests without the identifier are resolved to the empty identifier and therefore use a single rate-limiting algorithm. -* Each different identifier uses a different bucket, each bucket with its own independent quota. - -This configuration creates a false or a true bucket that corresponds to the locality of the IP that made the request. The `false` and `true` values correspond to the domain of boolean values and not HTTP. - -Nevertheless, the policy works correctly because the engine treats the resolved expression as a String. In this case, the value is automatically cast from Boolean to String. You can explicitly define casting in DataWeave by adding `output text/plain ---` to your script. - -[NOTE] -==== -The HTTP RFC header names are case-insensitive. Anypoint Connector for MuleSoft HTTP changes header names to lowercase characters. However, the DataWeave key is case-sensitive. Therefore, when creating the `Identifier` expression, remember to reference headers in lowercase. -==== - -=== Configuring Unbound Identifier Sets - -Every identifier result has one algorithm. You must carefully create a DataWeave expression that does not return an unbound or a very large co-domain, which requires hosting the same number of algorithms in memory (at least a request for every possible identifier has to be made, because algorithms are created using the _lazy creation_ strategy). - -For example, suppose the DataWeave expression uses the IP address as the identifier in a Flex Gateway instance that is public to the internet. If every public IPv4 IP on the internet makes a request to this instance, there will be 3,706,452,992 algorithms running in a single instance. - -At an average of 250 bytes per algorithm, this amounts to approximately 1 terabyte in rate-limit algorithms. Therefore, use a DataWeave expression that resolves to a finite number of identifier to keep the resulting set as small as possible. - -// == Configuring Your Rate Limiting Policy -// -// When you configure your Rate Limiting policy, you must consider certain aspects of your environment to help you derive the most value from the policy. -// -// === Choosing Between a Cluster or a Standalone Configuration -// -// You might have decentralized processing in your environment, with the following setup: -// -// * You have more than one servers for the same API. -// * Each server has its own backend. -// * The number of requests that can be served is limited only by the backend. -// * You require the fastest response time. -// -// In such a scenario, you do not need to run the policy in a clustered setup. Simply set the policy limits of the policy lower than the backend capacity of the weakest of the nodes. Additionally, a load balancer might be useful in case a node goes down. -// -// Alternatively, you might have centralized processing in your environment, with the following setup: -// -// * You have more than one servers for the same API. -// * You have a single backend to which all of the proxies connect. -// * You have a load balancer in front of the proxies -// -// In such a scenario, you do not need a cluster. However, you must then configure the policy to have a value lower than the maximum capacity of the backend. -// -// If your environment does not include load balancers, use a cluster instead of a standalone instance to be certain that your nodes can manage varying levels of traffic. The Rate Limiting policy is designed to work under both balanced and unbalanced workloads. Because the backend does not receive any extra requests, its maximum capacity is not exceeded. -// -// === Choosing Window Sizes for Cluster Nodes -// -// Configure your environment to use processing windows longer than one minute, to prevent the latency potential caused by information sharing among nodes in a cluster. -// -// This configuration recommendation applies to both Rate Limiting and Rate Limiting-SLA policies in a cluster scenario. - -== FAQ - -*When does the window start?* - -The window starts with the first request after the policy is successfully applied. - -*What type of window does the algorithm use?* - -It uses a fixed window. - -*What happens when the quota is exhausted?* - -The algorithm is created on demand, when the first request is received. This event fixes the time window. Each request consumes the request quota from the current window until the time expires. - -When the request quota is exhausted, the Rate Limiting policy rejects the request. When the time window closes, the request quota is reset and a new window of the same fixed size starts. - -*What happens if I define multiple limits?* - -The policy creates one algorithm for each Limit with the request quota per time window configuration. Therefore, when multiple limits are configured, every algorithm must have its own available quota within the current window for the request to be accepted. - -[[response-header]] -*What does each response header mean?* - -Each response header has information about the current state of the request: - -* X-Ratelimit-Remaining: The amount of available quota -* X-Ratelimit-Limit: The maximum available requests per window -* X-Ratelimit-Reset: The remaining time, in milliseconds, until a new window starts - -By default, the X-RateLimit headers are disabled in the response. You can enable these headers by selecting *Expose Headers* when you configure the policy. - -*When should I use Rate Limiting instead of Rate-Limiting SLA or Spike Control?* - -Use Rate Limiting and *Rate-Limiting SLA* policies for accountability and to enforce a hard limit to a group (using the identifier in Rate Limiting) or to a client application (using *Rate-Limiting SLA*). If you want to protect your backend, use the *Spike Control* policy instead. - diff --git a/gateway/1.6/modules/ROOT/pages/policies-included-schema-validation.adoc b/gateway/1.6/modules/ROOT/pages/policies-included-schema-validation.adoc deleted file mode 100644 index 731f328f6..000000000 --- a/gateway/1.6/modules/ROOT/pages/policies-included-schema-validation.adoc +++ /dev/null @@ -1,128 +0,0 @@ -= Schema Validation Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: oas3, schema validation, api gateway, flex gateway, gateway, policy -// :page-aliases: policies::policies-included-schema-validation.adoc - -[width="100%", cols="5,15"] -|=== ->s|Policy Name| Schema Validation Policy ->s|Summary| Validates incoming traffic against a supplied API schema ->s|Category| Security ->s|First Flex Gateway version available | v1.4.0 ->s|Returned Status Codes| 400 - The request properties do not comply with the API specifications. -|=== - -== Summary - -NOTE: The Schema Validation policy only supports REST APIs and currently only supports OpenAPI Specification 3.0 (OAS3) schema validations. - -Applications processing REST API requests are susceptible to attacks such as header injection and payload injection. Additional vulnerabilities can lead to the access of sensitive information. The Schema Validation policy protects against such attacks and vulnerabilities by validating traffic against a supplied API specification. - -There are many ways to upload REST API specifications, but using Exchange is the easiest way. To upload an API specification to Exchange, see xref:exchange::to-create-an-asset.adoc[Create an Exchange Asset]. - -Flex Gateway supports schemas defined in JSON or YAML, contained in a single file. - -The Schema Validation policy validates request headers, queries, or path parameters. - -Requests only include support for JSON format with content type `application/json`. - -You configure the policy to perform one of the following actions: - -* Block the request, and then return the 400 error status code. -* Allow the request, log the error, and then return the status code of the request. - - -You can validate content against: - -* The presence of all required properties. -* The presence or absence of additional properties. -* The types of all properties. -+ -For example, if a schema specifies a property as an integer, the request must include an integer and not another type, such as a string. -* The format of the properties. -+ -For example, if the `pattern` keyword is specified, the policy validates the property as a regular expression. - -== Configuring Policy Parameters - -=== Flex Gateway Local Mode - -In Local Mode, you apply the Schema Validation policy to your API via declarative configuration files. Refer to the following policy definition and table of parameters: - ----- -- policyRef: - name: spec-validation-flex - config: - source: // REQUIRED - spec: // REQUIRED - apiBasePath: // OPTIONAL - blockOperation: // REQUIRED - strictParamsValidation: // OPTIONAL ----- - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== - -|Parameter | Required or Optional | Default Value | Description - -| `source` -| Required -| `context` -| Determines if the schema is specified in this YAML resource, or if it's specified in the API Context from Exchange (Connected Mode only). Supported values: `inline` or `context`. You must specify `inline` when configuring the policy in Local Mode. - -| `spec` -| Required -| `""` -| The actual inline specification. You must provide this when configuring the policy in Local Mode. - -| `apiBasePath` -| Optional -| `"/"` -| The base path of the API. You must provide this value when configuring the policy in Local Mode. - -| `blockOperation` -| Required -| `true` -| If `true`, the policy blocks an invalid spec validation. If `false`, the policy only logs an error. - -| `strictParamsValidation` -| Optional -| `false` -| Determines whether to validate query parameters not defined in specification. - -|=== - -==== Resource Configuration Example - -[source,yaml] ----- -- policyRef: - name: spec-validation-flex - config: - source: "inline" - apiBasePath: "/" - blockOperation: true - strictParamsValidation: false - spec: | - { - "openapi": "3.0.2", - ... - } ----- - -=== Flex Gateway Connected Mode - -When you apply the Schema Validation policy to your API from the UI, the following parameters are displayed: - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== -s|Field s|Description s|Default s|Required -| Block request | Select to block an incoming request that does not conform to the API specification. Selecting not to block only logs the request. Choosing to block invalid requests returns a 400 status when the request is invalid. | Block enabled | No -| Strict query parameters validation | Restricts API calls from query parameters not defined in the API Specification | No | No -| Advanced options | | | | -| Policy version | Version of the applied policy | Latest | Yes -| Rule of application | Configures the runtimes the policy is applied to. Schema Validation is currently only available for Flex Gateway. Applying the policy to all runtimes only applies the policy to Flex Gateway APIs. | All runtimes | Yes -|=== diff --git a/gateway/1.6/modules/ROOT/pages/policies-included-spike-control.adoc b/gateway/1.6/modules/ROOT/pages/policies-included-spike-control.adoc deleted file mode 100644 index 4b5f22421..000000000 --- a/gateway/1.6/modules/ROOT/pages/policies-included-spike-control.adoc +++ /dev/null @@ -1,189 +0,0 @@ -= Spike Control Policy -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: spike control, api gateway, flex gateway, gateway, policy -// :page-aliases: api-manager::spike-control-reference.adoc, policies::policies-included-spike-control.adoc - -[%autowidth.spread,cols="a,a"] -|=== ->s| Policy Name | Spike Control ->s|Summary | Regulates API traffic ->s|Category | Quality of Service ->s| First Flex Gateway version available | v1.0.0 -.4+>.^s| Returned Status Codes | -[%autowidth.spread,cols="a,a"] -| 429 - The number of requests by HTTP APIs exceeded the configured limit. Request rejected after specified number of reattempts. -|=== - -== Summary - -The Spike Control policy regulates your API request traffic by limiting the number of messages processed by an API. The policy ensures that the number of messages processed within a specified time does not exceed the limit that you configure. If the number is exceeded, the request is queued for retry based on you have configured the policy. - -== Configuring Policy Parameters - -The Spike Control policy does not perform quota enforcement. The configuration parameters are restricted to protect the API and backend. Therefore, to ensure maximum performance, configure these parameters to the lowest possible value. - -=== Flex Gateway Local Mode - -In Local Mode, you apply the Spike Control policy to your API via declarative configuration files. Refer to the following policy definition and table of parameters: - ----- -- policyRef: - name: spike-control-flex - config: - maximumRequests: // REQUIRED, default: 1 - timePeriodInMilliseconds: // REQUIRED, default: 1000 - delayTimeInMillis: // REQUIRED, default: 1000 - delayAttempts: // REQUIRED, default: 1 - queuingLimit: // OPTIONAL, default: 0 - exposeHeaders: // OPTIONAL, default: false ----- - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== -|Parameter | Required or Optional | Default Value | Description - -| `maximumRequests` -| Required -| 1 -| Number of allowed requests in the time window - -| `timePeriodInMilliseconds` -| Required -| 1000 -| Time window size - -| `delayTimeInMillis` -| Required -| 1000 -| The amount of time for which each request is retained before retrying, in the event there is no quota remaining - -| `delayAttempts` -| Required -| 1 -| The number of times a request is retried before it is rejected - -| `queuingLimit` -| Optional -| 0 -| The number of requests that can be queued at the any given time - -| `exposeHeaders` -| Optional -| `false` -| Enable it only for internal APIs. Allows the policy to return information about the algorithm behavior in the X-RateLimit headers - -|=== - -==== Resource Configuration Example - ----- -- policyRef: - name: spike-control-flex - config: - queuingLimit: 0 - exposeHeaders: true - delayTimeInMillis: 1000 - timePeriodInMilliseconds: 1000 - delayAttempts: 1 - maximumRequests: 100000 ----- - -=== Flex Gateway Connected Mode - -When you apply the policy to your API from the UI, the following parameters are displayed: - -[%header%autowidth.spread,cols="a,a,a"] -|=== -| Element | Description | Required -| Number of Reqs | The number of requests allowed (in milliseconds) in the specified window | Yes -|Time Period | The number of milliseconds, within which a request must be processed | Yes -| Delay Time in Milliseconds | The amount of time for which each request is retained before retrying (in milliseconds) in case there is no quota remaining | Yes -| Delay Attempts | The number of times a request is retried before it is rejected | Yes -| Queuing Limit | The number of requests that can be queued at the any given time | No -| Expose Headers | Enable it only for internal APIs, allows the policy to return information about the algorithm behavior in the X-RateLimit headers | No -| Method & Resource conditions | The option to add configurations to only a select few or all methods and resources of the API | Yes -|=== - -To enforce request quotas, see the xref:policies-included-rate-limiting-sla.adoc[] and xref:policies-included-rate-limiting.adoc[]. - -== How This Policy Works - -The Spike Control policy uses a _Sliding Window Algorithm_ which reduces spikes in traffic and protects the gateway instance. The window self-adjusts its display size to accommodate results over time. - -If the current window has no remaining request quota, without closing the connection to the client, the Spike Control policy allows requests to be queued for processing later. For your policy to queue the requests, you must configure the policy parameters, as shown in the following example: - -* `Time Period`: 1 second -* `Number of Reqs`: 2 -* `Delay Time in Milliseconds`: 499 milliseconds -* `Delay Attempts`: 1 -* `Queuing Limit`: 5 - -Queuing a request requires retaining a thread and an HTTP connection. When you specify a `Queuing Limit` for the policy, the parameter protects the gateway from running out of resources and ensures that the API does not fail in case of an attack. - -== Request Timelines - -The following diagram illustrates the lifespan of each request accepted by the algorithm, using the configuration defined in the previous section: - -image::spike-control.png[Accepted,Rejected, Queued Requests Timeline] - -. The first two requests are accepted and the available quota is now 0. -+ -The quota increases to 1 after one second (the `window size` value) passes from request #1. -. Request #3 arrives. -+ -Because no quota is available, the request is queued for 499 milliseconds. -. Request #4 arrives. -+ -Because there still is no quota available, the request is queued for 499 milliseconds. -. Shortly before request #3 is retried, request #1 ages a second and its quota is released because it falls out of the window. -. Quota is now 1, and request #3 is reprocessed successfully. -+ -Quota returns to 0 until request #2 ages 1 second. -. Request #4 delay concludes and it must be reprocessed. -+ -Request #4 is rejected. Requests #2 and #3 have not aged a second yet and there is no quota available. Request #4 have no more delays. -. Request #5 arrives. -+ -Because request #2 has already aged more than a second, the request is accepted. - -This example illustrates request delays and how queuing regulates spikes in traffic. In high-contention scenarios, the backend continues to function properly (it serves no more than X requests in the last Y milliseconds). - -Users querying the API might still see their requests being served, but with higher latency. The exact configuration for the policy depends exclusively on your API and its throughput. - -== FAQ - -*When does the sliding window start?* - -The window starts with the first request after the policy is successfully applied. - -*What type of window does the algorithm use?* - -The algorithm uses a sliding window that monitors transactions for the amount of time that you configure in the policy. - -*What happens when the quota is exhausted?* - -When the request quota is exhausted, the Spike Control policy queues the request and retries as configured. The request is rejected if no quota is remaining after several retries. Quota for other requests is available only after the first request exceeds the time limit configured in the policy; in this way, requests are processed in cycles. - -*Can I configure multiple windows?* - -No. The Spike Control policy ensures that the backend server does not serve more requests than it can handle. If you need accountability, use either Rate-Limiting SLA or Rate Limit policies instead. - -[[response-header]] -*What does each response header mean?* - -Each response header has information about the current state of the request: - -* X-Ratelimit-Remaining: The amount of quota currently available -* X-Ratelimit-Limit: The maximum available requests per window -* X-Ratelimit-Reset: The remaining time, in milliseconds, until the oldest request ages enough to fall outside of the sliding window. -+ -If quota is still available, the header is set to 0 (zero) because the algorithm can still serve new requests. - -By default, the X-RateLimit headers are disabled in the response. You can enable these headers by selecting *Expose Headers* when you configure the policy. - -*When should I use Rate Limiting instead of Rate Limiting SLA or Spike Control?* - -Use Rate Limiting and Rate-Limiting SLA policies for accountability and to enforce a hard limit to a group (using the identifier in Rate Limiting) or to a client application (using Rate Limiting-SLA). If you want to protect your backend, use the Spike Control policy instead. \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/policies-included-tls-outbound.adoc b/gateway/1.6/modules/ROOT/pages/policies-included-tls-outbound.adoc deleted file mode 100644 index 0d4403d1f..000000000 --- a/gateway/1.6/modules/ROOT/pages/policies-included-tls-outbound.adoc +++ /dev/null @@ -1,144 +0,0 @@ -= Transport Layer Security Policy - Outbound -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: tls, mtls, transport layer security, outbound tls, api gateway, flex gateway, gateway, policy -// :page-aliases: policies::policies-included-tls-outbound.adoc - -[%autowidth.spread,cols="a,a"] -|=== ->s| Policy Name | Transport Layer Security (TLS) - Outbound ->s|Summary | Enables two-way authentication between the API proxy and an upstream service ->s|Category | Security ->s| First Flex version available | v1.4.0 -.4+>.^s| Returned Status Codes | No return codes exist for this policy. -[%autowidth.spread,cols="a,a"] -| -|=== - -[NOTE] -==== -The following document applies only to Flex Gateway running in Local Mode. To configure TLS in Connected Mode, see xref:flex-conn-tls-config.adoc[]. -==== - -== Summary -Flex Gateway supports outbound Transport Layer Security (TLS) and outbound mutual authentication TLS (mTLS) in Local Mode. - -To apply outbound TLS in Local Mode, use the xref:flex-local-tls-config.adoc[Configuring TLS Context for Flex Gateway in Local Mode] tutorial and refer to the following configuration files in this documentation. - -You can configure an outbound TLS context to enable authentication between an API instance and an upstream service by binding the TLS policy to the upstream service. - -include::partial$task-tls-config.adoc[tags=outboundAllInstances] - -[NOTE] -==== -TLS policies do not support policy ordering. -==== - -[NOTE] -==== -Upstream certificates must include the Subject Alternative Name (SAN) extension. The Common Name (CN) field is deprecated. - -Flex Gateway supports the SAN extension of type `dNSName`. -==== - -== Configuring Policy Parameters - -To enable outbound TLS between an API instance and an upstream service when using Flex Gateway as your runtime, you must manually configure the TLS context -in a YAML configuration file. - -Refer to the following policy definition and table of parameters: - ----- -- policyRef: - name: tls-outbound - config: - skipValidation: // REQUIRED - certificate: // REQUIRED - key: // REQUIRED - crt: // REQUIRED - alpn: // OPTIONAL - minversion: // OPTIONAL - maxversion: // OPTIONAL - ciphers: // OPTIONAL ----- - -Not including optional parameters in your configuration file applies the parameters default values to your TLS context. - -When configuring the `ciphers` parameter, ensure that your API upstream supports the listed ciphers. For the supported ciphers, see <>. - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== -|Parameter | Required or Optional | Default Value | Description - -| `skipValidation` -| Required -| false -| Skipping validation disables outbound mTLS - -| `trustedCA` -| Optional, unless `skipValidation` is false -| N/A -| The client certificate used in mTLS - -| `certificate` -| Required -| N/A -| A TLS certificate key pair. To comply with security standards, all certificates must be 2048 bits or longer. - -| `certificate.key` -| Required -| N/A -| The private key part of the certificate - -| `certificate.crt` -| Required -| N/A -| The public key part of the certificate - -| `alpn` -| Optional -| `h2` and `http/1.1` -| A prioritized list of supported application level protocols; for example, h2, http/1.1, and so forth. - -| `minversion` -| Optional -| `1.2` -| The minimum TLS version allowed - -| `maxversion` -| Optional -| `1.3` -| The maximum TLS version allowed - -| `ciphers` -| Optional -| For the default and other supported ciphers, see <>. -| A list of supported TLS ciphers (IANA format). - -|=== - -=== Resource Configuration Examples - -You can format the YAML file to configure TLS or mTLS for a upstream service. - -// sample config outbound TLS applied to a specific instance -include::partial$task-tls-config.adoc[tags=sample-config-outbound-instance-intro] -// sample config outbound TLS applied to a specific instance -include::partial$task-tls-config.adoc[tags=sample-config-outbound-instance] - -// sample config outbound mTLS applied to a specific instance -include::partial$task-tls-config.adoc[tags=sample-config-mtls-outbound-intro] -// sample config outbound mTLS applied to a specific instance -include::partial$task-tls-config.adoc[tags=sample-config-mtls-outbound] - -include::partial$flex-tls-cipher.adoc[tags=cipherSupportLocal;outboundImportantLocal;local-ciphers] - - - - -== See Also -* xref:flex-conn-tls-config.adoc[] -* xref:flex-local-tls-config.adoc[] -* xref:policies-included-tls.adoc[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/policies-included-tls.adoc b/gateway/1.6/modules/ROOT/pages/policies-included-tls.adoc deleted file mode 100644 index e876d25af..000000000 --- a/gateway/1.6/modules/ROOT/pages/policies-included-tls.adoc +++ /dev/null @@ -1,148 +0,0 @@ -= Transport Layer Security Policy - Inbound -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: tls, mtls, transport layer security, inbound tls, api gateway, flex gateway, gateway, policy -// :page-aliases: policies::policies-included-tls.adoc - -[%autowidth.spread,cols="a,a"] -|=== ->s| Policy Name | Transport Layer Security (TLS) - Inbound ->s|Summary | Enables authentication between a client and the API proxy ->s|Category | Security ->s| First Flex Gateway version available | v1.0.0 (inbound mTLS: v1.3.0) -.4+>.^s| Returned Status Codes | No return codes exist for this policy. -[%autowidth.spread,cols="a,a"] -| -|=== - -[NOTE] -==== -The following document applies only to Flex Gateway running in Local Mode. To configure TLS in Connected Mode, see xref:flex-conn-tls-config.adoc[]. -==== - -== Summary -Flex Gateway supports inbound Transport Layer Security (TLS) and inbound mutual authentication TLS (mTLS) in Local Mode. - -To apply inbound TLS in Local Mode, use the xref:flex-local-tls-config.adoc[Configuring TLS Context for Flex Gateway in Local Mode] tutorial and refer to the following configuration files in this documentation. - -You can configure an inbound TLS context to enable authentication between a client and the API instance (HTTPS) by binding the TLS policy to your API instance or to all instances in your Flex Gateway. - -include::partial$task-tls-config.adoc[tags=port-sharing-inbound] - -[NOTE] -==== -TLS policies do not support policy ordering. -==== - -== Configuring Policy Parameters - -To use HTTPS as your schema -when creating an API instance using Flex Gateway as your runtime, you must manually configure the TLS context -in a YAML configuration file. - -Refer to the following policy definition and table of parameters: - ----- -- policyRef: - name: tls - config: - requireClientCertificate: // OPTIONAL - trustedCA: // OPTIONAL - certificate: // REQUIRED - key: // REQUIRED - crt: // REQUIRED - alpn: // OPTIONAL - minversion: // OPTIONAL - maxversion: // OPTIONAL - ciphers: // OPTIONAL ----- - -Not including optional parameters in your configuration file applies the parameters default values to your TLS context. - -When configuring the `ciphers` parameter, see <> for the supported ciphers. - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== -| Parameter | Required or Optional | Default Value | Description - -| `requireClientCertificate` -| Optional -| false -| Enables/disables inbound mTLS - -| `trustedCA` -| Optional, unless `requireClientCertificate` is true -| N/A -| The client certificate used in mTLS - -| `certificate` -| Required -| N/A -| A TLS certificate key pair. To comply with security standards, all certificates must be 2048 bits or longer. - -| `certificate.key` -| Required -| N/A -| The private key part of the certificate - -| `certificate.crt` -| Required -| N/A -| The public key part of the certificate - -| `alpn` -| Optional -| `h2` and `http/1.1` -| A prioritized list of supported application level protocols; for example, h2, http/1.1, and so forth. - -| `minversion` -| Optional -| `1.2` -| The minimum TLS version allowed - -| `maxversion` -| Optional -| `1.3` -| The maximum TLS version allowed - -| `ciphers` -| Optional -| For the default and other supported ciphers, see <>. -| A list of supported TLS ciphers (IANA format). For the supported ciphers, see <>. - -|=== - -=== Resource Configuration Examples - -You can format the YAML file to configure TLS or mTLS either for a specific API instance or for all API instances running on your Flex Gateway. - -==== Apply TLS Configuration to All API Instances - -// sample config applied to all apis on gateway intro -include::partial$task-tls-config.adoc[tags=sample-config-all-intro] -//sample config applied to all apis on gateway -include::partial$task-tls-config.adoc[tags=sample-config-all] - -==== Apply TLS Configuration to a Specific API Instance - -//sample config applied a specific api intro -include::partial$task-tls-config.adoc[tags=sample-config-instance-intro] -//sample config applied to a specific api -include::partial$task-tls-config.adoc[tags=sample-config-instance] - -==== Apply mTLS Inbound Configuration to a Specific API Instance - -//sample mtls config applied a specific api intro -include::partial$task-tls-config.adoc[tags=sample-config-mtls-intro] -//sample mtls config applied to a specific api -include::partial$task-tls-config.adoc[tags=sample-config-mtls] - -include::partial$flex-tls-cipher.adoc[tags=cipherSupportLocal;local-ciphers] - - -== See Also -* xref:flex-conn-tls-config.adoc[] -* xref:flex-local-tls-config.adoc[] -* xref:policies-included-tls-outbound.adoc[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/policies-included-traffic-management-route.adoc b/gateway/1.6/modules/ROOT/pages/policies-included-traffic-management-route.adoc deleted file mode 100644 index 90bfaf0d5..000000000 --- a/gateway/1.6/modules/ROOT/pages/policies-included-traffic-management-route.adoc +++ /dev/null @@ -1,175 +0,0 @@ -= Traffic Management for Multiple Upstream Services -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: route, traffic management, upstream service - -[%autowidth.spread,cols="a,a"] -|=== ->s| Policy Name | Traffic Management for Multiple Upstream Services ->s|Summary | Manages API instance traffic to multiple upstream services from a single consumer endpoint ->s| First Flex Gateway version available | v1.0.0 -.4+>.^s| Returned Status Codes | No return codes exist for this policy. -[%autowidth.spread,cols="a,a"] -|=== - -[NOTE] -==== -The following information applies only to Flex Gateway running in Local Mode. To configure multiple upstream services for Flex Gateway running in Connected Mode, see xref:api-manager::create-instance-task-flex.adoc#traffic-management[Multiple Upstream Services for Flex Gateway Running in Connected Mode]. -==== - -== Summary - -Flex Gateway manages request traffic by using different routes that can each direct traffic to multiple upstream services. Flex Gateway directs traffic to the routes by using the route order and the individual route's rules. Additionally, you can add a weighted percentage to each upstream service within a route to manage the percentage of requests sent to the upstream service. For information about adding weight percentages, refer to xref:policies-included-traffic-management.adoc[]. - -To allow routing requests to a `Service` when an `ApiInstance` does not include `spec.services`, you must define a `PolicyBinding` configuration with the Traffic Management for Multiple Upstream Services (`route`) policy. You don't need to configure a `route` policy if a custom policy is managing requests. - -== Configuring Policy Parameters - -Refer to the following policy definition and table of parameters: - ----- -policyRef: - name: route -config: - destinationPath: // OPTIONAL, default: "/" - destinationRef: - name: // REQUIRED - kind: // OPTIONAL, default: "Service" - namespace: // OPTIONAL, default: "" -rules: - - path: // OPTIONAL, Example: (.*) - methods: // OPTIONAL, Example: GET|POST - headers: - : // OPTIONAL - host: // OPTIONAL ----- - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== -| Parameter | Required or Optional | Default Value | Description - -| `destinationPath` -| Optional -| "/" -| Path of the upstream service - -| `destinationRef.name` -| Required -| N/A -| Name of the upstream service as defined in the `Service` configuration resource - -| `destinationRef.kind` -| Optional -| "Service" -| - -| `destinationRef.namespace` -| Optional -| "" -| - -| `rules` -| Optional -| Empty -| Array of rulesets for this route. + -Each route can support multiple rulesets. - -| `rules.path` -| Optional -| Empty -| Request path that the route can service. + -You can define only one “URI Template Regex" path for each ruleset. Only requests with the defined path are sent to this route. - -| `rules.methods` -| Optional -| Empty -| Array that defines the types of request methods that the route can service. + -You can select multiple methods for each ruleset. Only requests that are one of the defined methods are sent to this route. Supported values are `GET`, `POST`, `PUT`, `PATCH`, `DELETE`, `OPTIONS`, `HEAD`, `TRACE`, and `CONNECT`. - -| `rules.headers` -| Optional -| Empty -| Array that defines what headers and regular expression value must be present for this route to service the request. + -Only requests that meet all of the specified header requirements are sent to this route. Additional headers present in the request that are not specifically defined in the rules are ignored. - -| `rules.host` -| Optional -| Empty -| Request host URL that the route can service. + -You can define only one host URL for each ruleset. Only requests made from the defined host are sent to this route. - -|=== - -=== Resource Configuration Example - -You can define an `ApiInstance` configuration that does not include the `spec.services` parameter: - -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: ApiInstance -metadata: - name: ingress-http -spec: - address: http://0.0.0.0:8080/api ----- - -Given the absence of the `spec.services` parameter, you must define the `route` policy in a `PolicyBinding` configuration: - -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: ingress-httpbin-route -spec: - targetRef: - name: ingress-http - policyRef: - name: route - config: - destinationPath: /orders - destinationRef: - name: orders-svc - rules: - - path: /foo(/.*) ----- - -The related `Service` configuration: - -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Service -metadata: - name: orders-svc -spec: - address: https://orders.svc.local:443/ ----- - -== Determining a Request Path - -The following table describes all the possible parameter combinations, with examples of the attributes that determine routing and the expected transformation of a request's path. The columns refer to data values of the attributes in the previous configuration examples. - -[options="header"] -|==== -| ApiInstance .address .path | PolicyBinding(route) .rules .path | PolicyBinding(route) .config .destinationPath | Input Path | Output Path -| | /api/.* | | /api/foo/bar | /api/foo/bar -| | /api(/.*) | | /api/foo/bar | /foo/bar -| | /api/.* | /orders | /api/foo/bar | /orders/api/foo/bar -| | /api(/.*) | /orders | /api/foo/bar | /orders/foo/bar -| /api | /foo/.* | | /api/foo/bar | /foo/bar -| /api | /foo(/.*) | | /api/foo/bar | /bar -| /api | /foo/.* | /orders | /api/foo/bar | /orders/foo/bar -| /api | /foo(/.*) | /orders | /api/foo/bar | /orders/bar -| /api | /api/foo/.* | /orders | /api/foo/bar | (expected a path like /api/api/foo/bar) -| /api | /foo(/.)/bar(/.) | | /api/foo/abc/bar/def | /abc/def -| /api | /foo(/.)/bar(/.) | /orders | /api/foo/abc/bar/def | /orders/abc/def -|==== - -== See Also - -* xref:policies-included-traffic-management.adoc[] -* xref:flex-local-publish-api-multiple-services.adoc[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/policies-included-traffic-management.adoc b/gateway/1.6/modules/ROOT/pages/policies-included-traffic-management.adoc deleted file mode 100644 index 8627cbadc..000000000 --- a/gateway/1.6/modules/ROOT/pages/policies-included-traffic-management.adoc +++ /dev/null @@ -1,155 +0,0 @@ -= Traffic Management for Multiple Upstream Services (Weighted) -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images -:keywords: route weight, traffic management, multiple upstream services - -[%autowidth.spread,cols="a,a"] -|=== ->s| Policy Name | Traffic Management for Multiple Upstream Services (Weighted) ->s|Summary | Manages weighted API instance traffic to multiple upstream services from a single consumer endpoint ->s| First Flex Gateway version available | v1.5.0 -.4+>.^s| Returned Status Codes | No return codes exist for this policy. -[%autowidth.spread,cols="a,a"] -|=== - -[NOTE] -==== -The following information applies only to Flex Gateway running in Local Mode. To configure multiple upstream services for Flex Gateway running in Connected Mode, see xref:api-manager::create-instance-task-flex.adoc#traffic-management[Multiple Upstream Services for Flex Gateway Running in Connected Mode]. -==== - -== Summary - -Flex Gateway running in Local Mode supports API instances that expose multiple upstream services through a single consumer endpoint. - -Flex Gateway manages request traffic by using different routes that can each direct traffic to multiple upstream services. Flex Gateway directs traffic to the routes by using the route order and the individual route's rules. Additionally, you can add a weighted percentage to each upstream service within a route to manage the percentage of requests sent to the upstream service. For information about configuring non-weighted traffic, refer to xref:policies-included-traffic-management-route.adoc[]. - -API instances with multiple upstream services in Local Mode are configured by using `PolicyBinding` YAML configuration resources. Each `route-weighted` resource defines a single route. To add additional routes, add multiple `route-weighted` resources. - -For a tutorial about how to publish an API instance with this policy applied, see xref:flex-local-publish-api-multiple-services.adoc[]. - -NOTE: Deploying APIs with multiple upstream services does not affect the xref:policies-included-tls-outbound.adoc[Outbound Transport Layer Security policy]. You can apply an Outbound TLS policy to each upstream service. - -== Configuring Policy Parameters - -Refer to the following policy definition and table of parameters: - ----- -policyRef: - name: route-weighted -config: - routes: - - weight: // REQUIRED, max_value=100, min_value=1 - destinationPath: // OPTIONAL, default: "/" - destinationRef: - name: // REQUIRED -rules: - - path: // OPTIONAL, Example: (.*) - methods: // OPTIONAL, Example: GET|POST - headers: - : // OPTIONAL - host: // OPTIONAL ----- - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== -| Parameter | Required or Optional | Default Value | Description - -| `routes` -| Required -| Empty -| Array of API upstream services. + -At least one upstream is required. - -| `routes.weight` -| Required -| N/A -| Weight of total requests sent to this upstream service. + - The percentage of traffic sent to that upstream service is the upstream service's weight divided by total weight of all upstream services. - -| `routes.destinationPath` -| Required -| N/A -| Path of the upstream service - -| `routes.destinationRef.name` -| Required -| N/A -| Name of the upstream service as defined in the `Service` configuration resource - -| `rules` -| Optional -| Empty -| Array of rulesets for this route. + -Each route can support multiple rulesets. - -| `rules.path` -| Optional -| Empty -| Request path that the route can service. + -You can define only one “URI Template Regex" path for each ruleset. Only requests with the defined path are sent to this route. - -| `rules.methods` -| Optional -| Empty -| Array that defines the types of request methods that the route can service. + -You can select multiple methods for each ruleset. Only requests that are one of the defined methods are sent to this route. Supported values are `GET`, `POST`, `PUT`, `PATCH`, `DELETE`, `OPTIONS`, `HEAD`, `TRACE`, and `CONNECT`. - -| `rules.headers` -| Optional -| Empty -| Array that defines what headers and regular expression value must be present for this route to service the request. + -Only requests that meet all of the specified header requirements are sent to this route. Additional headers present in the request that are not specifically defined in the rules are ignored. - -| `rules.host` -| Optional -| Empty -| Request host URL that the route can service. + -You can define only one host URL for each ruleset. Only requests made from the defined host are sent to this route. - -|=== - -== How This Policy Works - -The Traffic Management policy directs traffic to different sets of upstream services by using multiple routes with a defined route order and individual rulesets to direct traffic to different sets of upstream services. - -In the following diagram, different routes manage requests to flight information databases and to a customer service application. Route one has two upstream services defined, which directs 70% of requests to a stable database and 30% of requests to a beta database. - -image:multiple-upstreams.png[Flex Gateway manages the traffic to multiple upstream services.] - -To achieve this configuration, bind two `route-weighted` resources to the exposed API instance. One `route-weighted` resource directs traffic to the flight information database, and the other `route-weighted` resource directs traffic to the customer service application. - -=== Upstream Services - -You can use multiple upstream services in a single route to direct requests to similar services. For example, to test the performance of a new beta upstream service without sending all traffic to the new service, you can direct half of the traffic to a stable upstream service and half to the new upstream service. - -The upstream service within the route that each request is sent to is random and independent of any previous request. The `routes.weight` value defines the chance of a request being sent to a particular upstream service. The percentage of traffic sent to that upstream service is the upstream's `routes.weight` divided by the total weight of all upstream services. For example, if there are two upstream services with weight `1`, each receives 50% of the traffic to that route. If the weight values are `1` and `3`, one route would receive 25% of traffic and the other 75%. - -Because any upstream service within a route can receive any request, all upstream services within the same route must adhere to the same API contract. - - -=== Route Rules - -You can direct requests to different routes by using route rules. Requests must meet the rules for only one of the rulesets in the route. - -Rulesets refer to any combination of the four rules: `path`, `method`, `headers`, and `host`. You can use multiple rulesets to support different combinations of rules. - -All rules are optional. If a rule is not included in a ruleset, that rule is ignored. For example, not specifying a host means that the route can service any host if the request meets the other route rules. Not defining any rule means that the route can service every request. - -If a request does not meet the rules for any route, Flex Gateway returns a `404` error code. - -=== Route Order - -In addition to using route rules, you can direct requests to different routes by using policy ordering. - -To order policies, see xref:policies-reorder.adoc[] - -Setting the policy order sets the order in which traffic is directed to the routes. Flex Gateway directs requests to the first route if the request meets one of the route rulesets. Therefore, route ordering is very important when a request can meet the route rules of multiple routes. - -For example, in a configuration in which route one has the `GET` method defined as a rule and route two has no route rules defined, all `GET` requests are sent to route one and all other requests are sent to route two. If the route order was reversed and route one had no route rules, Flex Gateway would direct all requests to route one before any `GET` requests could reach route two. - - -== See Also - -* xref:flex-local-publish-api-multiple-services.adoc[] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/policies-reorder.adoc b/gateway/1.6/modules/ROOT/pages/policies-reorder.adoc deleted file mode 100644 index 56567644b..000000000 --- a/gateway/1.6/modules/ROOT/pages/policies-reorder.adoc +++ /dev/null @@ -1,71 +0,0 @@ -= Ordering Policies -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -// :page-aliases: api-manager::re-order-policies-task.adoc, policies-included-reorder.adoc, policies::policies-included-reorder.adoc, policies::policies-reorder.adoc - -To execute certain policies before others, configure the order of execution of included and custom policies. - -You can configure both included and custom policies to execute as automated policies or API-level policies. Automated policies are policies that are applied to all API instances deployed on the Flex Replica and execute before API-level policies. API-level policies are policies that are only applied to a specific API instance. - -For Flex Gateway running in Connected Mode, use API Manager to order policies. For Flex Gateway running in Local Mode, use a `PolicyBinding` YAML resource to order policies. - -IMPORTANT: You cannot configure the execution order of the xref:policies-included-cors.adoc[Cross-Origin Resource Sharing (CORS) policy]. The CORS policy executes before automated and API-level policies. - -== Policy Execution Order - -Policies can either execute on the API request, the API response, or both. Policies execute in order during the API request and in inverse order during the API response. If a policy does not execute in a certain direction, Flex Gateway skips the policy in that direction. - -For example, if you have four policies ordered: - -. Automated Policy 1 -. Automated Policy 2 -. API-Level Policy 1 -. API-Level Policy 2 - -The policies execute in the following order on the response: - -. API-Level Policy 2 -. API-Level Policy 1 -. Automated Policy 2 -. Automated Policy 1 - - -== Order Automated Policies in Connected Mode - -You cannot configure the order of automated policies in API Manager. Automated policies execute in the order they are applied to the API instance. Apply automated policies in the order you want them to execute. - -== Order Automated Policies in Local Mode - -To apply a automated policy to Flex Gateway running in Local Mode, you must apply a resource-level policy. By doing so, you can apply the same policy to all API instances running on the Flex Replica. - -To apply a resource-level policy to all API instances, refer to xref:flex-local-secure-api-with-auto-policy.adoc[]. - -To order automated resource-level policies, edit the `order` parameter to match when you want the policy to execute. Ensure that this order does not conflict with the order of any other policies. For example, if you apply two automated resource-level policies with `order: 1` and `order: 2`, any API-level policy must start at `order: 3`. - -== Order API-Level Policies in Connected Mode - -To reorder API-level policies in Flex Gateway running in Connected Mode: - -. Go to *Anypoint Platform > API Manager*. - -. In *API Administration*, click the name of the API instance whose policies you want to reorder. - -. From the left navigation menu, click *Policies*. - -. From the top of the list of the applied policies, click *Reorder policies*. - -. From the *Reorder Applied Policies* section, use the up and down arrows to rearrange the order of policies. - -. Click *Apply order*. - -== Order API-Level Policies in Local Mode -In Flex Gateway running in Local Mode, configure policy ordering via a `PolicyBinding` YAML resource. - -When defining a policy using a `PolicyBinding` YAML resource, edit the `order` parameter to match when you want the policy to execute. Ensure that you do not assign the same order number to different policies. - -For information about Local Mode policy order, see the xref:flex-local-configuration-reference-guide.adoc#policy-binding[Declarative Configuration Reference Guide]. - -== See Also - -* xref:policies-included-directory.adoc[Included Policies Directory] \ No newline at end of file diff --git a/gateway/1.6/modules/ROOT/pages/policies-resource-level-overview.adoc b/gateway/1.6/modules/ROOT/pages/policies-resource-level-overview.adoc deleted file mode 100644 index 75051b16d..000000000 --- a/gateway/1.6/modules/ROOT/pages/policies-resource-level-overview.adoc +++ /dev/null @@ -1,63 +0,0 @@ -= Resource-Level Policies -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:keywords: policy, custom, ootb, offline, resource level -// :page-aliases: api-manager::policies-policy-level.adoc, api-manager::resource-level-policies-about.adoc, api-manager::resource-level-policy-reference.adoc, policies::policies-resource-level-overview.adoc - -Unless otherwise configured, policies are by default applied to the entire API. However, you can implement an additional level of policy granularity, one in which access is controlled based on a criteria. Policies with this granularity are called _resource-level policies_. - -At the resource level of granularity, policies are applied to only those requests that match the criteria. All policies, except the Cross-Origin Resource Sharing (CORS) policy, are resource-level. - -For Flex Gateway running in Connected Mode, you configure resource-level policies in API Manager. - -For information about configuring resource-level policies for Flex Gateway running in Local Mode, refer to xref:flex-local-secure-api-with-auto-policy.adoc[]. - -// In Mule 4, resource-level policies support HTTP-based APIs in addition to RAML APIs. -// You can apply multiple conditions to filter your resources and HTTP methods using the xref:policies-resource-level-config-uri-regex.adoc[URI template regex] to any number of methods in your API. - -// == Usage Scenarios for Implementing Resource-Level Policies -// -// You can use resource-level policies in many ways. Here are just a few: -// -// * Apply policies to specific resources. -// * Secure a subset of an API. -// * Set different limits on resources. - -// If you have a RAML or OAS specification attached to your API, you can use the *Preview Resource Matching* option to determine which resources are affected by your filters: -// -// image::users-api-cropped.png[API Console displays resources and methods,height=329,width=732] -// -// A resource-level policy supports regular Java expressions. For example, you can use a wildcard to apply a policy to multiple resources. When you apply the policy to the API, specify the resources to which it applies: -// -// image::rlp-conditions.png[] - -// == Guidelines for Implementing Resource-Level Policies -// -// When implementing resource-level policies: -// -// * Do not use a placeholder, such as {userid}, in the regular expression. -// + -// Using a placeholder in an expression fails because the placeholder does not match the actual node. In the example placeholder {userid}, the node looks something like this: -// + -// `/api/users/671962fc-f076-4b19-bc38-45ba3a4e4095/permissions/1234` -// + -// 671962fc-f076-4b19-bc38-45ba3a4e4095 is the user ID. -// + -// 1234 is the ID of a permission. -// -// To apply a policy to resource `/api/users/{userid}` that represents a single user and all resource nodes, use the following expression: -// -// The `userid` represents a single user and all resource nodes: -// `/api/users/.*` -// -// To apply a policy to only the permissions resources `/api/users/{userId/permissions}` and `/api/users/{userid}/permissions/{permissionId}`, use the following expression: -// -// `/api/users/.*/permissions.*` - -// == See Also -// -// * xref:policies-resource-level-config-uri-regex.adoc[Configure URI Template Regex] -// * xref:policies-resource-level-disable-outbound.adoc[] - - diff --git a/pdk/1.0/antora.yml b/pdk/1.0/antora.yml deleted file mode 100644 index bee8b19db..000000000 --- a/pdk/1.0/antora.yml +++ /dev/null @@ -1,13 +0,0 @@ -name: pdk -title: 'Flex Gateway Policy Development Kit (PDK)' -version: '1.0' -display_version: '1.0' -start_page: policies-pdk-overview.adoc -asciidoc: - attributes: - rust-ver-var: 'v1.74.0' - rust-ver-max-var: 'v1.83.0' - rust-ver-max-inline-var: '1.83.0' - template-policies-url-ver-var: '1.0.1' -nav: -- modules/ROOT/nav.adoc diff --git a/pdk/1.0/modules/ROOT/_attributes.adoc b/pdk/1.0/modules/ROOT/_attributes.adoc deleted file mode 100644 index cb0860e63..000000000 --- a/pdk/1.0/modules/ROOT/_attributes.adoc +++ /dev/null @@ -1,4 +0,0 @@ -:attachmentsdir: {moduledir}/assets/attachments -:partialsdir: {moduledir}/pages/_partials -:imagesdir: {moduledir}/assets/images -:examplesdir: {moduledir}/examples \ No newline at end of file diff --git a/pdk/1.0/modules/ROOT/assets/image-source-files/more-options-menu.graffle b/pdk/1.0/modules/ROOT/assets/image-source-files/more-options-menu.graffle deleted file mode 100644 index 716f3ed5e..000000000 Binary files a/pdk/1.0/modules/ROOT/assets/image-source-files/more-options-menu.graffle and /dev/null differ diff --git a/pdk/1.0/modules/ROOT/assets/image-source-files/pdk-dev-asset.graffle b/pdk/1.0/modules/ROOT/assets/image-source-files/pdk-dev-asset.graffle deleted file mode 100644 index a83053748..000000000 Binary files a/pdk/1.0/modules/ROOT/assets/image-source-files/pdk-dev-asset.graffle and /dev/null differ diff --git a/pdk/1.0/modules/ROOT/assets/image-source-files/sensitive-data.graffle b/pdk/1.0/modules/ROOT/assets/image-source-files/sensitive-data.graffle deleted file mode 100644 index c5ba22adf..000000000 --- a/pdk/1.0/modules/ROOT/assets/image-source-files/sensitive-data.graffle +++ /dev/null @@ -1,4207 +0,0 @@ - - - - - !Preview - - data - - /9j/4AAQSkZJRgABAQAASABIAAD/4QBARXhpZgAATU0AKgAAAAgAAYdpAAQA - AAABAAAAGgAAAAAAAqACAAQAAAABAAAIAKADAAQAAAABAAAEMgAAAAD/4g/Q - SUNDX1BST0ZJTEUAAQEAAA/AYXBwbAIQAABtbnRyUkdCIFhZWiAH6AABAAMA - CQAYACBhY3NwQVBQTAAAAABBUFBMAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAA - AADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAABFkZXNjAAABUAAAAGJkc2NtAAABtAAABJxjcHJ0AAAGUAAA - ACN3dHB0AAAGdAAAABRyWFlaAAAGiAAAABRnWFlaAAAGnAAAABRiWFlaAAAG - sAAAABRyVFJDAAAGxAAACAxhYXJnAAAO0AAAACB2Y2d0AAAO8AAAADBuZGlu - AAAPIAAAAD5tbW9kAAAPYAAAACh2Y2dwAAAPiAAAADhiVFJDAAAGxAAACAxn - VFJDAAAGxAAACAxhYWJnAAAO0AAAACBhYWdnAAAO0AAAACBkZXNjAAAAAAAA - AAhEaXNwbGF5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - bWx1YwAAAAAAAAAmAAAADGhySFIAAAAUAAAB2GtvS1IAAAAMAAAB7G5iTk8A - AAASAAAB+GlkAAAAAAASAAACCmh1SFUAAAAUAAACHGNzQ1oAAAAWAAACMGRh - REsAAAAcAAACRm5sTkwAAAAWAAACYmZpRkkAAAAQAAACeGl0SVQAAAAYAAAC - iGVzRVMAAAAWAAACoHJvUk8AAAASAAACtmZyQ0EAAAAWAAACyGFyAAAAAAAU - AAAC3nVrVUEAAAAcAAAC8mhlSUwAAAAWAAADDnpoVFcAAAAKAAADJHZpVk4A - AAAOAAADLnNrU0sAAAAWAAADPHpoQ04AAAAKAAADJHJ1UlUAAAAkAAADUmVu - R0IAAAAUAAADdmZyRlIAAAAWAAADim1zAAAAAAASAAADoGhpSU4AAAASAAAD - snRoVEgAAAAMAAADxGNhRVMAAAAYAAAD0GVuQVUAAAAUAAADdmVzWEwAAAAS - AAACtmRlREUAAAAQAAAD6GVuVVMAAAASAAAD+HB0QlIAAAAYAAAECnBsUEwA - AAASAAAEImVsR1IAAAAiAAAENHN2U0UAAAAQAAAEVnRyVFIAAAAUAAAEZnB0 - UFQAAAAWAAAEemphSlAAAAAMAAAEkABMAEMARAAgAHUAIABiAG8AagBpzuy3 - 7AAgAEwAQwBEAEYAYQByAGcAZQAtAEwAQwBEAEwAQwBEACAAVwBhAHIAbgBh - AFMAegDtAG4AZQBzACAATABDAEQAQgBhAHIAZQB2AG4A/QAgAEwAQwBEAEwA - QwBEAC0AZgBhAHIAdgBlAHMAawDmAHIAbQBLAGwAZQB1AHIAZQBuAC0ATABD - AEQAVgDkAHIAaQAtAEwAQwBEAEwAQwBEACAAYQAgAGMAbwBsAG8AcgBpAEwA - QwBEACAAYQAgAGMAbwBsAG8AcgBMAEMARAAgAGMAbwBsAG8AcgBBAEMATAAg - AGMAbwB1AGwAZQB1AHIgDwBMAEMARAAgBkUGRAZIBkYGKQQaBD4EOwRMBD4E - QAQ+BDIEOAQ5ACAATABDAEQgDwBMAEMARAAgBeYF0QXiBdUF4AXZX2mCcgBM - AEMARABMAEMARAAgAE0A4AB1AEYAYQByAGUAYgBuAP0AIABMAEMARAQmBDIE - NQRCBD0EPgQ5ACAEFgQaAC0ENAQ4BEEEPwQ7BDUEOQBDAG8AbABvAHUAcgAg - AEwAQwBEAEwAQwBEACAAYwBvAHUAbABlAHUAcgBXAGEAcgBuAGEAIABMAEMA - RAkwCQIJFwlACSgAIABMAEMARABMAEMARAAgDioONQBMAEMARAAgAGUAbgAg - AGMAbwBsAG8AcgBGAGEAcgBiAC0ATABDAEQAQwBvAGwAbwByACAATABDAEQA - TABDAEQAIABDAG8AbABvAHIAaQBkAG8ASwBvAGwAbwByACAATABDAEQDiAOz - A8cDwQPJA7wDtwAgA78DuAPMA70DtwAgAEwAQwBEAEYA5AByAGcALQBMAEMA - RABSAGUAbgBrAGwAaQAgAEwAQwBEAEwAQwBEACAAYQAgAGMAbwByAGUAczCr - MOkw/ABMAEMARHRleHQAAAAAQ29weXJpZ2h0IEFwcGxlIEluYy4sIDIwMjQA - AFhZWiAAAAAAAADzUQABAAAAARbMWFlaIAAAAAAAAIPfAAA9v////7tYWVog - AAAAAAAASr8AALE3AAAKuVhZWiAAAAAAAAAoOAAAEQsAAMi5Y3VydgAAAAAA - AAQAAAAABQAKAA8AFAAZAB4AIwAoAC0AMgA2ADsAQABFAEoATwBUAFkAXgBj - AGgAbQByAHcAfACBAIYAiwCQAJUAmgCfAKMAqACtALIAtwC8AMEAxgDLANAA - 1QDbAOAA5QDrAPAA9gD7AQEBBwENARMBGQEfASUBKwEyATgBPgFFAUwBUgFZ - AWABZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJAdEB2QHhAekB8gH6AgMC - DAIUAh0CJgIvAjgCQQJLAlQCXQJnAnECegKEAo4CmAKiAqwCtgLBAssC1QLg - AusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOKA5YDogOuA7oDxwPTA+AD - 7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTwBP4FDQUc - BSsFOgVJBVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZqBnsG - jAadBq8GwAbRBuMG9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgf - CDIIRghaCG4IggiWCKoIvgjSCOcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ - +woRCicKPQpUCmoKgQqYCq4KxQrcCvMLCwsiCzkLUQtpC4ALmAuwC8gL4Qv5 - DBIMKgxDDFwMdQyODKcMwAzZDPMNDQ0mDUANWg10DY4NqQ3DDd4N+A4TDi4O - SQ5kDn8Omw62DtIO7g8JDyUPQQ9eD3oPlg+zD88P7BAJECYQQxBhEH4QmxC5 - ENcQ9RETETERTxFtEYwRqhHJEegSBxImEkUSZBKEEqMSwxLjEwMTIxNDE2MT - gxOkE8UT5RQGFCcUSRRqFIsUrRTOFPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZs - Fo8WshbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiKGK8Y1Rj6GSAZRRlrGZEZ - txndGgQaKhpRGncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyjHMwc9R0e - HUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg - 8CEcIUghdSGhIc4h+yInIlUigiKvIt0jCiM4I2YjlCPCI/AkHyRNJHwkqyTa - JQklOCVoJZclxyX3JicmVyaHJrcm6CcYJ0kneierJ9woDSg/KHEooijUKQYp - OClrKZ0p0CoCKjUqaCqbKs8rAis2K2krnSvRLAUsOSxuLKIs1y0MLUEtdi2r - LeEuFi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDbMRIxSjGCMbox8jIqMmMy - mzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbpNyQ3YDec - N9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zstO2s7qjvoPCc8ZTykPOM9 - Ij1hPaE94D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBCckK1 - QvdDOkN9Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI - 10kdSWNJqUnwSjdKfUrESwxLU0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08A - T0lPk0/dUCdQcVC7UQZRUFGbUeZSMVJ8UsdTE1NfU6pT9lRCVI9U21UoVXVV - wlYPVlxWqVb3V0RXklfgWC9YfVjLWRpZaVm4WgdaVlqmWvVbRVuVW+VcNVyG - XNZdJ114XcleGl5sXr1fD19hX7NgBWBXYKpg/GFPYaJh9WJJYpxi8GNDY5dj - 62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg/aJZo7GlDaZpp8WpIap9q92tP - a6dr/2xXbK9tCG1gbbluEm5rbsRvHm94b9FwK3CGcOBxOnGVcfByS3KmcwFz - XXO4dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gReG54zHkqeYl553pGeqV7BHtj - e8J8IXyBfOF9QX2hfgF+Yn7CfyN/hH/lgEeAqIEKgWuBzYIwgpKC9INXg7qE - HYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmIzokziZmJ/opkisqLMIuWi/yMY4zK - jTGNmI3/jmaOzo82j56QBpBukNaRP5GokhGSepLjk02TtpQglIqU9JVflcmW - NJaflwqXdZfgmEyYuJkkmZCZ/JpomtWbQpuvnByciZz3nWSd0p5Anq6fHZ+L - n/qgaaDYoUehtqImopajBqN2o+akVqTHpTilqaYapoum/adup+CoUqjEqTep - qaocqo+rAqt1q+msXKzQrUStuK4trqGvFq+LsACwdbDqsWCx1rJLssKzOLOu - tCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1uy67p7whvJu9Fb2Pvgq+ - hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/yD3IvMk6 - ybnKOMq3yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHTRNPG1EnU - y9VO1dHWVdbY11zX4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A2 - 4L3hROHM4lPi2+Nj4+vkc+T85YTmDeaW5x/nqegy6LzpRunQ6lvq5etw6/vs - hu0R7ZzuKO6070DvzPBY8OXxcvH/8ozzGfOn9DT0wvVQ9d72bfb794r4Gfio - +Tj5x/pX+uf7d/wH/Jj9Kf26/kv+3P9t//9wYXJhAAAAAAADAAAAAmZmAADy - pwAADVkAABPQAAAKW3ZjZ3QAAAAAAAAAAQABAAAAAAAAAAEAAAABAAAAAAAA - AAEAAAABAAAAAAAAAAEAAG5kaW4AAAAAAAAANgAArhQAAFHsAABD1wAAsKQA - ACZmAAAPXAAAUA0AAFQ5AAIzMwACMzMAAjMzAAAAAAAAAABtbW9kAAAAAAAA - BhAAAKBO/WJtYgAAAAAAAAAAAAAAAAAAAAAAAAAAdmNncAAAAAAAAwAAAAJm - ZgADAAAAAmZmAAMAAAACZmYAAAACMzM0AAAAAAIzMzQAAAAAAjMzNAD/wAAR - CAQyCAADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcI - CQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKB - kaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpT - VFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm - p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP0 - 9fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREA - AgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMz - UvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpj - ZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0 - tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9sA - QwACAgICAgIDAgIDBQMDAwUGBQUFBQYIBgYGBgYICggICAgICAoKCgoKCgoK - DAwMDAwMDg4ODg4PDw8PDw8PDw8P/9sAQwECAgIEBAQHBAQHEAsJCxAQEBAQ - EBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ - /90ABACA/9oADAMBAAIRAxEAPwD9/KKKKACiiigAooooAKKTIoyKAFopNwpN - xoAdRTN9G+gB9FM30b6AH0UzfRvoAfRTN9G+gB9FM30b6AH0UzfRvoAfRTN9 - G+gB9FM30b6AH0UzfRvoAfRTN9G+gB9FM30b6AH0UzfRvoAfRTN9G+gB9FM3 - 0b6AH0UzfRvoAfRTN9G+gB9FM30b6AH0UzfRvoAfRTN9G+gB9FM30b6AH0Uz - fRvoAfRTN9G+gB9FM30b6AH0UzfRvoAfRTN9G+gB9FM30b6AH0UzfRvoAfRT - N9G+gB9FM30b6AH0UzfRvoAfRTN9G+gB9FM30b6AH0UzfRvoAfRTN9G+gB9F - M30b6AH0UzfRvoAfRTN9G+gB9FM30b6AH0UzfRvoAfRTN9G+gB9FM30b6AH0 - UzfRvoAfRTN9G+gB9FM30b6AH0UzfRvoAfRTN9G+gB9FM30b6AH0UzfRvoAf - RTN9G+gB9FM30b6AH0UzfRvoAfRTN9G+gB9FM30b6AH0UzfRvoAfRTN9G+gB - 9FM30b6AH0UzfRvoAfRTN9G+gB9FM30b6AH0UzfRvoAfRTN9G+gB9FM30b6A - H0UzfRvoAfRTN9G+gB9FM30b6AH0UzfRvoAfRTN9G+gB9FM30b6AH0UzfRvo - AfRTN9G+gB9FM30b6AH0UzfRvoAfRTN9G+gB9FM30b6AH0UzfRvoAfRTN9G+ - gB9FM30b6AH0UzfRvoAfRTN9G+gB9FM30b6AH0UzfRvoAfRTN9G+gB9FM30b - 6AH0UzfRvoAfRTN9G+gB9FM30b6AH0UzfRvoAfRTN9G+gB9FM30b6AH0UzfR - voAfRTN9G+gB9FM30b6AH0UzfRvoAfRTN9G+gB9FM30b6AH0UzfRvoAfRTN9 - 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 - faR/k0faR/k0AbPn0efWN9pH+TR9pH+TQBs+fR59Y32kf5NH2kf5NAGz59Hn - 1jfaR/k0faR/k0AbPn0efWN9pH+TR9pH+TQBs+fR59Y32kf5NH2kf5NAGz59 - Hn1jfaR/k0faR/k0AbPn0efWN9pH+TR9pH+TQBs+fR59Y32kf5NH2kf5NAGz - 59Hn1jfaR/k0faR/k0AbPn0efWN9pH+TR9pH+TQBs+fR59Y32kf5NH2kf5NA - Gz59Hn1jfaR/k0faR/k0AbPn0efWN9pH+TR9pH+TQBs+fR59Y32kf5NH2kf5 - NAGz59Hn1jfaR/k0faR/k0AbPn0efWN9pH+TR9pH+TQBs+fR59Y32kf5NH2k - f5NAGz59Hn1jfaR/k0faR/k0AbPn0efWN9pH+TR9pH+TQBs+fR59Y32kf5NH - 2kf5NAGz59Hn1jfaR/k0faR/k0AbPn0efWN9pH+TR9pH+TQBs+fR59Y32kf5 - NH2kf5NAGz59Hn1jfaR/k0faR/k0AbPn0efWN9pH+TR9pH+TQBs+fR59Y32k - f5NH2kf5NAGz59Hn1jfaR/k0faR/k0AbPn0efWN9pH+TR9pH+TQBs+fR59Y3 - 2kf5NH2kf5NAGz59Hn1jfaR/k0faR/k0AbPn0efWN9pH+TR9pH+TQBs+fR59 - Y32kf5NH2kf5NAGz59Hn1jfaR/k0faR/k0AbPn0efWN9pH+TR9pH+TQBs+fR - 59Y32kf5NH2kf5NAGz59Hn1jfaR/k0faR/k0AbPn0efWN9pH+TR9pH+TQBs+ - fR59Y32kf5NH2kf5NAGz59Hn1jfaR/k0faR/k0AbPn0efWN9pH+TR9pH+TQB - s+fR59Y32kf5NH2kf5NAGz59Hn1jfaR/k0faR/k0AbPn0efWN9pH+TR9pH+T - QBs+fR59Y32kf5NH2kf5NAGz59Hn1jfaR/k0faR/k0AbPn0efWN9pH+TR9pH - +TQBs+fR59Y32kf5NH2kf5NAGz59Hn1jfaR/k0faR/k0AbPn0efWN9pH+TR9 - pH+TQBs+fR59Y32kf5NH2kf5NAGz59Hn1jfaR/k0faR/k0AbPn0efWN9pH+T - R9pH+TQBs+fR59Y32kf5NH2kf5NAGz59Hn1jfaR/k0faR/k0AbPn0efWN9pH - +TR9pH+TQBs+fR59Y32kf5NH2kf5NAGz59Hn1jfaR/k0faR/k0AbPn0efWN9 - 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 - +1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q9 - 6AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1r - nftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+ - 1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXv - R9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+ - 1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96 - AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rn - ftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1 - H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR - 9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1 - H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96A - Oi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnf - tXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H - 1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9 - q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H - 1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AO - i+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnft - XvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1 - o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q - 96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1 - 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 - AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA - UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR - RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF - FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU - AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA - UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR - RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF - FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU - AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA - UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR - RRQAUUUUAFFFFAH/1f3akNZkxq/Kw5rLmPBoAzrhsZrGuH/rWlO3JrEuH/rQ - Bm3D8GsG4kwfxrSuX4Nc7cyfN+NAH1bRRRQAUUUUAFFFFABRRRQAUUUUAFFF - FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU - AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA - UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR - RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF - FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU - AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA - UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR - RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF - FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU - AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA - UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAf/W/dOXvWTcHHStOU9ayJzg - UAZNy/WsK4fr+NbFy3JrAuW/rQBi3bnB+lc7cyc/jWxdtwa5q5f5vxoA+xqK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigD//X/c6Y4zWNcHiteU1j3B4oAxLluTXP3Tf1rdujyRXO3R/rQBgXbcGu - Yum+b8a6G7PBrl7pvm/GgD7VooooAKKKKACiiigAor5A/a/+NfiH4KeDtN1z - w/FHLLd39vbMJAxAWUPk/Ky8/L61678CfGuo/ED4caT4n1RVW4vYVdgucZOf - Uk9vWnYD2KiiikAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR - RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF - ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA - FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU - UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR - RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF - ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA - FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU - UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR - RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF - ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB//9D9 - y5e9Ylx0/OtuXvWJc9PzoAwro9a5269frXQ3Vc7ddPzoA5m8PB+lcvdk5/Gu - mvOh+lcvddR9aAPtyiiigAooooAKKKKAPzZ/4KT/APJMtC/7DFl/KWvoD9mD - VbDRvgHoOoalMkEENorMzsFGBuPUkDtXz/8A8FKCF+F+jStwkWrWjt/uqJc1 - 8SQ/tAaj4x8I+F/gh4Qu3sBIkcU9wZDCNokwwyflOVbp3qugup+j8v7XJ8Rf - EdfAPw70uTVfmIe5EJkt1AQPzJGxAyM446ivo34jfFfw78LvCz+IfFVwkBQA - 7NygklgvAZlz94V59+z18BvDHwj8MxGzMd9qEqkyXRRPMcgsBllzng461+cf - 7cnjVda+Leh+EtcuZY9DikuPtCJlww8uJ1/d9D8wpAem3v8AwUG8TXN39p0T - wXqt1p6k/vY9PldMdOqvjrX2J8Bv2n/B/wAaIPssLGx1VFy9tMFikHzFQNhc - tk4rxLwz+0P+y14f8Px6HbWUyxBcMBp2Ae/TPrX5/f8ACY+HdK/av8K+IPhT - 9rttIutRiF1GkDW6PEsJyGC8Eb/WqsB+mXxR/a4T4WfFHTPAOvabIINSnt4F - nWIlB5+cEuWAAAHPFfZulahDq2m2up25DR3UaSqR6OAR/Ovzo/bz8ALrnwys - PiXpcG7UdLdLt2C/P5cMDkfN16mvffgR8ULLV/2dbTxZ52W0rTlSTJ5EkFuj - MPXIqWM4z4k/tg6X4O+NGl/CLSLGTULm8MKyvHH5ixtJOYWBZX4wRzkV9q2s - rz20c0g2s6gkehNfi5+yf4dvPjN+1D4x+JN/Gtxo9hPeRxSv85W4ju45VUZ6 - YVs5zX7VgADAoYBRRRSAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii - igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK - ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA - KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo - oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii - igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK - ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA - KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo - oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii - igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK - ACiiigAooooAKKKKACiiigAooooAKKKKACiiigD/0f3JnrGuen51sz1jXPT8 - 6AMC66n8K5y7/wAa6O66n8K5y7/xoA5e77/SuWu/vfjXU3ff6Vy13978aAPt - +iiigAooooAKKKKAPzT/AOCmEZn+Eum2qsUNxqVtEGHUb1lGR9K+cdK/ZGsN - d/Zq0Hxh4TVk8T2UEVw10gRZZDGzOcljjnAHFfpP+0p+z8n7QXhiy8OvrD6P - 9ju4boSJEJiTEH+XBZeu7rXofwn+HCfDTwFp/gmS8OpLZQiEysgjLgZ5KgnH - X1qr6CsfEn7FX7Quo63Zt8M/iFOYtdsAFAkyWbcHkPzY29MV89/ts+Go/Cvx - o8P+N9atftGivJcefkbkwY40XIXn7xr6z+Mn7ES+PviBZ/ETwL4sl8GanA5a - RoLVbnzchVwfMkAHyqRwO9fTvjD4Q6J8QvBB8H+NT/ae5QDM6lTkMGzhGHoO - 9K4Hh/hD4cfsx+J9Ch1W00mwdCuSSpU+nQmuGsNf/ZS034jad4P0TTLZ9Zkn - VIfLt5TtdlyDuGVHHc14Hf8A/BNXx1Z30kXhL4rXelabKf8AUJp8LhR16vLk - 819afs/fsXeAPgnejxJcN/bfiR1Ak1CRWidtrEr8gkZBgHHAoYH0P8SPC9n4 - s+HOq+HzEGiubOSNUx2ZMAc+1fhx4c+LOqfCP4ffED4K3EzG7ur3VWtEbOcT - Dyo1BX5QPl4zX9AOoahY6ZatcX8oihQck+gr8CviL4d8P/Fn9sOx03wrCLiC - G9gkuSu4DH2tg7HcV9e1OIM/Tj9hv4W2vw5+C1neeQIb7xKyarcnjJluoIi/ - I91r7MrE8N6TDoOgafo1uu2OygjhUeyKF/pW3UjCiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKAP/9L9yZ6xrnp+dbM9Y1z0/OgDAuup/Cucu/8AGujuup/Cucu/8aAOXu+/ - 0rlrv73411N33+lctd/e/GgD7fooooAKKKKACiiigAooooAKKKKACiiigD5p - /aP+Bms/G/w3FoOj+IT4fdZd5lEAnyNjLjaXT1z1rl/2cP2Q/BnwDabW/O/t - jxJdKY5r8q8W5CVbb5ZkdR8wzketfX1FABRRRQAUUUUAFFFFABRRRQAUUUUA - FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU - UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR - RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF - ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA - FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU - UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR - RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF - ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA - FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU - UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR - RQB//9P9yZ6xrnp+dbM9Y1z0/OgDAuup/Cucu/8AGujuup/Cucu/8aAOXu+/ - 0rlrv73411N33+lctd/e/GgD7fooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKAP//U/cmesa56fnWzPWNc9PzoAwLr - qfwrnLv/ABro7rqfwrnLv/GgDl7vv9K5a7+9+NdTd9/pXLXf3vxoA+36KKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gD//1f3JnrGuen51sz1jXPT86AMC66n8K5y7/wAa6O66n8K5y7/xoA5e77/S - uWu/vfjXU3ff6Vy13978aAPt+iiigAooooAKKKKACio5ZY4IzLKwVVGSTXn+ - rfFTwVo0xgvb8K68Hapb+QNAHolFeR/8Lv8Ah5/0ED/37f8Awo/4Xf8ADz/o - IH/v2/8AhQB65RXkf/C7/h5/0ED/AN+3/wAKP+F3/Dz/AKCB/wC/b/4UAeuU - V5H/AMLv+Hn/AEED/wB+3/wo/wCF3/Dz/oIH/v2/+FAHrlFeR/8AC7/h5/0E - D/37f/Cj/hd/w8/6CB/79v8A4UAeuUV5H/wu/wCHn/QQP/ft/wDCj/hd/wAP - P+ggf+/b/wCFAHrlFeR/8Lv+Hn/QQP8A37f/AAo/4Xf8PP8AoIH/AL9v/hQB - 65RXkf8Awu/4ef8AQQP/AH7f/Cj/AIXf8PP+ggf+/b/4UAeuUV5H/wALv+Hn - /QQP/ft/8KP+F3/Dz/oIH/v2/wDhQB65RXkf/C7/AIef9BA/9+3/AMKP+F3/ - AA8/6CB/79v/AIUAeuUV5H/wu/4ef9BA/wDft/8ACj/hd/w8/wCggf8Av2/+ - FAHrlFeR/wDC7/h5/wBBA/8Aft/8KP8Ahd/w8/6CB/79v/hQB65RXkf/AAu/ - 4ef9BA/9+3/wo/4Xf8PP+ggf+/b/AOFAHrlFeR/8Lv8Ah5/0ED/37f8Awo/4 - Xf8ADz/oIH/v2/8AhQB65RXkf/C7/h5/0ED/AN+3/wAKP+F3/Dz/AKCB/wC/ - b/4UAeuUV5H/AMLv+Hn/AEED/wB+3/wo/wCF3/Dz/oIH/v2/+FAHrlFeR/8A - C7/h5/0ED/37f/Cj/hd/w8/6CB/79v8A4UAeuUV5H/wu/wCHn/QQP/ft/wDC - j/hd/wAPP+ggf+/b/wCFAHrlFeR/8Lv+Hn/QQP8A37f/AAo/4Xf8PP8AoIH/ - AL9v/hQB65RXkf8Awu/4ef8AQQP/AH7f/Cj/AIXf8PP+ggf+/b/4UAeuUV5H - /wALv+Hn/QQP/ft/8KP+F3/Dz/oIH/v2/wDhQB65RXkf/C7/AIef9BA/9+3/ - AMKP+F3/AA8/6CB/79v/AIUAeuUV5H/wu/4ef9BA/wDft/8ACj/hd/w8/wCg - gf8Av2/+FAHrlFeR/wDC7/h5/wBBA/8Aft/8KP8Ahd/w8/6CB/79v/hQB65R - Xkf/AAu/4ef9BA/9+3/wo/4Xf8PP+ggf+/b/AOFAHrlFeR/8Lv8Ah5/0ED/3 - 7f8Awo/4Xf8ADz/oIH/v2/8AhQB65RXkf/C7/h5/0ED/AN+3/wAKP+F3/Dz/ - AKCB/wC/b/4UAeuUV5H/AMLv+Hn/AEED/wB+3/wo/wCF3/Dz/oIH/v2/+FAH - rlFeR/8AC7/h5/0ED/37f/Cj/hd/w8/6CB/79v8A4UAeuUV5H/wu/wCHn/QQ - P/ft/wDCj/hd/wAPP+ggf+/b/wCFAHrlFeR/8Lv+Hn/QQP8A37f/AAo/4Xf8 - PP8AoIH/AL9v/hQB65RXkf8Awu/4ef8AQQP/AH7f/Cj/AIXf8PP+ggf+/b/4 - UAeuUV5H/wALv+Hn/QQP/ft/8KP+F3/Dz/oIH/v2/wDhQB65RXkf/C7/AIef - 9BA/9+3/AMKP+F3/AA8/6CB/79v/AIUAeuUV5H/wu/4ef9BA/wDft/8ACj/h - d/w8/wCggf8Av2/+FAHrlFeR/wDC7/h5/wBBA/8Aft/8KP8Ahd/w8/6CB/79 - v/hQB65RXkf/AAu/4ef9BA/9+3/wo/4Xf8PP+ggf+/b/AOFAHrlFeR/8Lv8A - h5/0ED/37f8Awo/4Xf8ADz/oIH/v2/8AhQB65RXkf/C7/h5/0ED/AN+3/wAK - P+F3/Dz/AKCB/wC/b/4UAeuUV5H/AMLv+Hn/AEED/wB+3/wo/wCF3/Dz/oIH - /v2/+FAHrlFeR/8AC7/h5/0ED/37f/Cj/hd/w8/6CB/79v8A4UAeuUV5H/wu - /wCHn/QQP/ft/wDCj/hd/wAPP+ggf+/b/wCFAHrlFeR/8Lv+Hn/QQP8A37f/ - AAo/4Xf8PP8AoIH/AL9v/hQB65RXkf8Awu/4ef8AQQP/AH7f/Cj/AIXf8PP+ - ggf+/b/4UAeuUV5H/wALv+Hn/QQP/ft/8KP+F3/Dz/oIH/v2/wDhQB65RXkf - /C7/AIef9BA/9+3/AMKP+F3/AA8/6CB/79v/AIUAeuUV5H/wu/4ef9BA/wDf - t/8ACj/hd/w8/wCggf8Av2/+FAHrlFeR/wDC7/h5/wBBA/8Aft/8KP8Ahd/w - 8/6CB/79v/hQB65RXkf/AAu/4ef9BA/9+3/wo/4Xf8PP+ggf+/b/AOFAHrlF - eR/8Lv8Ah5/0ED/37f8Awo/4Xf8ADz/oIH/v2/8AhQB65RXkf/C7/h5/0ED/ - AN+3/wAKP+F3/Dz/AKCB/wC/b/4UAeuUV5H/AMLv+Hn/AEED/wB+3/wo/wCF - 3/Dz/oIH/v2/+FAHrlFeR/8AC7/h5/0ED/37f/Cj/hd/w8/6CB/79v8A4UAe - uUV5H/wu/wCHn/QQP/ft/wDCj/hd/wAPP+ggf+/b/wCFAHrlFeR/8Lv+Hn/Q - QP8A37f/AAo/4Xf8PP8AoIH/AL9v/hQB65RXkf8Awu/4ef8AQQP/AH7f/Cj/ - AIXf8PP+ggf+/b/4UAeuUV5H/wALv+Hn/QQP/ft/8KP+F3/Dz/oIH/v2/wDh - QB65RXkf/C7/AIef9BA/9+3/AMKP+F3/AA8/6CB/79v/AIUAeuUV5H/wu/4e - f9BA/wDft/8ACj/hd/w8/wCggf8Av2/+FAHrlFeR/wDC7/h5/wBBA/8Aft/8 - KP8Ahd/w8/6CB/79v/hQB65RXkf/AAu/4ef9BA/9+3/wo/4Xf8PP+ggf+/b/ - AOFAHrlFeR/8Lv8Ah5/0ED/37f8Awo/4Xf8ADz/oIH/v2/8AhQB65RXkf/C7 - /h5/0ED/AN+3/wAKP+F3/Dz/AKCB/wC/b/4UAeuUV5H/AMLv+Hn/AEED/wB+ - 3/wo/wCF3/Dz/oIH/v2/+FAHrlFeR/8AC7/h5/0ED/37f/Cj/hd/w8/6CB/7 - 9v8A4UAeuUV5H/wu/wCHn/QQP/ft/wDCj/hd/wAPP+ggf+/b/wCFAHrlFeR/ - 8Lv+Hn/QQP8A37f/AAo/4Xf8PP8AoIH/AL9v/hQB65RXkf8Awu/4ef8AQQP/ - AH7f/Cj/AIXf8PP+ggf+/b/4UAeuUV5H/wALv+Hn/QQP/ft/8KP+F3/Dz/oI - H/v2/wDhQB65RXkf/C7/AIef9BA/9+3/AMKP+F3/AA8/6CB/79v/AIUAeuUV - 5H/wu/4ef9BA/wDft/8ACj/hd/w8/wCggf8Av2/+FAHrlFeR/wDC7/h5/wBB - A/8Aft/8KP8Ahd/w8/6CB/79v/hQB65RXkf/AAu/4ef9BA/9+3/wo/4Xf8PP - +ggf+/b/AOFAHrlFeR/8Lv8Ah5/0ED/37f8Awo/4Xf8ADz/oIH/v2/8AhQB6 - 5RXkf/C7/h5/0ED/AN+3/wAKP+F3/Dz/AKCB/wC/b/4UAeuUV5H/AMLv+Hn/ - AEED/wB+3/wo/wCF3/Dz/oIH/v2/+FAHrlFeR/8AC7/h5/0ED/37f/Cj/hd/ - w8/6CB/79v8A4UAeuUV5H/wu/wCHn/QQP/ft/wDCj/hd/wAPP+ggf+/b/wCF - AHrlFeR/8Lv+Hn/QQP8A37f/AAo/4Xf8PP8AoIH/AL9v/hQB65RXkf8Awu/4 - ef8AQQP/AH7f/Cj/AIXf8PP+ggf+/b/4UAeuUV5H/wALv+Hn/QQP/ft/8KP+ - F3/Dz/oIH/v2/wDhQB65RXkf/C7/AIef9BA/9+3/AMKP+F3/AA8/6CB/79v/ - AIUAeuUV5H/wu/4ef9BA/wDft/8ACj/hd/w8/wCggf8Av2/+FAHrlFeR/wDC - 7/h5/wBBA/8Aft/8KP8Ahd/w8/6CB/79v/hQB65RXkf/AAu/4ef9BA/9+3/w - o/4Xf8PP+ggf+/b/AOFAHrlFeR/8Lv8Ah5/0ED/37f8Awo/4Xf8ADz/oIH/v - 2/8AhQB65RXkf/C7/h5/0ED/AN+3/wAKP+F3/Dz/AKCB/wC/b/4UAeuUV5H/ - AMLv+Hn/AEED/wB+3/wo/wCF3/Dz/oIH/v2/+FAHrlFeR/8AC7/h5/0ED/37 - f/Cj/hd/w8/6CB/79v8A4UAeuUV5H/wu/wCHn/QQP/ft/wDCj/hd/wAPP+gg - f+/b/wCFAHrlFeR/8Lv+Hn/QQP8A37f/AAo/4Xf8PP8AoIH/AL9v/hQB65RX - kf8Awu/4ef8AQQP/AH7f/Cj/AIXf8PP+ggf+/b/4UAeuUV5H/wALv+Hn/QQP - /ft/8KP+F3/Dz/oIH/v2/wDhQB65RXkf/C7/AIef9BA/9+3/AMKP+F3/AA8/ - 6CB/79v/AIUAeuUV5H/wu/4ef9BA/wDft/8ACj/hd/w8/wCggf8Av2/+FAHr - lFeR/wDC7/h5/wBBA/8Aft/8KP8Ahd/w8/6CB/79v/hQB65RXkf/AAu/4ef9 - BA/9+3/wo/4Xf8PP+ggf+/b/AOFAHrlFeR/8Lv8Ah5/0ED/37f8Awo/4Xf8A - Dz/oIH/v2/8AhQB65RXkf/C7/h5/0ED/AN+3/wAKP+F3/Dz/AKCB/wC/b/4U - AeuUV5H/AMLv+Hn/AEED/wB+3/wo/wCF3/Dz/oIH/v2/+FAHrlFeR/8AC7/h - 5/0ED/37f/Cj/hd/w8/6CB/79v8A4UAeuUV5H/wu/wCHn/QQP/ft/wDCj/hd - /wAPP+ggf+/b/wCFAHrlFeR/8Lv+Hn/QQP8A37f/AAo/4Xf8PP8AoIH/AL9v - /hQB65RXkf8Awu/4ef8AQQP/AH7f/Cj/AIXf8PP+ggf+/b/4UAeuUV5H/wAL - v+Hn/QQP/ft/8KP+F3/Dz/oIH/v2/wDhQB65RXkf/C7/AIef9BA/9+3/AMKP - +F3/AA8/6CB/79v/AIUAeuUV5H/wu/4ef9BA/wDft/8ACj/hd/w8/wCggf8A - v2/+FAHrlFeR/wDC7/h5/wBBA/8Aft/8KP8Ahd/w8/6CB/79v/hQB65RXkf/ - AAu/4ef9BA/9+3/wo/4Xf8PP+ggf+/b/AOFAHrlFeR/8Lv8Ah5/0ED/37f8A - wo/4Xf8ADz/oIH/v2/8AhQB65RXkf/C7/h5/0ED/AN+3/wAKP+F3/Dz/AKCB - /wC/b/4UAeuUV5H/AMLv+Hn/AEED/wB+3/wo/wCF3/Dz/oIH/v2/+FAHrlFe - R/8AC7/h5/0ED/37f/Cj/hd/w8/6CB/79v8A4UAeuUV5H/wu/wCHn/QQP/ft - /wDCj/hd/wAPP+ggf+/b/wCFAHrlFeR/8Lv+Hn/QQP8A37f/AAo/4Xf8PP8A - oIH/AL9v/hQB65RXkf8Awu/4ef8AQQP/AH7f/Cj/AIXf8PP+ggf+/b/4UAeu - UV5H/wALv+Hn/QQP/ft/8KP+F3/Dz/oIH/v2/wDhQB65RXkf/C7/AIef9BA/ - 9+3/AMKP+F3/AA8/6CB/79v/AIUAeuUV5H/wu/4ef9BA/wDft/8ACj/hd/w8 - /wCggf8Av2/+FAHrlFeR/wDC7/h5/wBBA/8Aft/8KP8Ahd/w8/6CB/79v/hQ - B65RXkf/AAu/4ef9BA/9+3/wo/4Xf8PP+ggf+/b/AOFAHrlFeR/8Lv8Ah5/0 - ED/37f8Awo/4Xf8ADz/oIH/v2/8AhQB//9b9yZ6xrnp+dbM9Y1z0/OgDAuup - /Cucu/8AGujuup/Cucu/8aAOXu+/0rlrv73411N33+lctd/e/GgD7fooooAK - KKKACiiigD5M+N/i/XdZ1q1+G/hSUw3F4V86RcHEZZo3GGA9R0NbPg39mrwf - p+nRnxVAuq3rgF3bfHz9FfFcpoaif9o6+EvzBLefHtiYV9i0AeMf8M/fCb/o - BJ/38l/+Lo/4Z++E3/QCT/v5L/8AF17PRQB4x/wz98Jv+gEn/fyX/wCLo/4Z - ++E3/QCT/v5L/wDF17PRQB4x/wAM/fCb/oBJ/wB/Jf8A4uj/AIZ++E3/AEAk - /wC/kv8A8XXs9FAHjH/DP3wm/wCgEn/fyX/4uj/hn74Tf9AJP+/kv/xdez0U - AeMf8M/fCb/oBJ/38l/+Lo/4Z++E3/QCT/v5L/8AF17PRQB4x/wz98Jv+gEn - /fyX/wCLo/4Z++E3/QCT/v5L/wDF17PRQB4x/wAM/fCb/oBJ/wB/Jf8A4uj/ - AIZ++E3/AEAk/wC/kv8A8XXs9FAHjH/DP3wm/wCgEn/fyX/4uj/hn74Tf9AJ - P+/kv/xdez0UAeMf8M/fCb/oBJ/38l/+Lo/4Z++E3/QCT/v5L/8AF17PRQB4 - x/wz98Jv+gEn/fyX/wCLo/4Z++E3/QCT/v5L/wDF17PRQB4x/wAM/fCb/oBJ - /wB/Jf8A4uj/AIZ++E3/AEAk/wC/kv8A8XXs9FAHjH/DP3wm/wCgEn/fyX/4 - uj/hn74Tf9AJP+/kv/xdez0UAeMf8M/fCb/oBJ/38l/+Lo/4Z++E3/QCT/v5 - L/8AF17PRQB4x/wz98Jv+gEn/fyX/wCLo/4Z++E3/QCT/v5L/wDF17PRQB4x - /wAM/fCb/oBJ/wB/Jf8A4uj/AIZ++E3/AEAk/wC/kv8A8XXs9FAHjH/DP3wm - /wCgEn/fyX/4uj/hn74Tf9AJP+/kv/xdez0UAeMf8M/fCb/oBJ/38l/+Lo/4 - Z++E3/QCT/v5L/8AF17PRQB4x/wz98Jv+gEn/fyX/wCLo/4Z++E3/QCT/v5L - /wDF17PRQB4x/wAM/fCb/oBJ/wB/Jf8A4uj/AIZ++E3/AEAk/wC/kv8A8XXs - 9FAHjH/DP3wm/wCgEn/fyX/4uj/hn74Tf9AJP+/kv/xdez0UAeMf8M/fCb/o - BJ/38l/+Lo/4Z++E3/QCT/v5L/8AF17PRQB4x/wz98Jv+gEn/fyX/wCLo/4Z - ++E3/QCT/v5L/wDF17PRQB4x/wAM/fCb/oBJ/wB/Jf8A4uj/AIZ++E3/AEAk - /wC/kv8A8XXs9FAHjH/DP3wm/wCgEn/fyX/4uj/hn74Tf9AJP+/kv/xdez0U - AeMf8M/fCb/oBJ/38l/+Lo/4Z++E3/QCT/v5L/8AF17PRQB4x/wz98Jv+gEn - /fyX/wCLo/4Z++E3/QCT/v5L/wDF17PRQB4x/wAM/fCb/oBJ/wB/Jf8A4uj/ - AIZ++E3/AEAk/wC/kv8A8XXs9FAHjH/DP3wm/wCgEn/fyX/4uj/hn74Tf9AJ - P+/kv/xdez0UAeMf8M/fCb/oBJ/38l/+Lo/4Z++E3/QCT/v5L/8AF17PRQB4 - x/wz98Jv+gEn/fyX/wCLo/4Z++E3/QCT/v5L/wDF17PRQB4x/wAM/fCb/oBJ - /wB/Jf8A4uj/AIZ++E3/AEAk/wC/kv8A8XXs9FAHjH/DP3wm/wCgEn/fyX/4 - uj/hn74Tf9AJP+/kv/xdez0UAeMf8M/fCb/oBJ/38l/+Lo/4Z++E3/QCT/v5 - L/8AF17PRQB4x/wz98Jv+gEn/fyX/wCLo/4Z++E3/QCT/v5L/wDF17PRQB4x - /wAM/fCb/oBJ/wB/Jf8A4uj/AIZ++E3/AEAk/wC/kv8A8XXs9FAHjH/DP3wm - /wCgEn/fyX/4uj/hn74Tf9AJP+/kv/xdez0UAeMf8M/fCb/oBJ/38l/+Lo/4 - Z++E3/QCT/v5L/8AF17PRQB4x/wz98Jv+gEn/fyX/wCLo/4Z++E3/QCT/v5L - /wDF17PRQB4x/wAM/fCb/oBJ/wB/Jf8A4uj/AIZ++E3/AEAk/wC/kv8A8XXs - 9FAHjH/DP3wm/wCgEn/fyX/4uj/hn74Tf9AJP+/kv/xdez0UAeMf8M/fCb/o - BJ/38l/+Lo/4Z++E3/QCT/v5L/8AF17PRQB4x/wz98Jv+gEn/fyX/wCLo/4Z - ++E3/QCT/v5L/wDF17PRQB4x/wAM/fCb/oBJ/wB/Jf8A4uj/AIZ++E3/AEAk - /wC/kv8A8XXs9FAHjH/DP3wm/wCgEn/fyX/4uj/hn74Tf9AJP+/kv/xdez0U - AeMf8M/fCb/oBJ/38l/+Lo/4Z++E3/QCT/v5L/8AF17PRQB4x/wz98Jv+gEn - /fyX/wCLo/4Z++E3/QCT/v5L/wDF17PRQB4x/wAM/fCb/oBJ/wB/Jf8A4uj/ - AIZ++E3/AEAk/wC/kv8A8XXs9FAHjH/DP3wm/wCgEn/fyX/4uj/hn74Tf9AJ - P+/kv/xdez0UAeMf8M/fCb/oBJ/38l/+Lo/4Z++E3/QCT/v5L/8AF17PRQB4 - x/wz98Jv+gEn/fyX/wCLo/4Z++E3/QCT/v5L/wDF17PRQB4x/wAM/fCb/oBJ - /wB/Jf8A4uj/AIZ++E3/AEAk/wC/kv8A8XXs9FAHjH/DP3wm/wCgEn/fyX/4 - uj/hn74Tf9AJP+/kv/xdez0UAeMf8M/fCb/oBJ/38l/+Lo/4Z++E3/QCT/v5 - L/8AF17PRQB4x/wz98Jv+gEn/fyX/wCLo/4Z++E3/QCT/v5L/wDF17PRQB4x - /wAM/fCb/oBJ/wB/Jf8A4uj/AIZ++E3/AEAk/wC/kv8A8XXs9FAHjH/DP3wm - /wCgEn/fyX/4uj/hn74Tf9AJP+/kv/xdez0UAeMf8M/fCb/oBJ/38l/+Lo/4 - Z++E3/QCT/v5L/8AF17PRQB4x/wz98Jv+gEn/fyX/wCLo/4Z++E3/QCT/v5L - /wDF17PRQB4x/wAM/fCb/oBJ/wB/Jf8A4uj/AIZ++E3/AEAk/wC/kv8A8XXs - 9FAHjH/DP3wm/wCgEn/fyX/4uj/hn74Tf9AJP+/kv/xdez0UAeMf8M/fCb/o - BJ/38l/+Lo/4Z++E3/QCT/v5L/8AF17PRQB4x/wz98Jv+gEn/fyX/wCLo/4Z - ++E3/QCT/v5L/wDF17PRQB4x/wAM/fCb/oBJ/wB/Jf8A4uj/AIZ++E3/AEAk - /wC/kv8A8XXs9FAHjH/DP3wm/wCgEn/fyX/4uj/hn74Tf9AJP+/kv/xdez0U - AeMf8M/fCb/oBJ/38l/+Lo/4Z++E3/QCT/v5L/8AF17PRQB4x/wz98Jv+gEn - /fyX/wCLo/4Z++E3/QCT/v5L/wDF17PRQB4x/wAM/fCb/oBJ/wB/Jf8A4uj/ - AIZ++E3/AEAk/wC/kv8A8XXs9FAHjH/DP3wm/wCgEn/fyX/4uj/hn74Tf9AJ - P+/kv/xdez0UAeMf8M/fCb/oBJ/38l/+Lo/4Z++E3/QCT/v5L/8AF17PRQB4 - x/wz98Jv+gEn/fyX/wCLo/4Z++E3/QCT/v5L/wDF17PRQB4x/wAM/fCb/oBJ - /wB/Jf8A4uj/AIZ++E3/AEAk/wC/kv8A8XXs9FAHjH/DP3wm/wCgEn/fyX/4 - uj/hn74Tf9AJP+/kv/xdez0UAeMf8M/fCb/oBJ/38l/+Lo/4Z++E3/QCT/v5 - L/8AF17PRQB4x/wz98Jv+gEn/fyX/wCLo/4Z++E3/QCT/v5L/wDF17PRQB4x - /wAM/fCb/oBJ/wB/Jf8A4uj/AIZ++E3/AEAk/wC/kv8A8XXs9FAHjH/DP3wm - /wCgEn/fyX/4uj/hn74Tf9AJP+/kv/xdez0UAeMf8M/fCb/oBJ/38l/+Lo/4 - Z++E3/QCT/v5L/8AF17PRQB4x/wz98Jv+gEn/fyX/wCLo/4Z++E3/QCT/v5L - /wDF17PRQB4x/wAM/fCb/oBJ/wB/Jf8A4uj/AIZ++E3/AEAk/wC/kv8A8XXs - 9FAHjH/DP3wm/wCgEn/fyX/4uj/hn74Tf9AJP+/kv/xdez0UAeMf8M/fCb/o - BJ/38l/+Lo/4Z++E3/QCT/v5L/8AF17PRQB4x/wz98Jv+gEn/fyX/wCLo/4Z - ++E3/QCT/v5L/wDF17PRQB4x/wAM/fCb/oBJ/wB/Jf8A4uj/AIZ++E3/AEAk - /wC/kv8A8XXs9FAHjH/DP3wm/wCgEn/fyX/4uj/hn74Tf9AJP+/kv/xdez0U - AeMf8M/fCb/oBJ/38l/+Lo/4Z++E3/QCT/v5L/8AF17PRQB4x/wz98Jv+gEn - /fyX/wCLo/4Z++E3/QCT/v5L/wDF17PRQB4x/wAM/fCb/oBJ/wB/Jf8A4uj/ - AIZ++E3/AEAk/wC/kv8A8XXs9FAHjH/DP3wm/wCgEn/fyX/4uj/hn74Tf9AJ - P+/kv/xdez0UAeMf8M/fCb/oBJ/38l/+Lo/4Z++E3/QCT/v5L/8AF17PRQB4 - x/wz98Jv+gEn/fyX/wCLo/4Z++E3/QCT/v5L/wDF17PRQB4x/wAM/fCb/oBJ - /wB/Jf8A4uj/AIZ++E3/AEAk/wC/kv8A8XXs9FAHjH/DP3wm/wCgEn/fyX/4 - uj/hn74Tf9AJP+/kv/xdez0UAeMf8M/fCb/oBJ/38l/+Lo/4Z++E3/QCT/v5 - L/8AF17PRQB4x/wz98Jv+gEn/fyX/wCLo/4Z++E3/QCT/v5L/wDF17PRQB4x - /wAM/fCb/oBJ/wB/Jf8A4uj/AIZ++E3/AEAk/wC/kv8A8XXs9FAHjH/DP3wm - /wCgEn/fyX/4uj/hn74Tf9AJP+/kv/xdez0UAeMf8M/fCb/oBJ/38l/+Lo/4 - Z++E3/QCT/v5L/8AF17PRQB4x/wz98Jv+gEn/fyX/wCLo/4Z++E3/QCT/v5L - /wDF17PRQB4x/wAM/fCb/oBJ/wB/Jf8A4uj/AIZ++E3/AEAk/wC/kv8A8XXs - 9FAHjH/DP3wm/wCgEn/fyX/4uj/hn74Tf9AJP+/kv/xdez0UAeMf8M/fCb/o - BJ/38l/+Lo/4Z++E3/QCT/v5L/8AF17PRQB4x/wz98Jv+gEn/fyX/wCLo/4Z - ++E3/QCT/v5L/wDF17PRQB4x/wAM/fCb/oBJ/wB/Jf8A4uj/AIZ++E3/AEAk - /wC/kv8A8XXs9FAHjH/DP3wm/wCgEn/fyX/4uj/hn74Tf9AJP+/kv/xdez0U - AeMf8M/fCb/oBJ/38l/+Lo/4Z++E3/QCT/v5L/8AF17PRQB4x/wz98Jv+gEn - /fyX/wCLo/4Z++E3/QCT/v5L/wDF17PRQB4x/wAM/fCb/oBJ/wB/Jf8A4uj/ - AIZ++E3/AEAk/wC/kv8A8XXs9FAHjH/DP3wm/wCgEn/fyX/4uj/hn74Tf9AJ - P+/kv/xdez0UAeMf8M/fCb/oBJ/38l/+Lo/4Z++E3/QCT/v5L/8AF17PRQB4 - x/wz98Jv+gEn/fyX/wCLo/4Z++E3/QCT/v5L/wDF17PRQB4x/wAM/fCb/oBJ - /wB/Jf8A4uj/AIZ++E3/AEAk/wC/kv8A8XXs9FAHjH/DP3wm/wCgEn/fyX/4 - uj/hn74Tf9AJP+/kv/xdez0UAeMf8M/fCb/oBJ/38l/+Lo/4Z++E3/QCT/v5 - L/8AF17PRQB4x/wz98Jv+gEn/fyX/wCLo/4Z++E3/QCT/v5L/wDF17PRQB4x - /wAM/fCb/oBJ/wB/Jf8A4uj/AIZ++E3/AEAk/wC/kv8A8XXs9FAHjH/DP3wm - /wCgEn/fyX/4uj/hn74Tf9AJP+/kv/xdez0UAeMf8M/fCb/oBJ/38l/+Lo/4 - Z++E3/QCT/v5L/8AF17PRQB4x/wz98Jv+gEn/fyX/wCLo/4Z++E3/QCT/v5L - /wDF17PRQB4x/wAM/fCb/oBJ/wB/Jf8A4uj/AIZ++E3/AEAk/wC/kv8A8XXs - 9FAHjH/DP3wm/wCgEn/fyX/4uj/hn74Tf9AJP+/kv/xdez0UAeMf8M/fCb/o - BJ/38l/+Lo/4Z++E3/QCT/v5L/8AF17PRQB//9f9yZ6xrnp+dbM9Y1z0/OgD - Auup/Cucu/8AGujuup/Cucu/8aAOXu+/0rlrv73411N33+lctd/e/GgD7foo - ooAKKKKACiiigD478O/8nH6j/wBe9x/6OWvsSvjvw7/ycfqP/Xvcf+jlr7Eo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/0P3JnrGuen51 - sz1jXPT86AMC66n8K5y7/wAa6O66n8K5y7/xoA5e77/SuWu/vfjXU3ff6Vy1 - 3978aAPt+iiigAooooAKKKKAPjvw7/ycfqP/AF73H/o5a+xK+O/Dv/Jx+o/9 - e9x/6OWvsSgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//R - /cmesa56fnWzPWNc9PzoAwLrqfwrnLv/ABro7rqfwrnLv/GgDl7vv9K5a7+9 - +NdTd9/pXLXf3vxoA+36KKKACiiigAooooA+O/Dv/Jx+o/8AXvcf+jlr7Er4 - 78O/8nH6j/173H/o5a+xKACiiigAooqOWVIY2lkOFUZJoAkor8wPi1/wU6+F - nws+IUngO6t5LiSBkEkiwuwAYkHlTjjFfoL8N/Huj/Evwfp3jHQ23Wuowxyr - kYI8xFfGPo1AHdUV5F8aPjD4c+Cvg258YeJHIghD4AGSzLGz4wCDyFNfHXwA - /wCCj3wy+OfjOTwdZwvZzhGdC0TqGAZVHLHHJagD9IqKOtfAn7Tn7e/w9/Zu - 8RQeGNYie7vZN29Vjd9u3Yf4T6PQB990V4B+zx+0F4U/aH8EQeM/C+5Y5M7k - ZShXDunQkn+A16V8QvHmhfDXwnf+MfEcvk2GnqGkb0DMFHp3IoA7Wivy7+E3 - /BUH4UfFH4hW3gW3gktmu5hDHI0Mi7myehY47V+n8E0dzBHcRHKSqGX6MMig - CWivin9qL9tn4efsyi2ttf3XN9cOgEKIzkK4fDYU5xlMdK779mz9pvwb+0j4 - XbxB4Y3I0blHjKFdpVEc/eJPG8UAfTFFZusara6Jplzqt622G2jaRj7KCT/K - vy6v/wDgqn8I7L4k3HgLyJGSCcwGfyZME4GMHO05zQB+q9FZejataa7pkGq2 - LboLgblPTjOK+bv2mf2pvB37NWgRax4kVpZJ87I1RnztZFP3Tn+MUAfUtFfF - /wCy7+2h4D/ab+12/h5Ht7u02lo2jZPvlwPvHP8ABX2bJIsSGR+FXrQA+ivz - H+LX/BTT4XfCz4hyeA7u3kne3lMUsghdtpV2RuVOOCtff3w48f6J8S/CVh4u - 0F99rfRRyDIwRvQPjH0YUAd1RXg/7Q3x88Kfs7+A5PHPitz5AkEKIAWLSMjs - owCDzsNfNH7NP/BQv4bftFeLW8HabE9lfFHeMPG6BlRQTy596AP0PooooAKK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigD//S/cmesa56fnWzPWNc9PzoAwLrqfwr - nLv/ABro7rqfwrnLv/GgDl7vv9K5a7+9+NdTd9/pXLXf3vxoA+36KKKACiii - gAooooA+O/Dv/Jx+o/8AXvcf+jlr7Er478O/8nH6j/173H/o5a+xKACiiigA - qteWy3dtJbOcCQYNWaKAP54f2lv+CZPxb8afF6bxF4JcXWl6pMgnkZoYzDGx - YuwV5Mttz071+2X7Pfwwl+EPwr0TwRcTGeeyt4VkYgD50iRG6EjqvrXtlFAH - yt+118Bbn4//AAtuvCdhcm3vI98sOADucQyIq/MygZL9c1+WH7Gv/BOH4r/D - v4pz+LPiKw06zsQ8VuEeGbzlV43VjskJXO08V+/FFACAADbX4mf8FBP2DPiZ - 8bPH0Xj/AOGSC9nuGPnwu8UQUERJndI4zhVJ6V+2lFAHxP8AsQ/s26p+zp8M - otA125M+oTD94uFAQiWVhyrMDw9e3/tBfCiD41/CjXPhzczGBNWjRCwGcbJF - k6ZX+7617TRQB/Oj+z7/AMEv/i94U+N+k+JvFkosdF0S6W5jlVoZDL94FSqy - 7lwCDmv6JLC2+xWNvZg7vIjSPPrtAFWqKAPyM/4KDfsLeKf2gdRt/G3gOTzd - YgWOHySUQFEEjfekkUfeYDpXsX/BP79lLxF+zZ4DmtvFdxu1O/me4li+QiMy - xRBlDI7A4KHmv0RooA5vxfoKeJ/DWo6C7bBewSRZxn76Ffb1r+dzxB/wSt+L - c3xpe501gfC8tyZjdb4QyBMFR5Zl3HJH4V/SPRQBzPg7QP8AhF/DVjoQfzPs - iFd2MZySff1r4D/4KC/soeK/2jfClm/gyfOpadv2QHYok8x4s5d3UDAQmv0i - ooA/Jb/gnb+xX42/Z+N74o+IeLbVrzapt1aOQKI2kCnfG7DlWB6V+sdxD58D - wk43jFTUUAfzv/tIf8E1fjL42+PUniLwki3nh/Wbsy3Vw0kMbQJNM7uQjSBm - 2gj0zX7bfAH4WL8HvhrpfgzzjO9rFEHYjHzrGqHoW/u+te1UUAfD37eX7Mup - /tN/CD/hFdAuza6nY3Ud7DgKfNMMcgEZLMoAYuOe1fB/7B//AATw+JXwl+KH - /Cx/ie4sDp8csEFsjRTCUSqPnLRyErgjGMV+6NFABRRRQAUUUUAFFFFABRRR - QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA - BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF - FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU - UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR - QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA - BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF - FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU - UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR - QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA - BRRRQAUUUUAFFFFAH//T/cmesa56fnWzPWNc9PzoAwLrqfwrnLv/ABro7rqf - wrnLv/GgDl7vv9K5a7+9+NdTd9/pXLXf3vxoA+36KKKACiiigAooooA+O/Dv - /Jx+o/8AXvcf+jlr7Er478O/8nH6j/173H/o5a+xKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigD/9T9yZ6xrnp+dbM9Y1z0/OgDAuup/Cuc - u/8AGujuup/Cucu/8aAOXu+/0rlrv73411N33+lctd/e/GgD7fooooAKKKKA - CiiigD478O/8nH6j/wBe9x/6OWvsSvjvw7/ycfqP/Xvcf+jlr7EoAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/1f3JnrGuen51sz1jXPT8 - 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 - fZmRRkV8Z/8ACH/tSf8AQUsP/Auf/wCJo/4Q/wDak/6Clh/4Fz//ABNAH2Zk - UZFfGf8Awh/7Un/QUsP/AALn/wDiaP8AhD/2pP8AoKWH/gXP/wDE0AfZmRRk - V8Z/8If+1J/0FLD/AMC5/wD4mj/hD/2pP+gpYf8AgXP/APE0AfZmRRkV8Z/8 - If8AtSf9BSw/8C5//iaP+EP/AGpP+gpYf+Bc/wD8TQB9mZFGRXxn/wAIf+1J - /wBBSw/8C5//AImj/hD/ANqT/oKWH/gXP/8AE0AfZmRRkV8Z/wDCH/tSf9BS - w/8AAuf/AOJo/wCEP/ak/wCgpYf+Bc//AMTQB9mZFGRXxn/wh/7Un/QUsP8A - wLn/APiaP+EP/ak/6Clh/wCBc/8A8TQB9mZFGRXxn/wh/wC1J/0FLD/wLn/+ - Jo/4Q/8Aak/6Clh/4Fz/APxNAH2ZkUZFfGf/AAh/7Un/AEFLD/wLn/8AiaP+ - EP8A2pP+gpYf+Bc//wATQB9mZFGRXxn/AMIf+1J/0FLD/wAC5/8A4mj/AIQ/ - 9qT/AKClh/4Fz/8AxNAH2ZkUZFfGf/CH/tSf9BSw/wDAuf8A+Jo/4Q/9qT/o - KWH/AIFz/wDxNAH2ZkUZFfGf/CH/ALUn/QUsP/Auf/4mj/hD/wBqT/oKWH/g - XP8A/E0AfZmRRkV8Z/8ACH/tSf8AQUsP/Auf/wCJo/4Q/wDak/6Clh/4Fz// - ABNAH2ZkUZFfGf8Awh/7Un/QUsP/AALn/wDiaP8AhD/2pP8AoKWH/gXP/wDE - 0AfZmRRkV8Z/8If+1J/0FLD/AMC5/wD4mj/hD/2pP+gpYf8AgXP/APE0AfZm - RRkV8Z/8If8AtSf9BSw/8C5//iaP+EP/AGpP+gpYf+Bc/wD8TQB9mZFGRXxn - /wAIf+1J/wBBSw/8C5//AImj/hD/ANqT/oKWH/gXP/8AE0Af/9b9yZ6xrnp+ - dbM9Y1z0/OgDAuup/Cucu/8AGujuup/Cucu/8aAOXu+/0rlrv73411N33+lc - td/e/GgD7fooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKAP//X/cmesa56fnWzPWNc9PzoAwLrqfwrnLv/ABro7rqf - wrnLv/GgDl7vv9K5a7+9+NdTd9/pXLXf3vxoA+36KKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD//0P3JnrGuen51 - sz1jXPT86AMC66n8K5y7/wAa6O66n8K5y7/xoA5e77/SuWu/vfjXU3ff6Vy1 - 3978aAPt+iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooA//9H9yZ6xrnp+dbM9Y1z0/OgDAuup/Cucu/8AGujuup/C - ucu/8aAOXu+/0rlrv73411N33+lctd/e/GgD7fooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP//S/cmesa56fnWz - PWNc9PzoAwLrqfwrnLv/ABro7rqfwrnLv/GgDl7vv9K5a7+9+NdTd9/pXLXf - 3vxoA+36KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigD//0/3JnrGuen51sz1jXPT86AMC66n8K5y7/wAa6O66n8K5 - y7/xoA5e77/SuWu/vfjXU3ff6Vy13978aAPt+iiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//9T9yZ6xrnp+dbM9 - Y1z0/OgDAuup/Cucu/8AGujuup/Cucu/8aAOXu+/0rlrv73411N33+lctd/e - /GgD7fooooAKKKKACiiigDznXbrxxHfsukQ77fnB+T19+axvt3xL/wCff9I6 - 9fowKAPIPt3xL/59/wBI6Pt3xL/59/0jr1/AowKAPIPt3xL/AOff9I6Pt3xL - /wCff9I69fwKMCgDyD7d8S/+ff8ASOj7d8S/+ff9I69fwKMCgDyD7d8S/wDn - 3/SOj7d8S/8An3/SOvX8CjAoA8g+3fEv/n3/AEjo+3fEv/n3/SOvX8CjAoA8 - g+3fEv8A59/0jo+3fEv/AJ9/0jr1/AowKAPIPt3xL/59/wBI6Pt3xL/59/0j - r1/AowKAPIPt3xL/AOff9I6Pt3xL/wCff9I69fwKMCgDyD7d8S/+ff8ASOj7 - d8S/+ff9I69fwKMCgDyD7d8S/wDn3/SOj7d8S/8An3/SOvX8CjAoA8g+3fEv - /n3/AEjo+3fEv/n3/SOvX8CjAoA8g+3fEv8A59/0jo+3fEv/AJ9/0jr1/Aow - KAPIPt3xL/59/wBI6Pt3xL/59/0jr1/AowKAPIPt3xL/AOff9I6Pt3xL/wCf - f9I69fwKMCgDyD7d8S/+ff8ASOj7d8S/+ff9I69fwKMCgDyD7d8S/wDn3/SO - j7d8S/8An3/SOvX8CjAoA8g+3fEv/n3/AEjo+3fEv/n3/SOvX8CjAoA8g+3f - Ev8A59/0jo+3fEv/AJ9/0jr1/AowKAPIPt3xL/59/wBI6Pt3xL/59/0jr1/A - owKAPIPt3xL/AOff9I6Pt3xL/wCff9I69fwKMCgDyD7d8S/+ff8ASOj7d8S/ - +ff9I69fwKMCgDyD7d8S/wDn3/SOj7d8S/8An3/SOvX8CjAoA8g+3fEv/n3/ - AEjo+3fEv/n3/SOvX8CjAoA8g+3fEv8A59/0jo+3fEv/AJ9/0jr1/AowKAPI - Pt3xL/59/wBI6Pt3xL/59/0jr1/AowKAPIPt3xL/AOff9I6Pt3xL/wCff9I6 - 9fwKMCgDyD7d8S/+ff8ASOj7d8S/+ff9I69fwKMCgDyD7d8S/wDn3/SOj7d8 - S/8An3/SOvX8CjAoA8g+3fEv/n3/AEjo+3fEv/n3/SOvX8CjAoA8g+3fEv8A - 59/0jo+3fEv/AJ9/0jr1/AowKAPIPt3xL/59/wBI6Pt3xL/59/0jr1/AowKA - PIPt3xL/AOff9I6Pt3xL/wCff9I69fwKMCgDyD7d8S/+ff8ASOj7d8S/+ff9 - I69fwKMCgDyD7d8S/wDn3/SOj7d8S/8An3/SOvX8CjAoA8g+3fEv/n3/AEjo - +3fEv/n3/SOvX8CjAoA8g+3fEv8A59/0jo+3fEv/AJ9/0jr1/AowKAPIPt3x - L/59/wBI6Pt3xL/59/0jr1/AowKAPIPt3xL/AOff9I6Pt3xL/wCff9I69fwK - MCgDyD7d8S/+ff8ASOj7d8S/+ff9I69fwKMCgDyD7d8S/wDn3/SOj7d8S/8A - n3/SOvX8CjAoA8g+3fEv/n3/AEjo+3fEv/n3/SOvX8CjAoA8g+3fEv8A59/0 - jo+3fEv/AJ9/0jr1/AowKAPIPt3xL/59/wBI6Pt3xL/59/0jr1/AowKAPIPt - 3xL/AOff9I6Pt3xL/wCff9I69fwKMCgDyD7d8S/+ff8ASOj7d8S/+ff9I69f - wKMCgDyD7d8S/wDn3/SOj7d8S/8An3/SOvX8CjAoA8g+3fEv/n3/AEjo+3fE - v/n3/SOvX8CjAoA8g+3fEv8A59/0jo+3fEv/AJ9/0jr1/AowKAPIPt3xL/59 - /wBI6Pt3xL/59/0jr1/AowKAPIPt3xL/AOff9I6Pt3xL/wCff9I69fwKMCgD - yD7d8S/+ff8ASOj7d8S/+ff9I69fwKMCgDyD7d8S/wDn3/SOj7d8S/8An3/S - OvX8CjAoA8g+3fEv/n3/AEjo+3fEv/n3/SOvX8CjAoA8g+3fEv8A59/0jo+3 - fEv/AJ9/0jr1/AowKAPIPt3xL/59/wBI6Pt3xL/59/0jr1/AowKAPIPt3xL/ - AOff9I6Pt3xL/wCff9I69fwKMCgDyD7d8S/+ff8ASOj7d8S/+ff9I69fwKMC - gDyD7d8S/wDn3/SOj7d8S/8An3/SOvX8CjAoA8g+3fEv/n3/AEjo+3fEv/n3 - /SOvX8CjAoA8g+3fEv8A59/0jo+3fEv/AJ9/0jr1/AowKAPIPt3xL/59/wBI - 6Pt3xL/59/0jr1/AowKAPIPt3xL/AOff9I6Pt3xL/wCff9I69fwKMCgDyD7d - 8S/+ff8ASOj7d8S/+ff9I69fwKMCgDyD7d8S/wDn3/SOj7d8S/8An3/SOvX8 - CjAoA8g+3fEv/n3/AEjo+3fEv/n3/SOvX8CjAoA8g+3fEv8A59/0jo+3fEv/ - AJ9/0jr1/AowKAPIPt3xL/59/wBI6Pt3xL/59/0jr1/AowKAPIPt3xL/AOff - 9I6Pt3xL/wCff9I69fwKMCgDyD7d8S/+ff8ASOj7d8S/+ff9I69fwKMCgDyD - 7d8S/wDn3/SOj7d8S/8An3/SOvX8CjAoA8g+3fEv/n3/AEjo+3fEv/n3/SOv - X8CjAoA8g+3fEv8A59/0jo+3fEv/AJ9/0jr1/AowKAPIPt3xL/59/wBI6Pt3 - xL/59/0jr1/AowKAPIPt3xL/AOff9I6Pt3xL/wCff9I69fwKMCgDyD7d8S/+ - ff8ASOj7d8S/+ff9I69fwKMCgDyD7d8S/wDn3/SOj7d8S/8An3/SOvX8CjAo - A8g+3fEv/n3/AEjo+3fEv/n3/SOvX8CjAoA8g+3fEv8A59/0jo+3fEv/AJ9/ - 0jr1/AowKAPIPt3xL/59/wBI6Pt3xL/59/0jr1/AowKAPIPt3xL/AOff9I6P - t3xL/wCff9I69fwKMCgDyD7d8S/+ff8ASOj7d8S/+ff9I69fwKMCgDyD7d8S - /wDn3/SOj7d8S/8An3/SOvX8CjAoA8g+3fEv/n3/AEjo+3fEv/n3/SOvX8Cj - AoA8g+3fEv8A59/0jo+3fEv/AJ9/0jr1/AowKAPIPt3xL/59/wBI6Pt3xL/5 - 9/0jr1/AowKAPIPt3xL/AOff9I6Pt3xL/wCff9I69fwKMCgDyD7d8S/+ff8A - SOj7d8S/+ff9I69fwKMCgDyD7d8S/wDn3/SOj7d8S/8An3/SOvX8CjAoA8g+ - 3fEv/n3/AEjo+3fEv/n3/SOvX8CjAoA8g+3fEv8A59/0jo+3fEv/AJ9/0jr1 - /AowKAPIPt3xL/59/wBI6Pt3xL/59/0jr1/AowKAPIPt3xL/AOff9I6Pt3xL - /wCff9I69fwKMCgDyD7d8S/+ff8ASOj7d8S/+ff9I69fwKMCgDyD7d8S/wDn - 3/SOj7d8S/8An3/SOvX8CjAoA8g+3fEv/n3/AEjo+3fEv/n3/SOvX8CjAoA8 - g+3fEv8A59/0jo+3fEv/AJ9/0jr1/AowKAPIPt3xL/59/wBI6Pt3xL/59/0j - r1/AowKAPIPt3xL/AOff9I6Pt3xL/wCff9I69fwKMCgDyD7d8S/+ff8ASOj7 - d8S/+ff9I69fwKMCgDyD7d8S/wDn3/SOj7d8S/8An3/SOvX8CjAoA8g+3fEv - /n3/AEjo+3fEv/n3/SOvX8CjAoA8g+3fEv8A59/0jo+3fEv/AJ9/0jr1/Aow - KAPIPt3xL/59/wBI6Pt3xL/59/0jr1/AowKAPIPt3xL/AOff9I6Pt3xL/wCf - f9I69fwKMCgDyD7d8S/+ff8ASOj7d8S/+ff9I69fwKMCgDyD7d8S/wDn3/SO - j7d8S/8An3/SOvX8CjAoA8g+3fEv/n3/AEjo+3fEv/n3/SOvX8CjAoA8g+3f - Ev8A59/0jo+3fEv/AJ9/0jr1/AowKAPIPt3xL/59/wBI6Pt3xL/59/0jr1/A - owKAPIPt3xL/AOff9I6Pt3xL/wCff9I69fwKMCgDyD7d8S/+ff8ASOj7d8S/ - +ff9I69fwKMCgDyD7d8S/wDn3/SOj7d8S/8An3/SOvX8CjAoA8g+3fEv/n3/ - AEjo+3fEv/n3/SOvX8CjAoA8g+3fEv8A59/0jo+3fEv/AJ9/0jr1/AowKAPI - Pt3xL/59/wBI6Pt3xL/59/0jr1/AowKAPIPt3xL/AOff9I6Pt3xL/wCff9I6 - 9fwKMCgDyD7d8S/+ff8ASOj7d8S/+ff9I69fwKMCgDyD7d8S/wDn3/SOj7d8 - S/8An3/SOvX8CjAoA8g+3fEv/n3/AEjo+3fEv/n3/SOvX8CjAoA8g+3fEv8A - 59/0jo+3fEv/AJ9/0jr1/AowKAPIPt3xL/59/wBI6Pt3xL/59/0jr1/AowKA - P//V/cmesa56fnWzPWNc9PzoAwLrqfwrnLv/ABro7rqfwrnLv/GgDl7vv9K5 - a7+9+NdTd9/pXLXf3vxoA+36KKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigD//1v3JnrGuen51sz1jXPT86AMC66n8 - K5y7/wAa6O66n8K5y7/xoA5e77/SuWu/vfjXU3ff6Vy13978aAPt+iiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA/ - /9f9yZ6xrnp+dbM9Y1z0/OgDAuup/Cucu/8AGujuup/Cucu/8aAOXu+/0rlr - v73411N33+lctd/e/GgD7fooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKAP//Q/cmesa56fnWzPWNc9PzoAwLrqfwr - nLv/ABro7rqfwrnLv/GgDl7vv9K5a7+9+NdTd9/pXLXf3vxoA+36KKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD// - 0f3JnrGuen51sz1jXPT86AMC66n8K5y7/wAa6O66n8K5y7/xoA5e77/SuWu/ - vfjXU3ff6Vy13978aAPt+iiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKMgdaKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooA//0v3JnrGuen51sz1jXPT86AMC66n8 - K5y7/wAa6O66n8K5y7/xoA5e77/SuWu/vfjXU3ff6Vy13978aAPt+iiigAoo - ooAKKKKACuT8beKrTwZ4avfEV4R5dpGz4OOdqk9yPT1rrK/O7/goF8U5PCfw - /i8MabOEvdXlihC7sEiRzGeAQe/pQgMz4Mft+6R8U/if/wAIC9j9ljl3eTKY - wgcLGXOG81s8jHAr9IwQwDDoa/md1P4S+KPgD4e8JfF638yK7dmE27cojDzC - LghVIyD3Nf0PfCzxnY+O/Blh4hsZBLHcITkEHoSOxPp61TEj0WisvWdYsNB0 - 6bVNTmWC3gGWZiFA5x1JA71+fvjP/goV8PtD1eXR9Dgl1KaM7cRRrLk47bJe - amwz7r8capc6L4T1XVLPAmtbeSRM5xlVyOlfnF+yF+098TPix8fvFvw+8WfZ - jpmk2s80Bi83flLgRjO92H3fQV2Ft+298OPiJ4e1fwzfF9K1Ke0kCx3KpDkt - 8oADSE859K+Q/wDgntMkv7WHj2eEh0bTrllI5BBuwRVJCZ+6lFfGk37YfhGy - +Ksnwt1G2mt70XP2dWaMKrHzvJBBL8gn2r7IikWWNZUOVYZBqRj6K+Xvj7+0 - /wCEvgRc2NlrivNcX4yiRqHON23oXU9a9D034w+Gx8NrT4j+IZRpVlcIWIuC - sJGHKAEO3cj1oA9eor83/EP/AAUO8FQX0tj4Y0u81VoSAWht/NBzg8FJfrXo - Pww/bh+HHj7WovD14JNKvZDjbcqkPYn+KQnoPSnYLn2/RWJq+uWul6Hc64W8 - yC3j8wlcHI/Ovjbwn+3N8NPEUetzTu1qujGdXEgRGYwNghQZOc9qQH3JRX5p - 6h/wUU8K218TDot9/Z6tjz3tiEIz1DeZtxjmvr34OfHnwT8ZtJGoeG7tWkHD - Rlk3ghVJ+UMx43Cm0B7fRWTret6b4f06bVNVnW3t4VLMzsFHAz1JA7V8C+NP - +Cg/w90PWJdG0G3m1SaJiuYY1lDY9NknPFFgP0Qor4B8E/t8/DvX9Ri0nX7e - 40e5kz/x8xrAvr/HJ9K+7tM1Sw1ezjv9OmSeCQZV0YMD+IyKLAaFFfLvxp/a - r+HXwaJtdWuhPdj/AJZxlHYfdPI3qejV802v/BRzwot0j6npF1b2TniU2+0E - exMuKLBc/TiivJvhT8Y/B3xd0ZNW8L3aTZGWTchdeFJyqs2PvV1XjbxtoHgH - QbjxB4iuUtraBWOXZVyVUtgbiMnAPelYDr68M/aL8c6z8O/hXqninQNn221H - yeZu2/dY87SD29a+RNZ/4KMeCotVlsNAsJ9QSFyGMUIkO1TgkbJemK534rft - afDn41fBjxBoOl3IttWiHzW0xSOTKxsW+TezcfSnYLnoP/BP39oPx78fPDvi - bUPHXk+dpr2gi8nzMfvRIWz5jv8A3RX6H1+QH/BJRWTwn44RhgiTT8j/AIDN - X6/0MAopCQBk8Cvkr4yftgfDP4R3r6Te3Yu75BkxwmOQg4BGR5ikZzSA+tqK - /MW2/wCCjnhdLhX1XR7q2tHIxI1vtBHsWlx0r7d+FPxo8GfF3SV1PwxeJKSM - tHuTevCnlVZsfeFNoD12ivnL9oH9onw58AdM0/U/EMbyR6hcx2y7FDENIHIz - ll/uGvJPE37dXwz0Hw9p+pwM93eajEkqW8QSSQBwcZQSZHIxSsB90UV+bXh7 - /gon4Iu9Yi0zX7CfThMwCmWER9SBk75a+7tC8e6D4m8MnxRoM63lrtLAxlX6 - Ej+Ekdj3osBgfFP4veFPhJp0Op+KpvJgnJAOUA4ZV/jZe7Cu78O69Y+JtHt9 - a05t1vcAlTx2JHYkdq/Dj9uz9oLT/ixocXhC0067spLJ/mkmhMatmSJ/lYsc - /d9K+pP2ev2wtGXSdA+H39h6gZj5ied9lPldWf7+/wDDpVWFc7/9tH4q/Gv4 - eaXA/wAKdPF1M0hGTHO4x5YPPlMO9fV/wf17xJ4j8BaVqviuAW+pTQoZVCsu - GKKTw5J6k9a8r/aM+Ofgb4OeGrXxB40sBeW0zHAMavghAx4Zl7H1r6A8IaxZ - a/4Z03W9PjEVte28U0agYwsiBhxz2NIZ0lFfJ/xl/a5+G3whuW03UboXN8OP - KiMbsD8wwR5inquK+c4P+Cj/AIVjuI31TSbq2s5WAWVrfaGBPGCZcHjmiwH6 - eUV5B8JvjV4K+MGkLqfha8SU4BaPcnmLwCcqrNjGRXI/tAftEeHvgJY2d9r8 - UkiXZULsUN95tvdlpAfRtFfBuvft6fDPR9H068t0nvrvUFdlgt0SWRdjY+ZR - Jketcr4Z/wCChngfUNYi0rxDY3GltMSB50IixwTzvl+lOwXP0corH0PXdN8R - aZHq2lTrPbS52urBhwcHkEivnv4y/tUfDj4PMtnql19rv2GRBAUkk5GR8u9T - zRYD6cor80bT/goj4eW7B1bw9qNnZMeJpLQouD33NJjpzX218L/i94O+K+kJ - qvhi8ScMMsodCynAJBCs2CM0WA9UooopAFQzXEFuu+eRY19WOKmrxT46+DfF - vjPwZPp3gzUpNM1AbSkkchjPDAnkAnoMUAe1KwYblOQaWvzJ+HP7WHi/4Zat - D4F/aC0+SxbLBNR2SC3OAX+eadlHdVHHXiv0a8P+JNF8UadHqmh3cd5byjIe - J1cfmpIoA3KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooA//0/3JnrGuen51sz1jXPT86AMC66n8K5y7 - /wAa6O66n8K5y7/xoA5e77/SuWu/vfjXU3ff6Vy13978aAPt+iiigAooooAK - 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 - gFe7fsc/tWeKviJ4iu/h344PmalpvmRsxIOGieOIj5UA6k96AP06oooqRhRR - UM9xBaxma4cRovUscCgDxb4zfATwB8atAk0fxZp0U7HGyVl3MvzK3GSB/CK/ - LPWfin4+/YU8U2/hnUdXbxN4dvHIhhaQPKgA3kLFCM9ZB+Ar6n+Of7aUOm69 - F8M/hBbNrfii8LBAu6NF2KshzI0bRj5N3U9sda5L4W/sa6v8QfEMHxO/aKm/ - tbU42329s4UCDIKHDwOucrt6jtQB97/Cj4h2/wATvBtj4rtraS1W6QHZLG0b - A4B6Nz3r0qszSNIsND0+DS9NiENvboqIoJOAowOufStOgAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP//U - /cmesa56fnWzPWNc9PzoAwLrqfwrnLv/ABro7rqfwrnLv/GgDl7vv9K5a7+9 - +NdTd9/pXLXf3vxoA+36KKKACiiigAooooA/J7/gpD8QpFsdG+GlgX+0azcW - 8alULDdK0kQH3cdT1yK+qP2M/hk/w4+DWjWd7HtvZ4EaYnuwyPUivqq50uwv - JFluYEkZeQWAOMVcSNIlCIMKOgFO4DioIxivxj/4KR+BJfDlzpvxNsUaNLaR - 2kdVLn5mhjHGSe/YV+ztVLuxtL5PLu4llX0YZFID889e8JRftbfs2209sCuo - qjiIMCDkSqD1MY6J3r8//AH7VnxE/ZJuG+H/AI10+SSG3YoqjaQN7GTOY45O - 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 - /wDiJiCeLfoCT/x8R9hX1TBbw20YigQIg6ADAouLeG6iMNwgdG6gjIpAfmp/ - wTri/tP4O3kcYZRKXALKVORPJ2OK+a/iR4l/aE/ZY+ID+KdZR9R8NMQ4lUQL - nqzLtUSPxkc45r9u7WytbJNlpEsSnsowKbeafZ36eXeQrKvowzTuB+K2p/8A - BTyPxZoz+HPDWlSyaveqYUXDj52GBy9uF6+9ej/sP/s3eM9E8X6l8X/GFsbJ - tckmuhEWR8m4ljnByj8d+Nor9RLXwV4Zs5zcW9hGrnvtH1rp440iQJGAqjoB - RcB9FFFIArxn43+AvEPxE8HzeH/D2of2dPMVzJ5aycBgTwxHYV7NRQB8w/AL - 9l/wR8D7F5NOi+0apcczXBLjcQXx8rO4GA2OK+ngMcCiigAooooAKKKKACii - igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK - ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA - KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo - oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii - igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK - ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA - KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo - oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii - igD/1f3JnrGuen51sz1jXPT86AMC66n8K5y7/wAa6O66n8K5y7/xoA5e77/S - uWu/vfjXU3ff6Vy13978aAPt+iiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooA5LxT4H8NeM4YoPEVmt2kLh1DdmXOD+pra0jSLDQ7CLTdNiENv - CoVFHQADArTooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigD//W/cmesa56fnWzPWNc9PzoAwLrqfwr - nLv/ABro7rqfwrnLv/GgDl7vv9K5a7+9+NdTd9/pXLXf3vxoA+36KKKACiii - gAooooAKKyNd1zT/AA7pdxq+pyrFb2yM7FiBwoJPUjsK/N74lftg+Ptd8Qy+ - GPgtpceoxxsVaZoZZOndWhkx0NAH6cUV+QM/xu/a88HEatdaNHdRAgss0F46 - heh43j1r7j+BH7R+hfF22+x3G2z1eMDzISBHydx+VSxbotAH03RRRQAUUUUA - FFFFABRSEgAk9q/Kb4+fF74seOvjNf8Awi+Gl9Npy6Y4Qy2sk0TtuiSX70bE - HuOlAH6tUgIPQ18jfDnwp8Z/Cfwnv7LW9Vk1XxAyr5MlxNLMR+8Yt8xw33SO - npXL/shWXxhsbfU4fiZeXt4uVMLXrzO/LvnmX2x07UAfcVFFFABRRRQAUUUU - AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFeX/GTU7/AEj4d61f6bO9vcQ2 - 0rI6MVZSEJBBHNAHqFJkZxnmvif9kDxb4o8U+HtZm1/U7jUpUu5gjXErylQF - jwAWJwBk8VyV5afHr/hoj7VbXd1/wjoLKIi8/wBm8vzwc7fubtvT2oA/Qaio - bbzfITz8eZjnHTNTUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ - AUgIPIOa88+KI8TN4Ovl8KNsvyo2EFgw55xt56V4B+yXa/Fe18PXSfEq5ubm - Usmxrt5Xkxl8/wCt59KAPsOiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKK82+KPxJ0r4W+GJ/E+sRyS28GMiJdzcsq9CR3agD0mivLvhF8UdJ+ - Lvg608Y6NFLDbXe/asy7HGx2jORk919a+Tv23/Gvi7wr4cjPhjWLrSndiC9r - M8Lfcz1UigD9AqK89+Fl7eaj4C0W7v5nuJ5LWEvI7FmYmNSSSeSSa9CoAKKK - KACiiigAoornvFdxNa6BeT27lJETIIOCORQB0NFfmj+w9478a+KNS1u28T65 - e6ukUsmz7VO820eaRgbicDFfpdQAUUUUAFFFFABRRRQAUUUUAFFFFABRRXnn - xVv7zTPAOs3thM0E8VtKUdCVZSI2III5BBoA9Dor4a/Yg8YeKPFvgm8ufE+q - XOqTRyIA9zK8rAFM9WJr7loAKKKKACiiigAooooAKKKKACiiigAooooAKKKK - ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA - KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo - oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii - igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK - ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA - KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA/9f9yZ6xrnp+ - dbM9Y1z0/OgDAuup/Cucu/8AGujuup/Cucu/8aAOXu+/0rlrv73411N33+lc - td/e/GgD7fooooAKKKKACiiigD4U/bh8Y3+jeBY9E0yZ4pb6REbaSAyOsikH - B5zV39jP4WaDonw4sfE1zaJJqOoxpI7uo3KSCCAcA44rzf8AbrR4p9CvZOYI - ri3Lj1AeQn9K+t/2eb6z1D4V6JcWKhImgXAH1NAHrl/o2manbPaXttHNG4IK - soI5+tfDFj+y5rnhL42Wnj7whcR2emRtIZLdX2K4aIoMqqc4JJ6199Um4DvQ - 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 - YQZ4AoA629/aR/aY8DBNX8T+H9PmsZiCwjW6dlzxwCQK+7Pg58VtO+LXhK38 - S2UZgMoyyMNpB3MvTcx/hr5I0v8AbJ+G/i2BdF8e6OyocBkMMjLn8SPWvsb4 - Y6Z8OrXQo7v4d2ENjYzjIWIbehPUZPfNAHptFFFABRRRQAUUUUAFFFFABRRR - QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA - BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF - FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU - UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR - QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB//0P3JnrGu - en51sz1jXPT86AMC66n8K5y7/wAa6O66n8K5y7/xoA5e77/SuWu/vfjXU3ff - 6Vy13978aAPt+iiigAooooAKKKKAPlT9rL4ZTfEH4dXP2Fc3NmDMvTny0c45 - I7mvmP8AZW/aF0zwLpsfww8clrSaw2xRnDP90f7K46n1r9RJI0lRo5BuVhgj - 2NfL/wAUf2VvAHxIvJNUnh+z3cmSWBk5J9hIooA7TxT8fvh34W0p9Svb/wCU - D5QEdsnp2B718e/Cz4xfFX40fGNZfD+qSWnhW1ZvNh2RkOHibby6q/DLniuw - 0j9gnwJbz+Zf3DTKCDgmUf8AtavsXwH8OvDXw70tdL8PWwhQAAnLHOCSPvEn - uaAPgn9t/wAB619q0vx1YJvjsGdnIIzysaev9K+hPhX+038PvEfha3a6uzBc - 20eJEMbnG07eu0Z6V9M61o2n+INNm0rU4hNbzgBlORnBz1HPavjHW/2GPhtq - d693ATDvbJAMv/x0UAfM/wC0B8VIvjv490zwF4PBuLVbqAliCvJDRt94DufW - vqT426C/hr9m5dGl+/b6eyN9VtSp9fSvVPhV+zh4C+FVydQ0a2D3ZXaZC0h4 - 3BujOw6ivS/H/gXS/iD4en8O6t/x7zq6N16OpU9CD0PrQB88/sUf8kbi/wCu - 4/8ARMVcd+3h/wAk4h/6+I//AEGSvqz4Z/DnSPhh4dHhvRP+PZW3j73Xaq/x - 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 - Wuo0f9hX4Y6defapt0wByFLTf/HTX2L4b8M6P4U0yLSdFgEFvEMBQSe5Pck9 - 6AN+iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooA//0f3JnrGuen51sz1jXPT86AMC66n8K5y7/wAa6O66 - n8K5y7/xoA5e77/SuWu/vfjXU3ff6Vy13978aAPt+iiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigDyf4j/Bvwb8TbUweILUO+MBwWUj - jH8JFeBw/sRfDKO4ErCVkH8PnTY/9Dr7UooA4HwL8OPDPw+09dP0C2ESgYzk - kngDqcntXfUUUAFFFFABRRRQAUUUUAFFFFABXz3rn7OfgjXvG0fjm8jJv45W - lB3uPmZ9/QNjqPSvoSigAooooAKKKKACiiigAooooAKKKKACvMvid8MtI+J+ - kLo+sOywjP3WZTyQeqsD2r02igDwj4Zfs+eBfhfcG80S3zcEY3szseDn+Imv - d6KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDx - 74ifBjwx8SdS07UtfQyNpsiSxjcw+aNw4+6R3FewABRhRgClooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//9L9yZ6x - rnp+dbM9Y1z0/OgDAuup/Cucu/8AGujuup/Cucu/8aAOXu+/0rlrv73411N3 - 3+lctd/e/GgD7fooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKAP//T/cmesa56fnWzPWNc9PzoAwLrqfwrnLv/ABro - 7rqfwrnLv/GgDl7vv9K5a7+9+NdTd9/pXLXf3vxoA+36KKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD//1P3JnrGu - en51sz1jXPT86AMC66n8K5y7/wAa6O66n8K5y7/xoA5e77/SuWu/vfjXU3ff - 6Vy13978aAPt+iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooA//9X9yZ6xrnp+dbM9Y1z0/OgDAuup/Cucu/8AGuju - up/Cucu/8aAOXu+/0rlrv73411N33+lctd/e/GgD7fooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP//W/cmesa56 - fnWzPWNc9PzoAwLrqfwrnLv/ABro7rqfwrnLv/GgDl7vv9K5a7+9+NdTd9/p - XLXf3vxoA+36KKKACiiigAooooAwrzxNoNhMbe8vY4pB1Vic1V/4TPwt/wBB - KL8z/hSah4Q0fU7k3V0rFz6Y+vpVH/hAPD/9xv8Ax3/CgC//AMJn4W/6CUX5 - n/Cj/hM/C3/QSi/M/wCFUP8AhAPD/wDcb/x3/Cj/AIQDw/8A3G/8d/woAv8A - /CZ+Fv8AoJRfmf8ACj/hM/C3/QSi/M/4VQ/4QDw//cb/AMd/wo/4QDw//cb/ - AMd/woAv/wDCZ+Fv+glF+Z/wo/4TPwt/0EovzP8AhVD/AIQDw/8A3G/8d/wo - /wCEA8P/ANxv/Hf8KAL/APwmfhb/AKCUX5n/AAo/4TPwt/0EovzP+FUP+EA8 - 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 - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD//0P3JnrGuen51 - sz1jXPT86AMC66n8K5y7/wAa6O66n8K5y7/xoA5e77/SuWu/vfjXU3ff6Vy1 - 3978aAPt+iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooA//9H9yZ6xrnp+dbM9Y1z0/OgDAuup/Cucu/8AGujuup/C - ucu/8aAOXu+/0rlrv73411N33+lctd/e/GgD7fooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP//S/cmesa56fnWz - PWNc9PzoAwLrqfwrnLv/ABro7rqfwrnLv/GgDl7vv9K5a7+9+NdTd9/pXLXf - 3vxoA+36KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigD//0/3JnrGuen51sz1jXPT86AMC66n8K5y7/wAa6O66n8K5 - y7/xoA5e77/SuWu/vfjXU3ff6Vy13978aAPt+iiigAooooAKKKKAILm5t7SF - p7qRYo0BJZiAAB7mvI9c+PHwz8P3LWt/rdorqcH/AEiIfzavFvjb4t8Q+J/G - Nn8L/DE7W32jabiRGZWCeYY35Unse4rtfDH7MfgGwsETxJaJrN0R88l0kcxJ - +rJmt1CKV5GLnJtqJrf8NNfCL/oPWn/gVD/8XR/w018Iv+g9af8AgVD/APF1 - o/8ADOXwd/6Fiw/8BYf/AIij/hnL4O/9CxYf+AsP/wARVfuvMn975Gd/w018 - Iv8AoPWn/gVD/wDF0f8ADTXwi/6D1p/4FQ//ABdaP/DOXwd/6Fiw/wDAWH/4 - ij/hnL4O/wDQsWH/AICw/wDxFH7rzD975Gd/w018Iv8AoPWn/gVD/wDF0f8A - DTXwi/6D1p/4FQ//ABdaP/DOXwd/6Fiw/wDAWH/4ij/hnL4O/wDQsWH/AICw - /wDxFH7rzD975Gd/w018Iv8AoPWn/gVD/wDF0f8ADTXwi/6D1p/4FQ//ABda - P/DOXwd/6Fiw/wDAWH/4ij/hnL4O/wDQsWH/AICw/wDxFH7rzD975Gd/w018 - Iv8AoPWn/gVD/wDF0f8ADTXwi/6D1p/4FQ//ABdaP/DOXwd/6Fiw/wDAWH/4 - ij/hnL4O/wDQsWH/AICw/wDxFH7rzD975Gd/w018Iv8AoPWn/gVD/wDF0f8A - DTXwi/6D1p/4FQ//ABdaP/DOXwd/6Fiw/wDAWH/4ij/hnL4O/wDQsWH/AICw - /wDxFH7rzD975Gd/w018Iv8AoPWn/gVD/wDF0f8ADTXwi/6D1p/4FQ//ABda - P/DOXwd/6Fiw/wDAWH/4ij/hnL4O/wDQsWH/AICw/wDxFH7rzD975Gd/w018 - Iv8AoPWn/gVD/wDF0f8ADTXwi/6D1p/4FQ//ABdaP/DOXwd/6Fiw/wDAWH/4 - ij/hnL4O/wDQsWH/AICw/wDxFH7rzD975Gd/w018Iv8AoPWn/gVD/wDF0f8A - DTXwi/6D1p/4FQ//ABdaP/DOXwd/6Fiw/wDAWH/4ij/hnL4O/wDQsWH/AICw - /wDxFH7rzD975Gd/w018Iv8AoPWn/gVD/wDF0f8ADTXwi/6D1p/4FQ//ABda - P/DOXwd/6Fiw/wDAWH/4ij/hnL4O/wDQsWH/AICw/wDxFH7rzD975Gd/w018 - Iv8AoPWn/gVD/wDF0f8ADTXwi/6D1p/4FQ//ABdaP/DOXwd/6Fiw/wDAWH/4 - ij/hnL4O/wDQsWH/AICw/wDxFH7rzD975Gd/w018Iv8AoPWn/gVD/wDF0f8A - DTXwi/6D1p/4FQ//ABdaP/DOXwd/6Fiw/wDAWH/4ij/hnL4O/wDQsWH/AICw - /wDxFH7rzD975Gd/w018Iv8AoPWn/gVD/wDF0f8ADTXwi/6D1p/4FQ//ABda - P/DOXwd/6Fiw/wDAWH/4ij/hnL4O/wDQsWH/AICw/wDxFH7rzD975Gd/w018 - Iv8AoPWn/gVD/wDF0f8ADTXwi/6D1p/4FQ//ABdaP/DOXwd/6Fiw/wDAWH/4 - ij/hnL4O/wDQsWH/AICw/wDxFH7rzD975Gd/w018Iv8AoPWn/gVD/wDF0f8A - DTXwi/6D1p/4FQ//ABdaP/DOXwd/6Fiw/wDAWH/4ij/hnL4O/wDQsWH/AICw - /wDxFH7rzD975Gd/w018Iv8AoPWn/gVD/wDF1bsv2jfhTfzrb2+uWjMxx/x8 - wnr9Gqb/AIZy+Dv/AELFh/4Cw/8AxFUdQ/Zr+FNzbPFZaJbWUhBxJBBDG4Pq - CEpfuvMF7XrY9q0nWtM1u1S80u5juYnAIaNgw5GeoJ9a1K+BtM1DXfgH8S7T - w1eXcl1oGryJHCZXZ9rzS7VUZ2KMKnQA195Wtwl3bR3Mf3JVDD6Gs6kLGlOd - yeiiiszQKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK - ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA - KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo - oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii - igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK - ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA - KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo - oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii - igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK - ACiiigAooooAKKKKAP/U/cmesa56fnWzPWNc9PzoAwLrqfwrnLv/ABro7rqf - wrnLv/GgDl7vv9K5a7+9+NdTd9/pXLXf3vxoA+36KKKACiiigAooooA+IPD4 - E/7Ul+so3BLW5IzzjE619v18Q+Gf+TpdS/69Ln/0etfb1b1+noc+H6+oUUUV - gdAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF - ABRRRQAUUUUAFFFFABRRRQB8I/tn4t7j4e3EXyyP4k05Cw6lSZOK+z/CpJ8N - 6aT1MEf8q+L/ANtb73w6/wCxn03/ANq19n+FP+Ra0z/r3j/lXRU/hx+ZzU/4 - k/kdBRRRXOdIUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA - UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR - RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF - FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU - AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA - UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR - RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF - FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU - AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA - UUUUAFFFFABRRRQAUUUUAf/V/cmesa56fnWzPWNc9PzoAwLrqfwrnLv/ABro - 7rqfwrnLv/GgDl7vv9K5a7+9+NdTd9/pXLXf3vxoA+36KKKACiiigAooooA+ - IfDP/J0upf8AXpc/+j1r7er4h8M/8nS6l/16XP8A6PWvt6uiv09DDD9fUKKK - K5zcKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii - igAooooAKKKKACiiigAooooA+EP21vvfDr/sZ9N/9q19n+FP+Ra0z/r3j/lX - xh+2t974df8AYz6b/wC1a+z/AAp/yLWmf9e8f8q6an8OPzOan/El8joKKKK5 - jpCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigD/9b9yZ6xrnp+dbM9Y1z0/OgDAuup/Cucu/8AGujuup/Cucu/ - 8aAOXu+/0rlrv73411N33+lctd/e/GgD7fooooAKKKKACiiigD4h8M/8nS6l - /wBelz/6PWvt6viHwz/ydLqX/Xpc/wDo9a+3q6K/T0MMP19QooornNwooooA - immjt4nnmbakYJY+gFecT/GH4c21xJbT6zGkkZKsNr8EHBH3a6jxhkeFtVx/ - z7yfyr8avhD8KrH4x/GbxR4d1aZxDa/aJ1/eSLyJ9v8AAQe9dFGkpJtvY561 - ZxaSW5+uFv8AF34d3Uohg1mNnbgDa/f/AIDXoNrd297AlzauJIpACpHcGvzr - 8RfsMWkFhLceGL7yLqNWZcyzvlgCQAC3riuJ/Zi+KnibwJ8QdW+EPiidp1tJ - pVwQoxJGyRDk5b8M1ToRavBkfWGmlNWP1Sorkde8e+D/AAvdQ2Wv6rDZT3H+ - rSQkFuccYB71i+Ifi18P/DGoHSdX1mCC8BCmJiQwLYI7ehFc6i2dLkkekUVQ - TU7F7IaiJl+zkZ39sV5bc/Hr4VWt2LSTxBbbjwfmPH6UlFvYbkluew0Vj6Nr - +jeILQX2jXaXcByN6cjI61i3HxC8F2urJodxq0KX0mNsRJ3HJwO3rRZhdHZU - U1HV1DocqwyD7VyOpfEDwbpGrxaDqWrQ2+oTY2QsTuO5to7evFCQNnDeN/jp - 4J8B67b+H9auRHdXG3ap3fxNs7KR1HrXrun30Gp2UN/atuimXcp9q+Z/ip8O - Pg14q8VWGseL7uOLUU2GINNKhbEhYYCnHLV9JaRa2dlptva2H/HtEuE5J4+p - q5qNlYiLd3fY0qK898TfFPwH4RlNvr2rwWsw/gckHt7e9L4Y+KXgTxfJ5Gg6 - vDdTf3EJJ7+3sanle9iuZbHoNFVru8trG3e7u5BFDHyzHoM1haD4y8MeJ3lj - 0DUYr1oSQ4jJO0g4Ocj1pWHc6aiql/fWmmWc2oX8ogtrdC8jt0VV5JNY/h7x - d4b8VwyT+HdQiv44mKMYySAwxkc49RRYLnR0VzHiTxn4Y8IwifxFqEVirdDI - SM9fTPpXI6R8bPhjrVx9ksdftnmLbVUMSWJ9OKai9xOSPVaKarK6hlOQehp1 - SUFFFFABRRRQB8Iftrfe+HX/AGM+m/8AtWvs/wAKf8i1pn/XvH/KvjD9tb73 - w6/7GfTf/atfZ/hT/kWtM/694/5V01P4cfmc1P8AiS+R0FFFFcx0hRRRQAUU - UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR - QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA - BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF - FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU - UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR - QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA - BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF - FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU - UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR - QB//1/3JnrGuen51sz1jXPT86AMC66n8K5y7/wAa6O66n8K5y7/xoA5e77/S - uWu/vfjXU3ff6Vy13978aAPt+iiigAooooAKKKKAPiHwz/ydLqX/AF6XP/o9 - a+3q+IfDP/J0upf9elz/AOj1r7eror9PQww/X1Ciiiuc3CiiigDm/GH/ACK2 - q/8AXvJ/Kvy1/ZM1nSdE/aD8Y3WsXcVnE0NyoaVgoLfaQcAnvX6leMP+RW1X - /r3k/lX4vfCr4WXPxb+MfijQLbUJdOa2NxPvilMROJ9uMgH1rtwqTjJM4MW2 - pRaP14174w/DjQNPmvrzxBZ/u0ZgvnJuYgE4GT1OK/Lb4XrefEz9pvXfFGhw - mSxlnuJlZF/gMyNyVyOhr35f2F5LiZP7U8RXVzECMq10zcfQoa+ufhP8GPCH - wk0o2Wg24a4l5knkCtISQAQHCqcHHSmpwpp8ru2EoTqNcyskfn7+3hLex+Of - DsVnM8cjQuF2sRz5ox0r03wD+yZeeJoIPGHxGvJpdUuSsjKs8qYKEgZUj0Ar - zj9uT/kpfhT6f+11r9VIFC2yKowNo4H0p1KjjTjYIUlKpK5+b/7Vfj/WtPbT - /g74QmeN7ncsjITu+Xy5RhlO4d+1aegfsR6XN4f87XLyV9UcZDLdShRz3BXP - SvB/2pNMv7z47w2yXTWTztiOXcU24gjzhq98i/Zn+MUkSSR+PL8qwBGL+4x/ - KrfuxVnYztzTldXPPfg5rniv4HfFxPhxr90ZbK+8vaGLNjzCW4MhHYelbv7W - ehXnhXxx4W+JunmQQtcW0cgjZsBV3yEkcLj3zWnpf7J3iW38bab4l1/xOb26 - s5FbM1y7yMACAPmXNfUfx78CxeKvhRf6eUElxZ2jtGxGSHWIqCDgnNTKpFTT - T9So0pODT+R3vg7xPb6n4BsteMg2CzjkZiRx+7DGvzl8LW+pfFn9p671h2kl - sNJkliVlJCZguQw6ZHRq6/4f/FYaT8Bte0K4nzqGnJc2yqW+f91DtGAWz1Fe - t/sfeCFsPC9x4xu4z9q1ad58uOcTpG/cZ6+9Qo8iky3L2jivmeQftPmW2+Ju - gwRSMiqYBgMR/wAvBr6u+JnxDPw8+Ff9sRNicRIF6E/M+3oSPWvlL9qj/kqe - h/70H/pQa9D/AGqba6k+EtrPECYo4od2M4/1wqnG6gmNyac2jwb4N/AbWvjx - FL4+8dXkrW96QyIJpYjgbkPABHVR0NM+MnwN1v4BmDxz4DvZUgt87laaWX72 - 2PkEAfxHvX2n+ynf6df/AAk0p9PK7QjZC44/eP6VT/azvtPs/hdeC+K/NswG - x/z1j9aXtpe05ehH1ePs+br3IfCPxKPxN+BU/iB2xcFNrjAUgpLt6An0rxT9 - iiWaTVvEvmSM+JpvvEn/AJbn1qL9mm1uj+z9qUoVjHIW2cHnFw2cU39iiRY9 - d8TW7nbJ5spwev8Arz2pyilGaQ4yblBs+zPjSWX4TeLWUlSNNucEdfuGvkL9 - h28ni8E+I7l3aVor25YbiWPEcR719bfHC4gt/hJ4sM8ipv064C7jjJ2HgV8m - /sG+XJ4R17fgo1/cZz0xsirKn/Dka1P4sT5v127m+MH7Qt14T8Yaq1hpcEsy - qHmaBW23G0IpBPzEMcV9BeP/ANjCwt9ETUPhZezQamjI6NLcyyKQDnoort/i - v+yj4f8AHOvSeJPCmonT9W3NITHKI8OWLk/IuepHevnfxP4f/aV+AkP/AAkD - azJremwsBtL3M+1c45yQBgCulVOa3I7eRySp2vzq/mfoL8ENK8a6H4E0/SPH - Uqz6jawojuoYbmycn5ufTrXsNfPX7Ovxjj+MHhH7fIAL2zSIXAXAAeTd23MR - 0719C1wVU+Z3PRpNcqsFFFFZmgUUUUAfCH7a33vh1/2M+m/+1a+z/Cn/ACLW - mf8AXvH/ACr4w/bW+98Ov+xn03/2rX2f4U/5FrTP+veP+VdNT+HH5nNT/iS+ - R0FFFFcx0hRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR - RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF - ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA - FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU - UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR - RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF - ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA - FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU - UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR - RQAUUUUAFFFFABRRRQB//9D9yZ6xrnp+dbM9Y1z0/OgDAuup/Cucu/8AGuju - up/Cucu/8aAOXu+/0rlrv73411N33+lctd/e/GgD7fooooAKKKKACiiigD4h - 8M/8nS6l/wBelz/6PWvt6viHwz/ydLqX/Xpc/wDo9a+3q6K/T0MMP19Qooor - nNwooooA57xbHJL4Z1SOFGkdreQKqjJJx0AFfmt+yHoHirTf2hPGN5rGgahp - tpJBcCO4ubaSKKQm5BAV2AByORjtX6lUVtTq8sXG25hUo80oyvsFFFFYm5+X - H7bHh7xVqnxG8LXGiaDqGqQxj55LS2kmRP3yn5igIHHPNfqFDkQxg8fKP5VL - RW1SrzRUbbGNOlyylK+58ZftTfs+6j8SdOTxN4OYReIbDmMsdqtuManO1Sx+ - VTjBr5H0X9oj9pXwpZNoN14S1O9kj4Ej2N3ITk54bcK/YWoWt4HcSOgLDoSO - a0p4iy5ZK5lUwt5c0XY/Ov4E+C/jZ4+8Vx+PPiBqF/pdlCw22bSzQ7thIO6K - UHgg+tfoXeWMV3p0mnzDekkZQ55yMY5q/RWVSrzO5tSpcqsfip8Qfhl490j4 - 3DwxpWjapLo2rXYkkmt7eVrUJPMQ291XYML1z2r9evAPh+Lwx4R0vRooxH9n - t4kIAxyqBeeBzxXY0Vdau5pKxFHD8jbvufnF+1BoPiW/+JuiXWlaLfX8CtBu - kt7d5UX9+ScsoIGBz9K+ytf8CWPjrwAvhzVoyoliAIIAIKnI+8D39q9ToqZV - m0l2KVHVt9T8d8/Hv9mXW7jQPDulXmtaOxHkiCG4uY1AGT/q9qjJc0nl/Hn9 - p3XodD8R6Xe6JpCE+aZobi2Q5XcMeZuU/Mg/Ov2GkijlXbIoYehojjjiXZGo - VR2FbfW+vLqc/wBTe3Np2PPfAvw40PwR4Ng8H2Ef+ixg7gQvJZtx6ADr7V+Z - 3jHQ/i7+zz8SrzX/AATpF3q1hqD7itvDNOgBYvyIgoHWv12prorqUcblPUGs - qddptvW5vVoKSSTtY/IzXPFv7Rfx68N6vbXGh3ejWWm2sk7xtb3Nu9xsG0xo - rFg5YNwvevcv2H/DniPTvAuvadrul3ujzS3dwq/aoXgcgxxAMu8A/Q+1foAk - aRrtjUKPQU+rnibxcUrGcMK1JScrn5TfE3S/2ifgn8RZ/F2hT6l4l0y9eRo7 - aJrm7jRJJSy5SPABCrj2zXMeKPjL+0N8ZbOLwN/wh97p0d4yh5nsbqFFGcHc - 5LAcHuK/X8gMMEZBpkcUUWRGoXPXFVHFLrHUiWDd9JaHgP7OvwdT4P8AgyPT - Ztp1C6ji+1MuCC8e7GDtUng96+gqKK5ZycndnZCCirIKKKKkoKKKKAPhD9tb - 73w6/wCxn03/ANq19n+FP+Ra0z/r3j/lXxh+2t974df9jPpv/tWvs/wp/wAi - 1pn/AF7x/wAq6an8OPzOan/El8joKKKK5jpCiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD//R/cmesa56fnWz - PWNc9PzoAwLrqfwrnLv/ABro7rqfwrnLv/GgDl7vv9K5a7+9+NdTd9/pXLXf - 3vxoA+36KKKACiiigAooooA+IfDP/J0upf8AXpc/+j1r7er4h8M/8nS6l/16 - XP8A6PWvt6uiv09DDD9fUKKKK5zcKKKKACiiigAooooAKKKKACiiigAooooA - KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA+EP21vvfDr/s - Z9N/9q19n+FP+Ra0z/r3j/lXxh+2t974df8AYz6b/wC1a+z/AAp/yLWmf9e8 - f8q6an8OPzOan/El8joKKKK5jpCiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigD/9L9yZ6xrnp+dbUwzmsW56fn - QBgXXU/hXOXf+NdJdd6526Gf1oA5W77/AErlrv73411d4Bg/SuWugM/jQB9u - 0UUUAFFFFABRRRQB8QeGf+TpdS/69Ln/ANHrX2/Xwp4zuz8M/j1beLNRXbZa - mhgMh6AzT59z0HpX2vpOs6drdnHfadMJYpRkEen41vW1sznoaXXmalFJketG - R61gdAtFJketGR60ALRSZHrRketAC0UmR60ZHrQAtFJketGR60ALRSZHrRke - tAC0UmR60ZHrQAtFJketGR60ALRSZHrRketAC0UmR60ZHrQAtFJketGR60AL - RSZHrRketAC0UmR60ZHrQAtFJketGR60ALRSZHrRketAC0UmR61FNcQwRmWV - wqrySaAPhb9tYZb4df8AYzab/wC1a+z/AAp/yLWmf9e8f8q+HvjdqcXxb+Jv - hrwVof79NE1C1vpXHRTBKyMOcf3vU193aNaNYaVaWTdYY1Q/gK6KvwRRzUvj - kzTooornOkKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKAP/9P9y5e9Ylz0/OtuXvWPcDigDnrrvXPXXT866S6H - JrnboZ/WgDlbwZB+lcvd8H8a6y7Xg1y92Pm/GgD7XooooAKKKKACiiigDz74 - jfDzRviNoE+iaqCBIpCup2lSVIByOe9fIdp8BPjP8PGex+Gmu20dln5RdQvc - EDp1JFfftFawquOhlOipas+Ef+EP/a8/6GLSv/Be3/xVH/CH/tef9DFpX/gv - b/4qvu6ir+sPsvuI+rru/vZ8I/8ACH/tef8AQxaV/wCC9v8A4qj/AIQ/9rz/ - AKGLSv8AwXt/8VX3dRR9YfZfcP6uu7+9nwj/AMIf+15/0MWlf+C9v/iqP+EP - /a8/6GLSv/Be3/xVfd1FH1h9l9wfV13f3s+Ef+EP/a8/6GLSv/Be3/xVH/CH - /tef9DFpX/gvb/4qvu6ij6w+y+4Pq67v72fCP/CH/tef9DFpX/gvb/4qj/hD - /wBrz/oYtK/8F7f/ABVfd1FH1h9l9wfV13f3s+Ef+EP/AGvP+hi0r/wXt/8A - FUf8If8Atef9DFpX/gvb/wCKr7uoo+sPsvuD6uu7+9nwj/wh/wC15/0MWlf+ - C9v/AIqj/hD/ANrz/oYtK/8ABe3/AMVX3dRR9YfZfcH1dd397PhH/hD/ANrz - /oYtK/8ABe3/AMVR/wAIf+15/wBDFpX/AIL2/wDiq+7qKPrD7L7g+rru/vZ8 - I/8ACH/tef8AQxaV/wCC9v8A4qj/AIQ/9rz/AKGLSv8AwXt/8VX3dRR9YfZf - cH1dd397PhH/AIQ/9rz/AKGLSv8AwXt/8VR/wh/7Xn/QxaV/4L2/+Kr7uoo+ - sPsvuD6uu7+9nwj/AMIf+15/0MWlf+C9v/iqP+EP/a8/6GLSv/Be3/xVfd1F - H1h9l9wfV13f3s+Ef+EP/a8/6GLSv/Be3/xVH/CH/tef9DFpX/gvb/4qvu6i - j6w+y+4Pq67v72fCP/CH/tef9DFpX/gvb/4qj/hD/wBrz/oYtK/8F7f/ABVf - d1FH1h9l9wfV13f3s+Ef+EP/AGvP+hi0r/wXt/8AFUf8If8Atef9DFpX/gvb - /wCKr7uoo+sPsvuD6uu7+9nwj/wh/wC15/0MWlf+C9v/AIqj/hD/ANrz/oYt - K/8ABe3/AMVX3dRR9YfZfcH1dd397PhH/hD/ANrz/oYtK/8ABe3/AMVVe6+F - 37S/iaI6Z4n8QWDWcvyv5Nm8TYPBwwbjivvaij6w+y+4X1dd397PCPg38EtJ - +Ftm8odrm/uctLIzFvmYLnG7kcrXu9FFYyk27s2jFJWQUUUVJQUUUUAFFFFA - BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF - FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU - UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR - QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA - BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF - FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU - UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR - QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA - BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAf - /9T9zphmsW45H51ty96yLgcHFAHP3I6iueuh1/GuluR1rn7lf60Actdr1rmL - pfm/Gutu16/SuauU+b8aAPsiiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooA//1f3SlHWsm4HHFbMq9ayphQBgXKnm - sG4X+tdLcDJNYdwnX8aAOVu14Nc3cx/Nn3rr7lMZrnblPm/GgD6xooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/ - 1v3YkHWsyZeDWxIKzpUFAGFcL1rGuF4/OuhnXqKyJ0/rQBzFynBrAuIst+Nd - ZcRg5rEuIufxoA+kaKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo - oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii - igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK - ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA - KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo - oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii - igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK - ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA - KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo - oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii - igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK - ACiiigAooooAKKKKACiiigD/1/3hkWqEq1quBVKReKAMWZck1lzRn0rfkSs+ - WOgDmp4utY88VdVNEDWTNDQBXl8X+Jl+7d4/7Zx//E1my+NvFi9L3H/bKP8A - +Jp09uKyZragB8nj3xivS/8A/IUX/wARWe/xE8bjpqH/AJBi/wDiKjltB3FZ - stmOwoAtyfEnx0vTUf8AyDD/APEVVb4m+PR01L/yBD/8RVCSyB7VTexHoKAN - Rvih4/HTU/8AyBD/APEVA3xS+IQ6an/5Ag/+IrJexHoKgNiPQUAbJ+KnxE/6 - Cn/kCD/4imf8LV+Iv/QU/wDIEH/xFYZsRjoKZ9gHtQBu/wDC1viL/wBBT/yB - B/8AEUf8LW+Iv/QU/wDIEH/xFYX2Bfaj7AvtQBu/8LW+Iv8A0FP/ACBB/wDE - Uf8AC1viL/0FP/IEH/xFYX2Bfaj7AvtQBu/8LW+Iv/QU/wDIEH/xFH/C1viL - /wBBT/yBB/8AEVhfYF9qPsC+1AG7/wALW+Iv/QU/8gQf/EUf8LW+Iv8A0FP/ - ACBB/wDEVhfYF9qPsC+1AG7/AMLW+Iv/AEFP/IEH/wARR/wtb4i/9BT/AMgQ - f/EVhfYF9qPsC+1AG7/wtb4i/wDQU/8AIEH/AMRR/wALW+Iv/QU/8gQf/EVh - fYF9qPsC+1AG7/wtb4i/9BT/AMgQf/EUf8LW+Iv/AEFP/IEH/wARWF9gX2o+ - wL7UAbv/AAtb4i/9BT/yBB/8RR/wtb4i/wDQU/8AIEH/AMRWF9gX2o+wL7UA - bv8Awtb4i/8AQU/8gQf/ABFH/C1viL/0FP8AyBB/8RWF9gX2o+wL7UAbv/C1 - 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 - F9gX2o+wL7UAbv8Awtb4i/8AQU/8gQf/ABFH/C1viL/0FP8AyBB/8RWF9gX2 - o+wL7UAf/9D97HFVHUmr7DsKrsooAzZEzVGSPNa7qKpyJQBiyRZrOlhzxit+ - SPNU5IvWgDmJYKzpLf2rqJYfaqMlvmgDl5Lf2rPktfb9K6x7f2qq9t7UAcm9 - r7fpVV7T2/Suse19qrm29qAOTa0z2/SoWsz6fpXWNa+1Rm09qAOSNnnt+lN+ - x+36V1f2T2/WmG09v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/O - K6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7 - H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7fr - R9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9 - v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA - 5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F - /nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH - 2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/O - K6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7 - H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7fr - R9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9 - v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA - 5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F - /nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH - 2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/O - K6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7 - H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7fr - R9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9 - v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA - 5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F - /nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH - 2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/O - K6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7 - H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7fr - R9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9 - v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA - 5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F - /nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH - 2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/O - K6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7 - H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7fr - R9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9 - v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA - 5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F - /nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH - 2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/O - K6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7 - H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7fr - R9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9 - v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA - 5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F - /nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH - 2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/O - K6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7 - H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7fr - R9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9 - v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA - 5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F - /nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH - 2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/O - K6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7 - H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7fr - R9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9 - v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA - 5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F - /nFL9jPp+ldR9j9v1pfsft+tAHLfYz6fpR9jPp+ldT9j9v1o+x+360Act9jP - p+lH2M+n6V1P2P2/Wj7H7frQB//R/fQioGAqyRUbDNAFJ1qBlBq+VqFloAzX - jGKqPFWs6VA0dAGHJFmqrxVuNFUBi5oAwXgqs0FdA8NQmHtQBz7W49Kha2Ho - K6EwZ4qIwEetAHPG27YFR/Zx6CuiMB96jNuTQBz5tu+Kb9n9hXRfZz7002/1 - oA5/7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+zn3o+zn3oAwfs/sKPs/sK - 3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+zn3o+zn3oAw - fs/sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+z - n3o+zn3oAwfs/sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegDB+z+ - wo+z+wre+zn3o+zn3oAwfs/sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct77Ofej - 7OfegDB+z+wo+z+wre+zn3o+zn3oAwfs/sKPs/sK3vs596Ps596AMH7P7Cj7 - P7Ct77Ofej7OfegDB+z+wo+z+wre+zn3o+zn3oAwfs/sKPs/sK3vs596Ps59 - 6AMH7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+zn3o+zn3oAwfs/sKPs/sK - 3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+zn3o+zn3oAw - fs/sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+z - n3o+zn3oAwfs/sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegDB+z+ - wo+z+wre+zn3o+zn3oAwfs/sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct77Ofej - 7OfegDB+z+wo+z+wre+zn3o+zn3oAwfs/sKPs/sK3vs596Ps596AMH7P7Cj7 - P7Ct77Ofej7OfegDB+z+wo+z+wre+zn3o+zn3oAwfs/sKPs/sK3vs596Ps59 - 6AMH7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+zn3o+zn3oAwfs/sKPs/sK - 3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+zn3o+zn3oAw - fs/sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+z - n3o+zn3oAwfs/sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegDB+z+ - wo+z+wre+zn3o+zn3oAwfs/sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct77Ofej - 7OfegDB+z+wo+z+wre+zn3o+zn3oAwfs/sKPs/sK3vs596Ps596AMH7P7Cj7 - P7Ct77Ofej7OfegDB+z+wo+z+wre+zn3o+zn3oAwfs/sKPs/sK3vs596Ps59 - 6AMH7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+zn3o+zn3oAwfs/sKPs/sK - 3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+zn3o+zn3oAw - fs/sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+z - n3o+zn3oAwfs/sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegDB+z+ - wo+z+wre+zn3o+zn3oAwfs/sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct77Ofej - 7OfegDB+z+wo+z+wre+zn3o+zn3oAwfs/sKPs/sK3vs596Ps596AMH7P7Cj7 - P7Ct77Ofej7OfegDB+z+wo+z+wre+zn3o+zn3oAwfs/sKPs/sK3vs596Ps59 - 6AMH7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+zn3o+zn3oAwfs/sKPs/sK - 3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+zn3o+zn3oAw - fs/sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+z - n3o+zn3oAwfs/sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegDB+z+ - wo+z+wre+zn3o+zn3oAwfs/sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct77Ofej - 7OfegDB+z+wo+z+wre+zn3o+zn3oAwfs/sKPs/sK3vs596Ps596AMH7P7Cj7 - P7Ct77Ofej7OfegDB+z+wo+z+wre+zn3o+zn3oAwfs/sKPs/sK3vs596Ps59 - 6AMH7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+zn3o+zn3oAwfs/sKPs/sK - 3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+zn3o+zn3oAw - fs/sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+z - n3o+zn3oAwfs/sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegDB+z+ - wo+z+wre+zn3o+zn3oAwfs/sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct77Ofej - 7OfegDB+z+wo+z+wre+zn3o+zn3oAwfs/sKPs/sK3vs596Ps596AMH7P7Cj7 - P7Ct77Ofej7OfegDB+z+wo+z+wre+zn3o+zn3oAwfs/sKPs/sK3vs596Ps59 - 6AMH7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+zn3o+zn3oAwfs/sKPs/sK - 3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+zn3o+zn3oAw - fs/sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+z - n3o+zn3oAwfs/sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct37Ofel+zn3oAwfs/ - sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegD/0v34qM96kqM96AIj - 0qJulSnpUbdKAIm61C9TN1qF6AK7d6hap271A1AETAZqIgZqZutRHrQBFgUw - gZp9MPWgBjAU3ApzU2gAwKjwKkqOgAwKMCiigAwKMCiigAwKMCiigAwKMCii - gAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwK - MCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCii - gAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwK - MCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCii - gAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwK - MCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCii - gAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwK - MCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCii - gAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwK - MCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCii - gAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwK - MCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCii - gAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwK - MCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCii - gAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwK - MCiigAwKMCiigAwKMCiigAwKMCiigD//2Q== - - type - public.jpeg - - ApplicationVersion - - com.omnigroup.OmniGraffle7 - 205.27.2 - - CreationDate - 2024-01-16 21:15:25 +0000 - Creator - Glenn Rodgers - FileType - flat - GraphDocumentVersion - 16 - GuidesLocked - NO - GuidesVisible - YES - ImageCounter - 2 - Images - - - Extension - png - ID - 1 - RawData - - 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 - R94xQA1sDWIMZhhsM2gzGDA0Mgw2FBmuNzxt2GekY+RnlG202uiE - Ua8xzdjHWGC82rjZ+Dldm86k59LX0Vvp/SYGJiEmEpOtJu0mn02t - TONNi033md43o5gxzDLMVpu1mPWbG5uPM59pXmN+x4JswbDIslhr - cc7ivaWVZaLlQst6yx4rXSu2VZFVjdU9a6q1r/UU6yrr6zZEG4ZN - js1Gmyu2qK2rbZZthe1lO9TOzU5gt9GuYxRhlMco4aiqUZ32KvZM - +0L7GvuHDjoO4Q7FDvUOL0ebj04ZvWL0udHfHF0dcx23O94dozkm - dEzxmKYxr51snbhOFU7XnanOQc5znBucX7nYufBdNrnccqW5jnNd - 6Nri+tXN3U3sVuvW627unuZe6d7J0GJEMZYwznsQPPw95ngc8/jo - 6eZZ4HnQ8y8ve68cr91ePWOtxvLHbh/72NvUm+O91bvLh+6T5rPF - p8vXxJfjW+X7yM/Mj+e3w+8Z04aZzdzDfOnv6C/2P+L/nuXJmsU6 - GYAFBAeUBrQHagbGB24IfBBkGpQZVBPUH+waPCP4ZAghJCxkRUgn - 25DNZVez+0PdQ2eFtoaphMWGbQh7FG4bLg5vGoeOCx23aty9CIsI - YUR9JIhkR66KvB9lFTUl6mg0MToquiL6acyYmJkx52JpsZNid8e+ - i/OPWxZ3N946XhLfkqCWkJpQnfA+MSBxZWJX0uikWUmXkvWTBckN - KaSUhJQdKQPjA8evGd+d6ppaknpzgtWEaRMuTNSfmDvx+CS1SZxJ - h9IIaYlpu9O+cCI5VZyBdHZ6ZXo/l8Vdy33B8+Ot5vXyvfkr+c8y - vDNWZvRkemeuyuzN8s0qz+oTsAQbBK+yQ7I3Z7/PiczZmTOYm5i7 - L08pLy2vUagpzBG2TjaaPG1yh8hOVCLqmuI5Zc2UfnGYeEc+kj8h - v6FAC/7It0msJb9IHhb6FFYUfpiaMPXQNI1pwmlt022nL57+rCio - 6LcZ+AzujJaZJjPnzXw4izlr62xkdvrsljlmcxbM6Z4bPHfXPMq8 - nHm/FzsWryx+Oz9xftMCwwVzFzz+JfiXmhLVEnFJ50KvhZsX4YsE - i9oXOy9ev/hbKa/0YpljWXnZlyXcJRd/HfPrul8Hl2YsbV/mtmzT - cuJy4fKbK3xX7FqpsbJo5eNV41bVraavLl39ds2kNRfKXco3r6Ws - laztWhe+rmG9+frl679syNpwo8K/Yl+lQeXiyvcbeRuvbvLbVLvZ - cHPZ5k9bBFtubQ3eWldlWVW+jbitcNvT7Qnbz/3G+K16h/6Osh1f - dwp3du2K2dVa7V5dvdtg97IatEZS07sndc+VvQF7G2rta7fu09lX - th/sl+x/fiDtwM2DYQdbDjEO1R62OFx5hHaktA6pm17XX59V39WQ - 3NDRGNrY0uTVdOSow9Gdx0yOVRzXPr7sBOXEghODzUXNAydFJ/tO - ZZ563DKp5e7ppNPXW6Nb28+EnTl/Nujs6XPMc83nvc8fu+B5ofEi - 42L9JbdLdW2ubUd+d/39SLtbe91l98sNVzyuNHWM7Thx1ffqqWsB - 185eZ1+/dCPiRsfN+Ju3OlM7u27xbvXczr396k7hnc93594j3Cu9 - r36//IHBg6o/bP7Y1+XWdfxhwMO2R7GP7j7mPn7xJP/Jl+4FT6lP - y58ZP6vuceo51hvUe+X5+OfdL0QvPveV/KnxZ+VL65eH//L7q60/ - qb/7lfjV4Oslb/Te7Hzr8rZlIGrgwbu8d5/fl37Q+7DrI+PjuU+J - n559nvqF9GXdV5uvTd/Cvt0bzBscFHHEHNmvAAYbmpEBwOudAFCT - AaDB/RllvHz/JzNEvmeVIfCfsHyPKDM3AGrh/3t0H/y76QRg/3a4 - /YL6aqkARFEBiPMAqLPzcBvaq8n2lVIjwn3Aloiv6Xnp4N+YfM/5 - Q94/n4FU1QX8fP4Xwf18T5R9ewoAAACKZVhJZk1NACoAAAAIAAQB - GgAFAAAAAQAAAD4BGwAFAAAAAQAAAEYBKAADAAAAAQACAACHaQAE - AAAAAQAAAE4AAAAAAAAAkAAAAAEAAACQAAAAAQADkoYABwAAABIA - AAB4oAIABAAAAAEAAASYoAMABAAAAAEAAAHQAAAAAEFTQ0lJAAAA - U2NyZWVuc2hvdPzJhcsAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAHX - aVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8eDp4bXBtZXRhIHht - bG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29y - ZSA2LjAuMCI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDov - L3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+ - CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAg - ICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5j - b20vZXhpZi8xLjAvIj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGlt - ZW5zaW9uPjQ2NDwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAg - ICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4xMTc2PC9leGlmOlBp - eGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6VXNlckNvbW1l - bnQ+U2NyZWVuc2hvdDwvZXhpZjpVc2VyQ29tbWVudD4KICAgICAg - PC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94Onht - cG1ldGE+CjKc1CMAAAAcaURPVAAAAAIAAAAAAAAA6AAAACgAAADo - AAAA6AAALWGXocChAAAtLUlEQVR4AezdeZxXdb0/8PcwDPuiCCqg - ophXJQ1JTcsFUzPTNOuWml68hYZeF7B+dSUzxV1bzNzFypuamft2 - 3TfCLUFDUVmSTdYBWQdZBmbO75xjIDAEjt+B73y5z/N4DPOdcz6f - cz6f5+f4h6/H5/P5liXpEQ4CBAgQIECAAAECBAgQIECAAAECn1Kg - TMD0KeVUI0CAAAECBAgQIECAAAECBAgQyAUETF4EAgQIECBAgAAB - AgQIECBAgACBggQETAXxqUyAAAECBAgQIECAAAECBAgQICBg8g4Q - IECAAAECBAgQIECAAAECBAgUJCBgKohPZQIECBAgQIAAAQIECBAg - QIAAAQGTd4AAAQIECBAgQIAAAQIECBAgQKAgAQFTQXwqEyBAgAAB - AgQIECBAgAABAgQICJi8AwQIECBAgAABAgQIECBAgAABAgUJCJgK - 4lOZAAECBAgQIECAAAECBAgQIEBAwOQdIECAAAECBAgQIECAAAEC - BAgQKEhAwFQQn8oECBAgQIAAAQIECBAgQIAAAQICJu8AAQIECBAg - QIAAAQIECBAgQIBAQQICpoL4VCZAgAABAgQIECBAgAABAgQIEBAw - eQcIECBAgAABAgQIECBAgAABAgQKEhAwFcSnMgECBAgQIECAAAEC - BAgQIECAgIDJO0CAAAECBAgQIECAAAECBAgQIFCQgICpID6VCRAg - QIAAAQIECBAgQIAAAQIEBEzeAQIECBAgQIAAAQIECBAgQIAAgYIE - BEwF8alMgAABAgQIECBAgAABAgQIECAgYPIOECBAgAABAgQIECBA - gAABAgQIFCQgYCqIT2UCBAgQIECAAAECBAgQIECAAAEBk3eAAAEC - BAgQIECAAAECBAgQIECgIAEBU0F8KhMgQIAAAQIECBAgQIAAAQIE - CAiYvAMECBAgQIAAAQIECBAgQIAAAQIFCQiYCuJTmQABAgQIECBA - gAABAgQIECBAQMDkHSBAgAABAgQIECBAgAABAgQIEChIQMBUEJ/K - BAgQIECAAAECBAgQIECAAAECAibvAAECBAgQIECAAAECBAgQIECA - QEECAqaC+FQmQIAAAQIECBAgQIAAAQIECBAQMHkHCBAgQIAAAQIE - CBAgQIAAAQIEChIQMBXEpzIBAgQIECBAgAABAgQIECBAgMBGCZiW - LFkS06ZNiyZNmsTWW28dLVq0IE+AAAECBAgQIECAAAECBAgQILCJ - CGyUgGny5MkxYMCA6L7jZ+LsAf1jm2222UT4dIMAAQIECBAgQIAA - AQIECBAgQGCjBEwTJ06M7xz3H/HZHv8Wgy64ILbfvht5AgQIECBA - gAABAgQIECBAgACBTURgowVMx333pNh1153SgOn82L6bgGkTeX90 - gwABAgQIECBAgAABAgQIECAQjSJgSpIksp9sj6ZVj9ra2li8eHEs - XVodLVu2SH9arno5/5zVy46ysrL895r/rO/6muX9TYAAAQIECBAg - QIAAAQIECBAgUD+BogZMy5cvjxEjRsTYsWNj2bLlceSRR0THjh3z - HlRWzozhw4fHpPcnxcKqhdG+ffvYofsOse8++0S7du3yMuPHT4hh - w16LJuXlcVDv3nndVYOmmpqa+Mvdd0dtTW0cdthXYsstt6yfjtIE - CBAgQIAAAQIECBAgQIAAAQLrFShawLRs2bJ49dVX48abbo5xaVB0 - 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 - AQIECBAgQIAAgQYQKPmAaerUqXH2D38YI996Kw79ylfiogsvjA6+ - Oa4BXg23IECAAAECBAgQIECAAAECBAh8MoGSD5hqa2tjwYIF+abf - 2cbfTZs2/WQ9V4oAAQIECBAgQIAAAQIECBAgQKBBBEo+YGoQBTch - QIAAAQIECBAgQIAAAQIECBD41AICpk9NpyIBAgQIECBAgAABAgQI - ECBAgEAmIGDyHhAgQIAAAQIECBAgQIAAAQIECBQkIGAqiE9lAgQI - ECBAgAABAgQIECBAgAABAZN3gAABAgQIECBAgAABAgQIECBAoCAB - AVNBfCoTIECAAAECBAgQIECAAAECBAgImLwDBAgQIECAAAECBAgQ - IECAAAECBQkImAriU5kAAQIECBAgQIAAAQIECBAgQEDA5B0gQIAA - AQIECBAgQIAAAQIECBAoSEDAVBCfygQIECBAgAABAgQIECBAgAAB - AgIm7wABAgQIECBAgAABAgQIECBAgEBBAgKmgvhUJkCAAAECBAgQ - IECAAAECBAgQEDB5BwgQIECAAAECBAgQIECAAAECBAoSEDAVxKcy - AQIECBAgQIAAAQIECBAgQICAgMk7QIAAAQIECBAgQIAAAQIECBAg - UJCAgKkgPpUJECBAgAABAgQIECBAgAABAgQETN4BAgQIECBAgAAB - AgQIECBAgACBggQETAXxqUyAAAECBAgQIECAAAECBAgQICBg8g4Q - IECAAAECBAgQIECAAAECBAgUJCBgKohPZQIECBAgQIAAAQIECBAg - QIAAAQGTd4AAAQIECBAgQIAAAQIECBAgQKAgAQFTQXwqEyBAgAAB - AgQIECBAgAABAgQICJi8AwQIECBAgAABAgQIECBAgAABAgUJCJgK - 4lOZAAECBAgQIECAAAECBAgQIEBAwOQdIECAAAECBAgQIECAAAEC - BAgQKEhAwFQQn8oECBAgQIAAAQIECBAgQIAAAQIbPWBKkiRW/OAn - QIAAAQIECBAgQIAAAQIECBDY8AJlZWX5Q7LfKz435FM3WsBUW1sb - VVVVMXny5KisrIxFixblQVNDdsa9CBAgQIAAAQIECBAgQIAAAQIE - 6gqUl5dHu3btYptttonOnTtHixYt6hYq4MxGCZiycGnKlCnx9NNP - x+zZs6OioiKaNGlSQLNVJUCAAAECBAgQIECAAAECBAgQ+KQC2Wqy - mpqaWLp0afTs2TMOPPDAaNu27Setvt5yGzxgyjqQhUv33ntv3on9 - 9tsvevToEe3bt19v4xQgQIAAAQIECBAgQIAAAQIECBAoXCALl2bM - mBHDhw+PN954I3r16hVHHnlktGzZsvCbp3fY4AFTtizukUceiVmz - ZuUN7969u9lLDTJ0bkKAAAECBAgQIECAAAECBAgQqJ9AdXV1DB06 - NF566aX46le/Gl/4whcaZE+mDR4wjRo1Kp588snYc889I5u9ZGlc - /QZeaQIECBAgQIAAAQIECBAgQIBAQwosWLAg7rnnnsi2NOrTp0+D - 7Me0wQOmF198MYYNGxbHHntsdO3atSE93IsAAQIECBAgQIAAAQIE - CBAgQKCeAtlyuZdffjmfEDRw4MBo06ZNPe9Qt/gGD5ieeeaZGDly - ZPTt29e+S3X9nSFAgAABAgQIECBAgAABAgQIbHSBESNGxK233hqX - XnqpgGmj63sgAQIECBAgQIAAAQIECBAgQGATEHjzzTfj97//fR4w - NcS3yZnBtAm8FLpAgAABAgQIECBAgAABAgQIEKiPgICpPlrKEiBA - gAABAgQIECBAgAABAgQI1BEQMNUhcYIAAQIECBAgQIAAAQIECBAg - QKA+AgKm+mgpS4AAAQIECBAgQIAAAQIECBAgUEdAwFSHxAkCBAgQ - IECAAAECBAgQIECAAIH6CAiY6qOlLAECBAgQIECAAAECBAgQIECA - QB0BAVMdEicIECBAgAABAgQIECBAgAABAgTqIyBgqo+WsgQIECBA - gAABAgQIECBAgAABAnUEBEx1SJwgQIAAAQIECBAgQIAAAQIECBCo - j4CAqT5ayhIgQIAAAQIECBAgQIAAAQIECNQREDDVIXGCAAECBAgQ - IECAAAECBAgQIECgPgICpvpoKUuAAAECBAgQIECAAAECBAgQIFBH - QMBUh8QJAgQIECBAgAABAgQIECBAgACB+ggImOqjpSwBAgQIECBA - gAABAgQIECBAgEAdAQFTHRInCBAgQIAAAQIECBAgQIAAAQIE6iMg - YKqPlrIECBAgQIAAAQIECBAgQIAAAQJ1BARMdUicIECAAAECBAgQ - IECAAAECBAjUX2DRkpqYs3B5jK9cHLMWVEents2ie+eW0aFNRbRq - 3mTlDUdOWhjPvv5BbLN1y/j2l7Zaeb6UPwiYSnn0tJ0AAQIECBAg - QIAAAQIECBAoukCStmDmvOr488sz4/XR82P2wtpY2qQsmtcmsUWb - JtFrl/Zx0v5bRsd2zfK23j98Tlx596T4Qo/2ce33uhe9/Q3RAAFT - Qyi6BwECBAgQIECAAAECBAgQIPB/VmDpstq49ulpcc+QmdFj21bx - tZ6bRdMWTaO2uib+8ursmFS5JE46eOs47bDO0TQNnh5IA6Zf3Dcp - 9tm5fVwtYFrre1OWpMdarzTQyWeeeSZGjhwZffv2jfbt2zfQXd2G - AAECBAgQIECAAAECBAgQIPDpBOYsXBYnXzcmqpZHDP7BjtF9q5Yr - bzRm2qL43o3/iCQpiyfP+2y0b1G+WsB01X92j5qaJBYvr42WFU2i - vCyiSRpCrXmkk6GiJv0nK1ueXi9Li6z4nZXNrmVlytOVeE2yi+mR - JTTZ+exYtWx2fnl6PntM9qy6T8ur1OsfM5jqxaUwAQIECBAgQIAA - AQIECBAgQGB1gcp0eVyfq0bFlp1axC2n7ZQHRStKLE8Dob+NnR/T - 5lTHN/bpFM2a/nMG0/3vR6/ubeKw3TeLIW/OicVLlke7thXxhV3a - xeG9OkabNIhacVQtXh5P/X1OvDG+Kualz2paURZdO7eKQ3tsHp/b - oU1e7IWRc+K5kfPi6L22iH133Sw/N2t+ddzxwvRYtrQmTjy4S3Tt - 2CIPnSbOWBR/eGJqfHHX9tE7fVbrVfaHWvHM+v4WMK1FLJuEVfbP - tG8tl1eeauhyK29cwh8+qUkJd1HTCRAgQIAAAQIECBAgQIDAagJz - sxlM6SylGWn48+OvbR29dtostu3YPJpm05HSY1kaMtWmM4aapTOU - sjP5Erk0YGqdhkgdWpdHj64to0UaPA0duzCq0+V2/Y/sEkft1TGv - uzANl/4ypDJuf/GD6LR5Rey2Tcv4cEltjJy6OLZK6551RNfYY8e2 - abg0Ny69b0r0/dLmcdLh2+Z1/zG5Kv7zxnHRulmT+PHRXeMrvbaI - LPB6+o0P4pK7p8SFx3aNg/fqlC/byysU8I+AaRW8qVOnxl//+teY - PXt27LLLLrH//vtHixYtVinx0ccZM2bE888/H7NmzYoddtghDj30 - 0GjZ8uPpbysqzJkzJ7IlfTNnzoztttsuDjnkkGjduvWKyyt/f/DB - B/HYY4/Fhx9+GLvuumv07t17rQFXVu7xxx/Py+22226x3377rbXc - 9OnT4+mnn15Zbt99942KioqVz8s+ZEHQ+PHjY8iQIbFs2bLYY489 - Ys8994ymTZuuVi77Y+LEifHCCy/EokWL4rOf/WwccMAB6RS6j3e/ - X1Hh3XffjaFDh6b/0dRG9sxevXqtuOQ3AQIECBAgQIAAAQIECBDY - ZAWy0OYvr8yM6/93WixfnsTnd2gVPTu3iI4dWsTndmofO3dZPTNY - ETBli9cuOW67+OIu6Z5N6f9mP/XO3Lj4nsmxTzqz6dqTP5Mvbxv6 - 7tw497ZJ0WOb5nHWUdvGZ7q0TkOomnhqxJy46anK2G/HlnHOsd1j - 4aJlcdpN78Ve2zWP07+5fbRrWR4vpGV+8seJUZF+Pn7/LeLsI7eN - xelspt8+NjWGjqqKK7+7XfTcsV2DjEtDB0xZcLFBjzQ4Sa666qpk - 3rx5DfqcBQsWJFdffXXSvHnzJA1Pks985jPJK6+8UucZaciS/PrX - v04222yzvFyXLl2SRx99NElDldXKZn/ffPPNyRZbbJGX23zzzZMH - H3wwqUkXS656pKFSMnDgwCSdMZWXS4OZ5MUXX1y1SP557ty5yUUX - XZS9e3m5L33pS8lrr71Wp1wajiWXXXbZynJ77bXXWsuloVcyYMCA - pFWrVvn90rAqSfe2qnO/qqqqvFy7du3ycmnAlAwfPrxOfxcvXpwc - dthhK/tx4IEHJlOmTKlzPycIECBAgAABAgQIECBAgMCmKLBoSU2S - zgxKjr52dHLgT/+e7POT15O9z3kjOeEXbydX3jMhGTP1w/T/pT/q - +f3DZif7/vSN5OCLRybpXkgrj6lzlibH/mZUctzlb+Xn0tlMyaAH - 3k/2Scv+eci0leWyD/MXVien3jQmOfaKt5M3J1Tlf59863vJMZeP - zP+evaA6GXjHuOTU695Njr/qneScW/+RzF+0LJmzYGly6g2jk5+k - f1fOW7raPQv5Y8SIEclZZ52VZPlKQxwlGzCls3SSE044ISkvL0/S - WUZJOuMnD4jWDISyYOaoo45K0pk+eblmzZolF1xwQVJdXb2a3/I0 - sszul13PQpx0hlNy4YUXJgsXLlytXBYcdejQIb9fVi4LkO68887V - ymR/pLOrknQWVB7yZPfKQrCHHnqoTrlJkyYlWUiVXc/ul/XngQce - qFNuwoQJSRYCpTO08rZlAdh9991Xp1w6aypJZ1TlwVvmkv3cdNNN - dYKyNKnM2571NyuTtfHJJ5+scz8nCBAgQIAAAQIECBAgQIDApiqQ - fptcUvVhdTLq/arkLy9XJuffNSH591++k+z1/15PTkrDoEXVH006 - yQOmgW8k/W4esxrFrDQUOuXGscm3L34zP5/ONkrO/N17ydcGvZm8 - Mmb14Ca79vN7Jyb7nzcieeK1Wcni9N73vjQj2aP/8OT5N2Ylk2cu - Sr48aGRy2xOTk989My056bfvJiPGL0jbtjD5zi/eSW55fHKSbgDe - YIeA6Z+UWZBy9tln50FPFspkM4qyYGbNmUnZjJ4f/OAHeYCThVBZ - kPPb3/62TuCS1TvvvPPy69n9srAnK5cuR1tt8LJk71vf+lb+vKxc - FjCtLThKl+MlJ5544spybdu2TbLZXGse6fK95NRTT11ZLguO1hb0 - TJ48OUmX9uXty/rQo0ePJF3etubtkiwAO/LII1f2o2vXrskTTzxR - xyWbOZW1PetD9tOmTZtk1KhRde7nBAECBAgQIECAAAECBAgQ2NQF - suCmOp2atDQNfUZOWpgcftnbyefOHJaMnvZh3vUVAVP/W8etRvFB - GjD1uykNmC76OGA6/eaxydcvfDMZ/l7VamWzgOlnD0xKvnDu35NH - X6nMZ0eNTYOt3U8bltz25OTkmXQ2Ve8LRyZDRszKA69vpG146m+V - yaPDP0i+lYZej6e/G/IQMP1TMwuExowZk/Tr1y/ZcsstkyuuuOJf - TusaN25c0qdPn3ymzrnnnvsvl+tls4m+//3vJ1kYNGjQoCQLYdY8 - sueOHj06OeaYY5Lu3bsnt9xyS5Itm1vzyGZSjR07Nn/uTjvtlAwe - PDjJluuteWTl0r2QkpNPPjnp1q1bcv3116+1H9kMq5dffjk56KCD - ks6dOyd33333v7zf3/72t2TvvffOZzvdcccday2XtSMLvHr27JmH - Vc8991ydEGrNtvqbAAECBAgQIECAAAECBAhsCgKvjp6fXP3gxOTd - NExa88hmNV2cLnPb/b9eS555e25+eUXANGA9AVO2RO5Hd01MDkhn - KT06bPVAaNGS5UlW/+hL3kpeHTM/v++MOUuSY371bnLW4LHJj/84 - LjnrptHJP6YtSmbOXZIcf82o5IaHJiWXpsv1/jOdzTR+Rt1MYc22 - 1+fvhg6YyrKHpzNZNtiRbZqd7hUUffv2jfbt2zfoc9KwJ9/IOvud - LvVa6wbf2QOz6+meQ+nGXcvzcmvb4HvVcmnok2+enc5iWmt76/Pc - bKPtrHy6V1T+s7YbZs/L2reiH1nZtX0rXtb+rFw2ZNlm5lmf13as - Wm5dz83KZe3Ljqyva9swfG33d44AAQIECBAgQIAAAQIECJSywBsT - FsaPfj8uPr9T2+h/RJfYZov0G+SalEW693eMm74oLnxgcrydbqr9 - 7OV7RMe2TT/6Frn7JsU+O7ePq7/XfWXXZ1cti3PvnBhzZi6Oe37+ - ufwb3+5/7YP45b2T45Dd28UZ6SbfXTZvHunkqHh1zLy44sGpsdMW - FfGzE7rHVu0qYtHS2rhv6PS4/rmZUZ5+Ode/f7599D+mWyxJN/a+ - I/0mukdfn5PWjejZrVX8/Nvdok2rul/0tbIx9fzQ0Jt8l3TAVE87 - xQkQIECAAAECBAgQIECAAAECsXBJTZzz54kxfNT82G2H1nHwv7WN - 1hVlkU4yisdHV8U74xbGnrttHtf02SGaNy37xAFTNoVn5vzquOqh - KfH8m3Nj393axxe3bxUfpkHS0+8uiLkLl8cPj+wSX92rY2Tf9Z7N - +HnrvfnR96Zx0Sr95rizvrpVHLv/1vm30f197Pw47Zbx0Tw9f8rB - W8Z3998qWjSr+w3xn3Y4BUyfVk49AgQIECBAgAABAgQIECBAgEAq - kAVB0+dVxw1PTYtHXpgVTcrKokk6Oag2DZhqasviywd1jPOO6Bqd - 0llG2XF7Oivpqtsmxec+1y7+2G+n/Fz2zwfpDKb//v34mDJjUTx1 - Ra/8/IqQ6fr03o+/Pi+WLVgW6TKl2CqdhXRmGhQdtkeHaF7xcVA0 - KZ39dMbg8VFRUxsXf2+H2K1bm/w+49OZVH0Gj4sm85bFNWfsGD13 - bJ+2M7/UIP8ImBqE0U0IECBAgAABAgQIECBAgACB/+sCS6prY9my - mhg/c0lMnVOdLpVrFjt0yrakKV8tBKpelsTSZcvzIKp1y4+XqWVb - 2CxeUhvpHuF1lq+leznlS91mL1wWLdOZR+1aVUTz9He2FG/VI93q - OdINwNNTZdGieXm6VO6jq+nG4x+dT8Owltn58tXrrXqPT/NZwPRp - 1NQhQIAAAQIECBAgQIAAAQIECPwLgTTLSfdFTqJJGv6skf/8ixqf - /HS2DK5ho6FP/ux1lRQwrUvHNQIECBAgQIAAAQIECBAgQIAAgfUK - CJjWS6QAAQIECBAgQIAAAQIECBAgQIDAugQETOvScY0AAQIECBAg - QIAAAQIECBAgQGC9AgKm9RIpQIAAAQIECBAgQIAAAQIECBAgsC4B - AdO6dFwjQIAAAQIECBAgQIAAAQIECBBYr4CAab1EChAgQIAAAQIE - CBAgQIAAAQIECKxLQMC0Lh3XCBAgQIAAAQIECBAgQIAAAQIE1isg - YFovkQIECBAgQIAAAQIECBAgQIAAAQLrEhAwrUvHNQIECBAgQIAA - AQIECBAgQIAAgfUKCJjWS6QAAQIECBAgQIAAAQIECBAgQIDAugQE - TOvScY0AAQIECBAgQIAAAQIECBAgQGC9AgKm9RIpQIAAAQIECBAg - QIAAAQIECBAgsC4BAdO6dFwjQIAAAQIECBAgQIAAAQIECBBYr4CA - ab1EChAgQIAAAQIECBAgQIAAAQIECKxLQMC0Lh3XCBAgQIAAAQIE - CBAgQIAAAQIE1isgYFovkQIECBAgQIAAAQIECBAgQIAAAQLrEii5 - gOn555+PESNGRJ8+faJjx47r6ptrBAgQIECAAAECBAgQIECAAAEC - G1ggSZJ4/fXX46677opBgwZFmzZtCn5iWXrTpOC7rOMGWYOHDh0a - hxxySOy+++7rKOkSAQIECBAgQIAAAQIECBAgQIDAhhZYunRpPPbY - YzF+/Pg4/fTTo2XLlgU/coMHTJWVlXHPPfdE+/bt45vf/GaDpGIF - 99oNCBAgQIAAAQIECBAgQIAAAQL/RwXGjRsXt99+e+y9995x+OGH - R3l5ecESGzxgWr58eQwfPjyeeOKJ2G233eKAAw6IDh06RNOmTQtu - vBsQIECAAAECBAgQIECAAAECBAisXyBbwFZdXR1TpkyJBx98MCoq - KuLYY4+Nzp07r7/yJyixwQOmrA2LFy+OYcOGxbPPPhvt2rWLbt26 - 5TOZysrKPkETFSFAgAABAgQIECBAgAABAgQIEPi0Aln+kk0Amj17 - dowZMya23HLLOOKII2LHHXeMhspmNkrAlAFkKdn7778fb731VkyY - MCGqqqpiA2//9Gnd1SNAgAABAgQIECBAgAABAgQIbFIC2TK47MvX - dt5553yP7E6dOjVYuJRBbbSAacWoZKHSip8V5/wmQIAAAQIECBAg - QIAAAQIECBDYsALZbKUVPw39pI0eMDV0B9yPAAECBAgQIECAAAEC - BAgQIECguAICpuL6ezoBAgQIECBAgAABAgQIECBAoOQFBEwlP4Q6 - QIAAAQIECBAgQIAAAQIECBAoroCAqbj+nk6AAAECBAgQIECAAAEC - BAgQKHkBAVPJD6EOECBAgAABAgQIECBAgAABAgSKKyBgKq6/pxMg - QIAAAQIECBAgQIAAAQIESl5AwFTyQ6gDBAgQIECAAAECBAgQIECA - AIHiCgiYiuvv6QQIECBAgAABAgQIECBAgACBkhcQMJX8EOoAAQIE - CBAgQIAAAQIECBAgQKC4AgKm4vp7OgECBAgQIECAAAECBAgQIECg - 5AUETCU/hDpAgAABAgQIECBAgAABAgQIECiugICpuP6eToAAAQIE - CBAgQIAAAQIECBAoeQEBU8kPoQ4QIECAAAECBAgQIECAAAECBIor - IGAqrr+nEyBAgAABAgQIECBAgAABAgRKXkDAVPJDqAMECBAgQIAA - AQIECBAgQIAAgeIKCJiK6+/pBAgQIECAAAECBAgQIECAAIGSFxAw - lfwQ6gABAgQIECBAgAABAgQIECBAoLgCAqbi+ns6AQIECBAgQIAA - AQIECBAgQKDkBQRMJT+EOkCAAAECBAgQIECAAAECBAgQKK6AgKm4 - /p5OgAABAgQIECBAgAABAgQIECh5AQFTyQ+hDhAgQIAAAQIECBAg - QIAAAQIEiisgYCquv6cTIECAAAECBAgQIECAAAECBEpeQMBU8kOo - AwQIECBAgAABAgQIECBAgACB4goImIrr7+kECBAgQIAAAQIECBAg - QIAAgZIXEDCV/BDqAAECBAgQIECAAAECBAgQIECguAICpuL6ezoB - AgQIECBAgAABAgQIECBAoOQFBEwlP4Q6QIAAAQIECBAgQIAAAQIE - CBAoroCAqbj+nk6AAAECBAgQIECAAAECBAgQKHkBAVPJD6EOECBA - gAABAgQIECBAgAABAgSKKyBgKq6/pxMgQIAAAQIECBAgQIAAAQIE - Sl5AwFTyQ6gDBAgQIECAAAECBAgQIECAAIHiCgiYiuvv6QQIECBA - gAABAgQIECBAgACBkhcQMJX8EOoAAQIECBAgQIAAAQIECBAgQKC4 - AgKm4vp7OgECBAgQIECAAAECBAgQIECg5AUETCU/hDpAgAABAgQI - ECBAgAABAgQIECiugICpuP6eToAAAQIECBAgQIAAAQIECBAoeQEB - U8kPoQ4QIECAAAECBAgQIECAAAECBIorIGAqrr+nEyBAgAABAgQI - ECBAgAABAgRKXkDAVPJDqAMECBAgQIAAAQIECBAgQIAAgeIKCJiK - 6+/pBAgQIECAAAECBAgQIECAAIGSFxAwlfwQ6gABAgQIECBAgAAB - AgQIECBAoLgCAqbi+ns6AQIECBAgQIAAAQIECBAgQKDkBQRMJT+E - OkCAAAECBAgQIECAAAECBAgQKK6AgKm4/p5OgAABAgQIECBAgAAB - AgQIECh5AQFTyQ+hDhAgQIAAAQIECBAgQIAAAQIEiisgYCquv6cT - IECAAAECBAgQIECAAAECBEpeQMBU8kOoAwQIECBAgAABAgQIECBA - gACB4goImIrr7+kECBAgQIAAAQIECBAgQIAAgZIX2OABU2VlZcya - NSvKyspKHksHCBAgQIAAAQIECBAgQIAAAQKbikBtbW3ssssuUVFR - UXCXNnjANG3atJg+fbqAqeChcgMCBAgQIECAAAECBAgQIECAQMMJ - 1NTURM+ePaNZs2YF33SDB0xJkkT24yBAgAABAgQIECBAgAABAgQI - EGhcAk2aNGmQBm3wgKlBWukmBAgQIECAAAECBAgQIECAAAECjVZA - wNRoh0bDCBAgQIAAAQIECBAgQIAAAQKlISBgKo1x0koCBAgQIECA - AAECBAgQIECAQKMVEDA12qHRMAIECBAgQIAAAQIECBAgQIBAaQgI - mEpjnLSSAAECBAgQIECAAAECBAgQINBoBQRMjXZoNIwAAQIECBAg - QIAAAQIECBAgUBoCAqbSGCetJECAAAECBAgQIECAAAECBAg0WgEB - U6MdGg0jQIAAAQIECBAgQIAAAQIECJSGgICpNMZJKwkQIECAAAEC - BAgQIECAAAECjVZAwNRoh0bDCBAgQIAAAQIECBAgQIAAAQKlISBg - Ko1x0koCBAgQIECAAAECBAgQIECAQKMVEDA12qHRMAIECBAgQIAA - AQIECBAgQIBAaQgImEpjnLSSAAECBAgQIECAAAECBAgQINBoBQRM - jXZoNIwAAQIECBAgQIAAAQIECBAgUBoCAqbSGCetJECAAAECBAgQ - IECAAAECBAg0WgEBU6MdGg0jQIAAAQIECBAgQIAAAQIECJSGgICp - NMZJKwkQIECAAAECBAgQIECAAAECjVZAwNRoh0bDCBAgQIAAAQIE - CBAgQIAAAQKlISBgKo1x0koCBAgQIECAAAECBAgQIECAQKMVEDA1 - 2qHRMAIECBAgQIAAAQIECBAgQIBAaQgImEpjnLSSAAECBAgQIECA - AAECBAgQINBoBQRMjXZoNIwAAQIECBAgQIAAAQIECBAgUBoCAqbS - GCetJECAAAECBAgQIECAAAECBAg0WgEBU6MdGg0jQIAAAQIECBAg - QIAAAQIECJSGgICpNMZJKwkQIECAAAECBAgQIECAAAECjVZAwNRo - h0bDCBAgQIAAAQIECBAgQIAAAQKlISBgKo1x0koCBAgQIECAAAEC - BAgQIECAQKMVEDA12qHRMAIECBAgQIAAAQIECBAgQIBAaQgImEpj - nLSSAAECBAgQIECAAAECBAgQINBoBQRMjXZoNIwAAQIECBAgQIAA - AQIECBAgUBoCAqbSGCetJECAAAECBAgQIECAAAECBAg0WgEBU6Md - Gg0jQIAAAQIECBAgQIAAAQIECJSGgICpNMZJKwkQIECAAAECBAgQ - IECAAAECjVZAwNRoh0bDCBAgQIAAAQIECBAgQIAAAQKlISBgKo1x - 0koCBAgQIECAAAECBAgQIECAQKMVEDA12qHRMAIECBAgQIAAAQIE - CBAgQIBAaQgImEpjnLSSAAECBAgQIECAAAECBAgQINBoBf4/AAAA - //9Rzg1eAABAAElEQVTsnQWcVVXXhxcMnYKgIiIoiooioCCCha34 - KmF3d+er2IXd3R1gd2BgYWM3KpJKd8P51rN99/3OXO7AhQkY5r9/ - v+HOnLvPjmcHd/3v2utUSjyZkgiIgAiIgAiIgAiIgAiIgAiIgAiI - gAiIgAgsIYFKEpiWkJxuEwEREAEREAEREAEREAEREAEREAEREAER - CAQkMGkiiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIFIuABKZi4dPN - IiACIiACIiACIiACIiACIiACIiACIiACEpg0B0RABERABERABERA - BERABERABERABERABIpFQAJTsfDp5mWRwLx586xSpUpWuXLlZbF5 - apMIiIAIiIAIiIAIiIAIiIAIiIAILHcElguBaf78+TZ06FAbPny4 - FRQUWKdOnSQuLOZU5WGC8Pvjjz+tWrWq1rlz58UsYdnIPm3aNPty - 0CCbPm26denS2erVq7dsNEytEAEREAEREAEREAEREAEREAEREIHl - mMBSE5gQAgYO/Nh+/OknW6fV2rbllltarVq1lgj1nDlz7IknnrBr - rrvBJk6Zbn/88r1VrVp1icqqqDch0t1xxx12eZ8rrFWrVjbg3XeW - WRSzZs0yvJQY4+xx/uijgXbJZZfZhx8MtKf6PW7bbbedC2bVltm+ - qGEiIAIiIAIiIAIiIAIiIAIiIAIisDwQWGoC008//WyXXnqZvf/h - R9Zh4/Z23bXXWsuWay4RUwSmvn372p1332MjRv1jv/743QLCwxIV - XIFuQmC6/fbb7YYbb7LVV1/d3n3n7WWy93haDRgwwJg/m266qbVv - 3y4ch4uN/fSzz+yWm2+x337/wy675CLr2rWr5kKEo1cREAEREAER - EAEREAEREAEREAERKCUCS0VgQhB6/fXX7YILL7aaNWvY+AkT7cbr - r7VtttlmibxN0gLTqH/G2M/ffyNRYTEnTBSYbnSBqdkyLDDNnTvX - rr/hBrvtttvtogsvtIMPPqjQcUg847766iub5kfkOnfe1OrWrVtI - gFpMLMt09qlTp4ZjjQiCS+r9t0x3UI0TAREQAREQAREQAREQAREQ - AREoNwSWisA0atQoFwhus9def9MFgDo21UWBzTfrYr1797aVGjde - KDw8WPiJiUDORQlM6XwEfc6VFpUH4YU81FNUGZQby4l5+Dt9LV7P - 1YZ4rTj3cC915BPYOtaTvqckBKZYbuzPwtpCXlLkkr6Xa/F6LItX - 8nA07trrrrObbr7NLnUPpcMOPSTkTefPLjtdRvw9jKv/EWdFUW2N - ZXFfrCOftsZ6eF3c/Ol7F/b7d999Z3369LHtt9/edt11V2vUqFGm - jQu7T++JgAiIgAiIgAiIgAiIgAiIgAiIQEkTKHOBCcMeD5Ozzj7b - 5s6ZZ0ccfqg9/exz9vvg3+2Rhx+0DTfcMATqzu4o902ZMsVGjBhh - I12gmjljhjVo2NBWb9bMGvrrc88/b3fddbeN/J8HE0b9L7/8EsSn - xi5arbbaagsY35RJeaNHjwnCTLt2bTN5xo4da+PGjbe///7bJk6c - YCuttJKtvPLK1qBBg/CTbt+4cePsr7/+sjp16lrz5qvb5MmT/b5/ - gndJlSpVrEmTVaxp06YL3BfLIKYQ9Y0cOdLGjB1jBZWr2Kqrrmor - rtgw3FOzZs2YNfOKJ8/EiRNtmAfmHv3PaJs9Z7bVc2+dFi1aBKGh - du3ambzxF5jQtuHDR9ioUSODl0+jxo1sNW/bKqusYvfee6/dcMON - i+3BNGvWbBs7bqwNGzbMxjuz+fPn2QorNLDVmjW1Ris2MtqSFmdo - w+DBg61GjRrOq7nNddFo5IiR3v8RNtNZrOjj2czHlXGrXr16aD6M - hg0b7t5u4+3JJ/u6OPm67b/ffrbTjjtaZMwYzZ49237//XebPn2G - bbDB+qGOdP+nT59uY8aMCeM+YcKEMO6MKV5AzKNs1gQ+/8f51qlT - O+ThHn4IKl/Vg6GvvPIqgV/9+vUXEPeYX2OYR/4zwsd2jrdtZee8 - UuOVvG+NCrUttnFxXkePHm0PPPCAPe9zv0OHDu7NdbD3eYNil7s4 - bVBeERABERABERABERABERABERABEYBAmQtMHGHq27ef3epHnLbZ - pqt7oBxq/fo9ZU+4aHDSiSeEI0916tShbYXS0KHD7JVXXrEPPvww - CCszXGCq4kGemzVdzXr26mGjRo6yRx59NCMwIcD07n2u/fTzz9bF - j0qdccYZCxwjoi3XXHONDfz4E2vbdkO76sorXRyZb99//30QrD7/ - YpCLArNs6tTpVqdubWvoQgTHrvbYY48gKsQG9u/f3wNLX27bbbut - 7bjD9vasG/yDBn1tM2fOtFp+BBABo/Omnf69z4WumHDimTJlshGY - +qWXX3bRYpgLI9Nsjre9ft161nS1prbzTjuGQNVpJvTt66+/tpdf - fsW+/vYbmzplmos0c72umqGubjvvbDvttFMQqGJdvCIsPffcc/bR - wIFBaJrmYks1Z4j4tsceuwfR59bb7vC+rZp3DCaEn7fffttefuXV - IKjBdJ4zrO0B2xs2XNF22H7b0H4ELEQm+P7444921FFH2dqt1nGB - 8TDDE+eN/m/ZlMlTXKSpFEQehLLu3XcLT7OjLEShW269zQa8/74V - eDmwrVmzls13iJUssRNOON56dO/uouC4EKj8k08+sZdfejGIVJEB - ZTBWb739jouKo11gmxbaVKt2rSD67NKtm3sDbVfoyXMPPPSgPfbo - Ey58trFduu1sDzz0iItzo4x+1/b76vpcZU7stedezrFpRkjDqw4h - ta/P7R9++NEmTpoUPJkarFA/iGe7/mcX23zzzYOoFdu3uK+wRKx7 - 4403QgwyxNLTTz89xJ1CnIui3uKWq/wiIAIiIAIiIAIiIAIiIAIi - IAIisLgEylxgwiPo4ksutRdfetnuuftO67rVVvbOO+/amWf919Zr - vZ7dfNON1tS9d9LGMd4od955pz3/wgvuKTPOVnYPkE4u2Ex1j6Y3 - 33rL6tdfwdq22SCISX+PGRdiMOHVcrs/Fe3BBx9yz5Nmdr0fq8Jb - Jp3wTjns8CNs/PjxduaZZ9jee+3lXk+/2vEnnmiT3DsIz5t2HkR6 - zTXWcA+rP+zjTz+xyi5uIHwccfjhGfHiJe8LHlnrrtPKPYGa2Lff - fW+bdOzgXkj8/p396AIDXjpHHXmE7b///raCe7uQEClee+01u8M9 - r8a6+FGteg3r3KmTrdJkZReQvgkeWHjGHH7YYaHOKDIhyCC2kGeG - Cy0cL2zYoKEN+mpQ8LZB+CA20UEHHpiJaYXnzrXXXmeven2TXchp - 3GhF22LLLYJY95SLII3dO2sLFzw+/+KLIJrkE+QboYvyrrvu+uBd - VrVqNevSpbPVrFHTPv/yiyDE4I20e69edthhh7oXUJ1wxO3bb7+1 - 3Xr0srVarmnrOLP33v/QmvsYbbTRRkFIog0FBQXBG+y0U0/1/m0W - BJo333zTfv31V/vmm29syJC/bP31W7tI1cqq+lhv5fOoo3vx/PPP - P3bWf892Ie1ZH7PBwesM1gg+d3sQ+Cc9GDxzCG+nzTp3tlkuIL75 - 5tvuKVU1CJBHMkbuGRWPzN1888127/0PePtWD3MST6Stu27l/Brb - l4MG2c8uYNarVy/08fjjjwu8Ocb35ZeDPMbYRWFc11prLdtii83D - ebwvPv8iPDmR/v33rLNcCNwx46VFO5ck4bX1559/Bg+0xx9/PHgy - HerC7dprr70kxekeERABERABERABERABERABERABEVhsAmUuML33 - 3nt2tQsd7s4RRB8EBjyGLrroYj8mNs69js4Owb4RiEgc60JYuN6D - T//jx872228f69Wzpx/BWiF4w3DPlVdd5U8V+ykE9v5n7PhMkG8E - pAMPOtj+9iNON7lwtcN22xYC9Oqrr9rRRx9j66y7nj337NPBc+ae - e+6zBx96yFZt2sSOO+YYa9euXRAAEGhox2133OkCV2PrfW5v29TF - INJL7knU+9zzgrcSYtSxxx5j6623XmgP4tVjjz9h1FXXhYgbr7/O - WrduHe77/vsf7Bp/eh7979RpkyBacTSsqnsVTfDA5/369bNnn3s+ - eDU91a+vizHr2GQX1XhKGh5PiFnnndc7HBNEsMCr5z4XQ2hnQZUC - u+euu6yVCzCk57ycq91ba6YfZ+u+26528EEHuTBXLwg+MNx11/9Y - XRfqavqxNY6uLUpgwnvmt99+s8OPOMrmzp3jglpHO8Z5NXLhqnLl - gnCMDI+zhx5+OBwPPMlFux3cuwvxBYGpR689bFU/Oki7EXSon3oR - 4n71o4333HtfEOe29zE74/QzXBBq7BymB0Ht9ttut4ceedS9dU61 - fVwULPC5wr01/Dgd3kVnn93bnn32GffI+i0ITHiK9X+rv1111TVB - XNpzj1623777BmGI+YUn08UXX2I/uGcV5TzkXktruAcV6eZbbvFj - aA8G4aiJ87788stCWxgjvIfuctHqZR8LxubGG64PRxsZh7NcMP3A - n5CIdxPCIiITCc8p7nn9zf62q3tEHXfcseGe8GYx/+Ho3lNPPWW3 - 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 - IiACIiACIiACIiACIiACIiACIiACIlCmBCQwlSluVSYCIiACIiAC - IiACIiACIiACIiACIiACyx8BCUxFjOn8+fOtcuXKmXfnzZsXfi8o - KMhc0y/FJwBn2FatWrX4hVWQEubMmWPMw/T8rCBdVzdFQAREQARE - QAREQAREQAREQASWUQJLRWDCQB4+fLgNGTLEpk+fbo0bN7bWrVtb - nTp1liqmCRMmWL9+/ezDDz+0uXPn2oEHHmg777yz/frrr3bKKafY - brvtZgcddJDVrl17qbazPFY+fvx4u++++2zEiBF28skn2xprrGEz - Z860l19+2Z544gk79thjbauttpLQtIjB/eyzz+z666+37bbbzg44 - 4ACrUaPGIu7Q22kCzL9HH33U3n//fbv77rtt1VVXtUqVKqWzlOrv - SZLY0KFD7dBDD7WePXva/vvvbw0bNizVOsuq8GHDhtmZZ55pHTp0 - sBNPPNGqV69eVlWrHhEQAREQAREQAREQAREQgWWAQJkKTAhLX3zx - hT355JP2+++/BzEBLwzEnEmTJtkhhxxiu+66azC4ytLoYxzwpLn6 - 6qvt008/tXr16gXDHQNwm222sXvuucfeffdda968uZ1zzjnWqFGj - ZWDoylcTxowZYzfffLNNmTLFjjvuOGvVqpVNnjzZbr31Vvvyyy9t - 0003DeLdyiuvXL46Voathddzzz1nzz//vLVv396OPPJIa9KkSRm2 - oHxUxT7DfjJ79mxbaaWVrEqVKpmGI2rff//99uOPP9o111xjLVq0 - KHOB6bfffrPTTjvNNt98czvssMNCGzMNLMe/DB482M477zxbf/31 - 7YwzzrCaNWuW496o6SIgAiIgAiIgAiIgAiIgAotLoMwEpmnTpgWR - BuOY35s2bRp+EJjwHMKzYOrUqdamTZvgmbH66qsvbl+KlX/GjBnW - q1ev0KZddtnFNtpooyAkYSRhlD799NO29tpr20477STDaQlIIzDd - csstQVSKAhMCAN5iCExdu3a1du3ayYNpIWzxfvnpp5/spZdesrZt - 2wbxs1q1agu5o2K+hXh944032p9//ml33XVXWNORBGv5gQceyAhM - iMZlKWYzhghMp59+ehCY8GRCBFsekgSm5WEU1QcREAEREAEREAER - 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 - AogdxJzih6NdeLQpiYAIiIAIiIAIiIAIiIAIiIAIiECagASmNI3F - +J1vhTneMMDjpuDNFOPw8I0yR1+Iw0OsoPQxn8Uovkyz4m1FPzga - Qqyp8pT4Np/gu8STQWzi+A8BejkStTheXOWpz2XdVuY2nmEcf+II - oriW9QioPhEQAREQAREQAREQAREQARFY9glIYCrmGBHzhKNwHHHg - yB9xSIhvQayL7Pguxayq1G4nrg9xS4gNRCyP8pQQlYhhQpBfxD24 - E6NFIkjJjSJHiDj2iScTsXaUREAEREAEREAEREAEREAEREAERCCb - gASmbCJL+DdCBz8SNpYQYDFugzsp3/g2xahKt4qACIiACIiACIiA - CIiACIiACIiACOQgIIEpBxRdEgEREAEREAEREAEREAEREAEREAER - EAERyJ+ABKb8WSmnCIiACIiACIiACIiACIiACIiACIiACIhADgIS - mHJA0SUREAEREAEREAEREAEREAEREAEREAEREIH8CUhgyp+VcoqA - CIiACIiACIiACIiACIiACIiACIiACOQgIIEpBxRdEgEREAEREAER - EAEREAEREAEREAEREAERyJ+ABKb8WSmnCIiACIiACIiACIiACIiA - CIiACIiACIhADgISmHJA0SUREAEREAEREAEREAEREAEREAEREAER - EIH8CUhgyp+VcoqACIiACIiACIiACIiACIiACIiACIiACOQgIIEp - BxRdEgEREAEREAEREAEREAEREAEREAEREAERyJ+ABKb8WSmnCIiA - CIiACIiACIiACIiACIiACIiACIhADgISmHJA0SUREAEREAEREAER - EAEREAEREAEREAEREIH8CUhgyp+VcoqACIiACIiACIiACIiACIiA - CIiACIiACOQgIIEpBxRdEgEREAEREAEREAEREAEREAEREAEREAER - yJ+ABKb8WSmnCIiACIiACIiACIiACIiACIiACIiACIhADgISmHJA - 0SUREAEREAEREAEREAEREAEREAEREAEREIH8CUhgyp+VcoqACIiA - CIiACIiACIiACIiACIiACIiACOQgIIEpBxRdEgEREAEREAEREAER - EAEREAEREAEREAERyJ+ABKb8WSmnCIiACIiACIiACIiACIiACIiA - CIiACIhADgISmHJA0SUREAEREAEREAEREAEREAEREAEREAEREIH8 - CUhgyp+VcoqACIiACIiACIiACIiACIiACIiACIiACOQgIIEpBxRd - EgEREAEREAEREAEREAEREAEREAEREAERyJ+ABKb8WSmnCIiACIiA - CIiACIiACIiACIiACIiACIhADgISmHJA0SUREAEREAEREAEREAER - EAEREAEREAEREIH8CUhgyp+VcoqACIiACIiACIiACIiACIiACIiA - CIiACOQgIIEpBxRdEgEREAEREAEREAEREAEREAEREAEREAERyJ+A - BKb8WSmnCIiACIiACIiACIiACIiACIiACIiACIhADgISmHJA0SUR - EAEREAEREAEREAEREAEREAEREAEREIH8CUhgyp+VcoqACIiACIiA - CIiACIiACIiACIiACIiACOQgIIEpBxRdEgEREAEREAEREAEREAER - EAEREAEREAERyJ+ABKb8WSmnCIiACIiACIiACIiACIiACIiACIiA - CIhADgISmHJA0SUREAEREAEREAEREAEREAEREAEREAEREIH8CUhg - yp+VcoqACIiACIiACIiACIiACIiACIiACIiACOQgIIEpBxRdEgER - EAEREAEREAEREAEREAEREAEREAERyJ+ABKb8WSmnCIiACIiACIiA - CIiACIiACIiACIiACIhADgISmHJA0SUREAEREAEREAEREAEREAER - EAEREAEREIH8CUhgyp+VcoqACIiACIiACIiACIiACIiACIiACIiA - COQgIIEpBxRdEgEREAEREAEREAEREAEREAEREAEREAERyJ+ABKb8 - WSmnCIiACIiACIiACIiACIiACIiACIiACIhADgISmHJA0SUREAER - EAEREAEREAEREAEREAEREAEREIH8CZS6wDR8+HAbNWqUVapUKf9W - KacIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiECpEpg3b561b9/eqlWr - Vux6Sl1gGj9+vE2YMMEqV65c7MaqABEQAREQAREQAREQAREQAREQ - AREQAREQgZIhMH/+fGvevLlVqVKl2AWWusBU7BaqABEQAREQAREQ - AREQAREQAREQAREQAREQgRInkCRJiZ04k8BU4sOjAkVABERABERA - BERABERABERABERABESgYhGQwFSxxlu9FQEREAEREAEREAEREAER - EAEREAEREIESJyCBqcSRqkAREAEREAEREAEREAEREAEREAEREAER - qFgEJDBVrPFWb0VABERABERABERABERABERABERABESgxAlIYCpx - pCpQBERABERABERABERABERABERABERABCoWAQlMFWu81VsREAER - EAEREAEREAEREAEREAEREAERKHECEphKHKkKFAEREAEREAEREAER - EAEREAEREAEREIGKRUACU8Uab/VWBERABERABERABERABERABERA - BERABEqcgASmEkeqAkVABERABERABERABERABERABERABESgYhGQ - wFSxxlu9FQEREAEREAEREAEREAEREAEREAEREIESJyCBqcSRqkAR - EAEREAEREAEREAEREAEREAEREAERqFgEJDBVrPFWb0VABERABERA - BERABERABERABERABESgxAlIYCpxpCpQBERABERABERABERABERA - BERABERABCoWAQlMFWu81VsREAEREAEREAEREAEREAEREAEREAER - KHECEphKHKkKFAEREAEREAEREAEREAEREAEREAEREIGKRUACU8Ua - b/VWBERABERABERABERABERABERABERABEqcgASmEkeqAkVABERA - BERABERABERABERABERABESgYhGQwFSxxlu9FQEREAEREAEREAER - EAEREAEREAEREIESJyCBqcSRqkAREAEREAEREAEREAEREAEREAER - EAERqFgEJDBVrPFWb0VABERABERABERABERABERABERABESgxAlI - YCpxpCpQBERABERABERABERABERABERABERABCoWAQlMFWu81VsR - EAEREAEREAEREAEREAEREAEREAERKHECEphKHKkKFAEREAEREAER - EAEREAEREAEREAEREIGKRUACU8Uab/VWBERABERABERABERABERA - BERABERABEqcgASmEkeqAkVABERABERABERABERABERABERABESg - YhGQwFSxxlu9FQEREAEREAEREAEREAEREAEREAEREIESJyCBqcSR - qkAREAEREAEREAEREAEREAEREAEREAERqFgEJDBVrPFWb0VABERA - BERABERABERABERABERABESgxAlIYCpxpCpQBERABERABERABERA - BERABERABERABCoWAQlMFWu81VsREAEREAEREAEREAEREAEREAER - EAERKHECEphKHKkKFAEREAEREAEREAEREAEREAEREAEREIGKRUAC - U8Uab/VWBERABERABERABERABERABERABERABEqcgASmEkeqAkVA - BERABERABERABERABERABERABESgYhGQwFSxxlu9FQEREAEREAER - EAEREAEREAEREAEREIESJyCBqcSRqkAREAEREAEREAEREAEREAER - EAEREAERqFgEylRgmjt3rv0zZqxNmjzZ5syZW7FIV+DeVrJKVq1a - VVuhwQrWuGEDKygoqMA01HUREAEREAEREAEREAEREAERqFgEksRs - zJTZNnrcTJs9a64lXFAqcwKVKrltXr2KrdSwhq1Uv1qJ118mAtP8 - +YmNGTfePvz0c/v2p8E2ZNRoGzttms2fX+L9UYHLIIGqBZVt5Xp1 - rWWzVaxjuw2sQ7s2Vr9u3WWwpWqSCIiACIiACIiACIiACIiACIhA - SRKYPnOeDfxlkr351Xj7bMh0mzRxjs2fJ4GpJBnnW1alymb1Vqhm - HVvUtO3bNrSt1l/BalYvOQeQUheYUCZH/jPannv9Hft18B/WtvU6 - /rOuNVyhrqGeKS3/BObNm++ea+Psy+9/tCHDR1mXjdvaTttsYXVq - 1Vr+O68eioAIiIAIiIAIiIAIiIAIiEAFJTBz9nx78csxdt+AMTZm - zCyrVODnWyQDLNXZgPNY4gJfgwbV7ICtVrK9N2lktWqUjMhU6gLT - tGnT7alX3rDvf/7deuy4tbVdfz2rVbOGH5Ny6UypwhCYO3eeTZk6 - 1QYM/Mze9p+ePhe26tLJqui4XIWZA+qoCIiACIiACIiACIiACIhA - xSHgB5ns898m2blPDbMJE2dLWFrGhh6hqW7dqnZ+r9Vsm/UblMj4 - lLrA9OOvg+2Rp1+yjdqsa7267ShhaRmbVGXdnHETJtp9TzxrM6ZP - s8P338tWa7JyWTdB9YmACIiACIiACIiACIiACIiACJQygcnT59oN - Lw2z5z8ZbwVV5bZUyriXqPh5cxLbYaMGdvE+LaxG1eI7AZW6wNT/ - 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 - Z+B4v7/3sHWbej7gay0s+nDhIm3aHqd+552jgZeeb+1wlRW/P0lP - vviqtsXtU78Leurs9mcoMDDQriFOU9+d5xnm7WcDvJ+4Lz9gWrx0 - uWenun3WAjj8pmt12skneaqedlm45UKxZat+8qxz/eXFh5oXXngp - fEPAVAqILIEAAggggAACCCCAAAIIVGCB8giY8qxiqP3J1fT0lQ1t - B/YA/WfGZs34MdkT+BSlyc2W3r+/pYU3lbXA5iA9MWeHFY3kFQuY - 1u1K19gFcYqzodqRFhSde1oN9T0zfyf5IRYuLbUd5irZJJ7Rg5ur - q7XIuSMxNVuPTI7V3swcVbXd63qdEq7+nevY5mN5evLd7RZ4xSvS - hng/6OZDHTWDyb3f4gP1ah2ux69u6vneBV3bbUj50DdjtDc5q8yr - l9w1EDA5haOOgoAp6XCL3PFWMLnlXQvZt8tX6Tbbaa6ZVQZVCwtT - aNUqyrRB4vsSElXZqpNuuOJidevUobDSyL3voFUJvTHtv1r03TIF - Vw7SFRf2VO/uXWxQeH4/qHtNQcAUn5yioTbQ21UwuSPRfp46Z57m - frpINatVVbXwcM+HKtkCoT2JKbro3K66vl8fhdl1uMMFWlPefV/v - f/KV/eSnyMgIq0ryU7xdX7WqoUqycCzH7qMgYIpPTLbwy6qk1m+0 - iqwqVvFUwwKpANtJL90TRtWrG6XH7r7J5k4Vn//kOVkp/YeAqZQg - WQYBBBBAAAEEEEAAAQQQqKAC5REwZafl6dWbm+pMG+69eutBjZwR - q50Jvwxmci3wGWbzlK7qUluJabkaOWmzVmxJ00s3NVe7pmFavS1V - ra1SKc1mH8UfyFZEqL/CQ/K3h7vZWuq+s1DKVSm5FMgFTG4G07Z9 - mYquESRrYlK8BU1VgmxzsSoBNvLmkF79co8mfLjLxntLNS2s+tWA - yV7bLKqyRl7eSK0ahCrbArNFqxJ05/itCqicP1e6rB8vAVMJwh9+ - 9qWGj51o4U6G1n8w0VPFU8LLiv1qhw3NvuLex5Rku6n99P6kYn8r - +MEFOBtiYvXg6HGKscqkEAtj3C51p53YVHdeP0CtWliF0VFNka6d - bZnNNOp/zyjViY7U2w/doZNObFawpOfrjrg9etra17bsjtdTdw/R - KS2aF/49PSNT09+fr7etRS89I0v+VqKXZy1tgy7urasuOd8qjvLD - pYI3pBxMtWqlDzVp3qfKzclWqg0Ta9uqhV4aeZeuu/dRrbGqp5nP - PqxTDodY7n0vTZiqyfM+U55dq79df6Kdp+85nXTXDVepZkS1gqXL - 5CsBU5mwsigCCCCAAAIIIIAAAgggUGEEyjpgctU/gRbozLn9REXV - qKwPbIbRg7N2WhvbL4MZ99rstEP6YXQbBQdV0pNTNmvOsuTCgGn0 - Bzu0PSNPT9uucW53N3dYB5yesJBo7uc2G8la69zhWuc8AVOLcE1c - tEcrYlL1/KAmh7cYy69ImrFsv0Z7dorLb9NzAdNIG9zd2Sqt3ltp - u9XZkPHcwy1ybs3cbNutrkekBl3YQHuTMnX3dNuIa+MBTyeT+3tZ - HwRMZS1cwvouaDpoLWyuja26tcVVDi6+W1sJbznuX7nd3pIPHPRU - KVUPD/tdc6XiE5OssipYVUND/uf53T25mUzZFkrVrF79f76+tF5A - wFRakqyDAAIIIIAAAggggAACCFRMgbIOmNxd5wdHecrLOeSp+HFD - uH/tcK91YYqblRQU6ucZCF4wg2ns/F02mylOeRb2NLBKIn8LmWK3 - pXn+LV50zcKAySqY3lm8V6NnbbeNsg6pRp3KnnlK23ak2bXkyd9C - roI6FHfeHAuv3K50bq1if7PAKqSyVTj1iVav9pH6eWuKbn49Ruku - 3Sqng4CpnKA5TdkIEDCVjSurIoAAAggggAACCCCAAAIVRaA8Aqbj - udcAS4CKBkwTvthtiVV+aOW+unlLRx9HB0wvvLfD0wbnQqRfe8/R - axT8HBDgZ5VXQbqkTYSu7BJl3UV5GjNvh/77fULxHewL3lBGXwmY - ygiWZctHgICpfJw5CwIIIIAAAggggAACCCDgLQFfCJhe+mcztbUZ - TC8v2KXxn+cHTL/lVTRgmmIVTGMOB0y/9Z6S/uYqrgZ1qakBPU5Q - tRB/BQf6acnGFD02e7viEjILq59Kem9p/46AqbRFWa9cBQiYypWb - kyGAAAIIIIAAAggggAAC5S5Q0QMmN4v43kvrqW3jML31+R59tDzB - U4X0W1CuUmnYRfXU1WYwzV6aoOk2zNsVLx3r4QKmqzrX0KXdT5Cf - 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 - Aggg4PsC/w+xoIuIOI3E9gAAAABJRU5ErkJggg== - - - - LinksVisible - NO - MagnetsVisible - NO - MasterSheets - - ModificationDate - 2024-01-16 21:20:14 +0000 - Modifier - Glenn Rodgers - MovementHandleVisible - NO - NotesVisible - NO - OriginVisible - NO - PageBreaks - NO - PrintInfo - - NSBottomMargin - - float - 40 - - NSHorizonalPagination - - coded - BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG - - NSLeftMargin - - float - 18 - - NSPaperSize - - size - {612, 792} - - NSPrintReverseOrientation - - coded - BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG - - NSRightMargin - - float - 18 - - NSTopMargin - - float - 18 - - - ReadOnly - NO - Sheets - - - ActiveLayerIndex - 0 - AutoAdjust - 15 - AutosizingMargin - 0 - BackgroundGraphic - - Bounds - {{-10639.999999999998, -8726.6666666666661}, {3967.7777777777774, 2392.2222222222217}} - Class - GraffleShapes.CanvasBackgroundGraphic - ID - 0 - Style - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - TextAlongPathGlyphAnchor - center - - - BaseZoom - 0 - CanvasDimensionsOrigin - {-9311, -7912} - CanvasOrigin - {0, 0} - CanvasSize - {608, 252} - CanvasSizingMode - 2 - ColumnAlign - 1 - ColumnSpacing - 36 - DisplayScale - 1.0 pt = 1.0 px - GraphicsList - - - Bounds - {{-9301, -7904}, {588, 232}} - Class - ShapedGraphic - ID - 4 - ImageID - 1 - ManualSizeImage - YES - Opacity - 0.99999995529651686 - Scaling - 1 - StretchImage - - Style - - fill - - Draws - NO - - shadow - - Beneath - YES - Fuzziness - 20 - - stroke - - Draws - NO - - - Text - - TextAlongPathGlyphAnchor - center - - - - GridInfo - - GridSpacing - 1 - MajorGridColor - - a - 0.1 - archive - - YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25Z - JGFyY2hpdmVyVCR0b3BYJG9iamVjdHMSAAGG - oF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290 - gAGmCwwXHR4lVSRudWxs1Q0ODxAREhMUFRZc - TlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JT - cGFjZV8QEk5TQ3VzdG9tQ29sb3JTcGFjZVYk - Y2xhc3NJMCAwIDAgMC4xSjAgMCAwIDAuMQAQ - AYACgAXTGBEZGhscVU5TSUNDWU5TU3BhY2VJ - RIADgAQQDk8RDEgAAAxITGlubwIQAABtbnRy - UkdCIFhZWiAHzgACAAkABgAxAABhY3NwTVNG - VAAAAABJRUMgc1JHQgAAAAAAAAAAAAAAAAAA - 9tYAAQAAAADTLUhQICAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAABFjcHJ0AAABUAAAADNkZXNjAAAB - hAAAAGx3dHB0AAAB8AAAABRia3B0AAACBAAA - ABRyWFlaAAACGAAAABRnWFlaAAACLAAAABRi - WFlaAAACQAAAABRkbW5kAAACVAAAAHBkbWRk - AAACxAAAAIh2dWVkAAADTAAAAIZ2aWV3AAAD - 1AAAACRsdW1pAAAD+AAAABRtZWFzAAAEDAAA - ACR0ZWNoAAAEMAAAAAxyVFJDAAAEPAAACAxn - VFJDAAAEPAAACAxiVFJDAAAEPAAACAx0ZXh0 - AAAAAENvcHlyaWdodCAoYykgMTk5OCBIZXds - ZXR0LVBhY2thcmQgQ29tcGFueQAAZGVzYwAA - AAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAA - AAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAWFlaIAAA - AAAAAPNRAAEAAAABFsxYWVogAAAAAAAAAAAA - AAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQ - WFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAA - AAAAJKAAAA+EAAC2z2Rlc2MAAAAAAAAAFklF - QyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAA - AAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAA - AC5JRUMgNjE5NjYtMi4xIERlZmF1bHQgUkdC - IGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAA - AAAAAC5JRUMgNjE5NjYtMi4xIERlZmF1bHQg - UkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAZGVzYwAAAAAA - AAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0 - aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAA - AAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRp - dGlvbiBpbiBJRUM2MTk2Ni0yLjEAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAHZpZXcAAAAA - ABOk/gAUXy4AEM8UAAPtzAAEEwsAA1yeAAAA - AVhZWiAAAAAAAEwJVgBQAAAAVx/nbWVhcwAA - AAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAo8A - AAACc2lnIAAAAABDUlQgY3VydgAAAAAAAAQA - AAAABQAKAA8AFAAZAB4AIwAoAC0AMgA3ADsA - QABFAEoATwBUAFkAXgBjAGgAbQByAHcAfACB - AIYAiwCQAJUAmgCfAKQAqQCuALIAtwC8AMEA - xgDLANAA1QDbAOAA5QDrAPAA9gD7AQEBBwEN - ARMBGQEfASUBKwEyATgBPgFFAUwBUgFZAWAB - ZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJ - AdEB2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgC - QQJLAlQCXQJnAnECegKEAo4CmAKiAqwCtgLB - AssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08D - WgNmA3IDfgOKA5YDogOuA7oDxwPTA+AD7AP5 - BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgE - tgTEBNME4QTwBP4FDQUcBSsFOgVJBVgFZwV3 - BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgG - WQZqBnsGjAadBq8GwAbRBuMG9QcHBxkHKwc9 - B08HYQd0B4YHmQesB78H0gflB/gICwgfCDII - RghaCG4IggiWCKoIvgjSCOcI+wkQCSUJOglP - CWQJeQmPCaQJugnPCeUJ+woRCicKPQpUCmoK - gQqYCq4KxQrcCvMLCwsiCzkLUQtpC4ALmAuw - C8gL4Qv5DBIMKgxDDFwMdQyODKcMwAzZDPMN - DQ0mDUANWg10DY4NqQ3DDd4N+A4TDi4OSQ5k - Dn8Omw62DtIO7g8JDyUPQQ9eD3oPlg+zD88P - 7BAJECYQQxBhEH4QmxC5ENcQ9RETETERTxFt - EYwRqhHJEegSBxImEkUSZBKEEqMSwxLjEwMT - IxNDE2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTO - FPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZsFo8W - shbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiK - GK8Y1Rj6GSAZRRlrGZEZtxndGgQaKhpRGnca - nhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyj - HMwc9R0eHUcdcB2ZHcMd7B4WHkAeah6UHr4e - 6R8THz4faR+UH78f6iAVIEEgbCCYIMQg8CEc - IUghdSGhIc4h+yInIlUigiKvIt0jCiM4I2Yj - lCPCI/AkHyRNJHwkqyTaJQklOCVoJZclxyX3 - JicmVyaHJrcm6CcYJ0kneierJ9woDSg/KHEo - oijUKQYpOClrKZ0p0CoCKjUqaCqbKs8rAis2 - K2krnSvRLAUsOSxuLKIs1y0MLUEtdi2rLeEu - Fi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDb - MRIxSjGCMbox8jIqMmMymzLUMw0zRjN/M7gz - 8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbp - NyQ3YDecN9c4FDhQOIw4yDkFOUI5fzm8Ofk6 - Njp0OrI67zstO2s7qjvoPCc8ZTykPOM9Ij1h - PaE94D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA - 50EpQWpBrEHuQjBCckK1QvdDOkN9Q8BEA0RH - RIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BI - BUhLSJFI10kdSWNJqUnwSjdKfUrESwxLU0ua - S+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lP - k0/dUCdQcVC7UQZRUFGbUeZSMVJ8UsdTE1Nf - U6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RX - klfgWC9YfVjLWRpZaVm4WgdaVlqmWvVbRVuV - W+VcNVyGXNZdJ114XcleGl5sXr1fD19hX7Ng - BWBXYKpg/GFPYaJh9WJJYpxi8GNDY5dj62RA - ZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg/aJZo - 7GlDaZpp8WpIap9q92tPa6dr/2xXbK9tCG1g - bbluEm5rbsRvHm94b9FwK3CGcOBxOnGVcfBy - S3KmcwFzXXO4dBR0cHTMdSh1hXXhdj52m3b4 - d1Z3s3gReG54zHkqeYl553pGeqV7BHtje8J8 - IXyBfOF9QX2hfgF+Yn7CfyN/hH/lgEeAqIEK - gWuBzYIwgpKC9INXg7qEHYSAhOOFR4Wrhg6G - cobXhzuHn4gEiGmIzokziZmJ/opkisqLMIuW - i/yMY4zKjTGNmI3/jmaOzo82j56QBpBukNaR - P5GokhGSepLjk02TtpQglIqU9JVflcmWNJaf - lwqXdZfgmEyYuJkkmZCZ/JpomtWbQpuvnByc - iZz3nWSd0p5Anq6fHZ+Ln/qgaaDYoUehtqIm - opajBqN2o+akVqTHpTilqaYapoum/adup+Co - UqjEqTepqaocqo+rAqt1q+msXKzQrUStuK4t - rqGvFq+LsACwdbDqsWCx1rJLssKzOLOutCW0 - nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1 - uy67p7whvJu9Fb2Pvgq+hL7/v3q/9cBwwOzB - Z8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/ - yD3IvMk6ybnKOMq3yzbLtsw1zLXNNc21zjbO - ts83z7jQOdC60TzRvtI/0sHTRNPG1EnUy9VO - 1dHWVdbY11zX4Nhk2OjZbNnx2nba+9uA3AXc - it0Q3ZbeHN6i3ynfr+A24L3hROHM4lPi2+Nj - 4+vkc+T85YTmDeaW5x/nqegy6LzpRunQ6lvq - 5etw6/vshu0R7ZzuKO6070DvzPBY8OXxcvH/ - 8ozzGfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5 - x/pX+uf7d/wH/Jj9Kf26/kv+3P9t///SHyAh - IlokY2xhc3NuYW1lWCRjbGFzc2VzXE5TQ29s - b3JTcGFjZaIjJFxOU0NvbG9yU3BhY2VYTlNP - YmplY3TSHyAmJ1dOU0NvbG9yoiYkAAgAEQAa - ACQAKQAyADcASQBMAFEAUwBaAGAAawB4AH4A - iwCgAKcAsQC8AL4AwADCAMkAzwDZANsA3QDf - DSsNMA07DUQNUQ1UDWENag1vDXcAAAAAAAAC - AQAAAAAAAAAoAAAAAAAAAAAAAAAAAAANeg== - - b - 0 - g - 0 - r - 0 - - MajorGridSpacing - 4 - - HPages - 2 - KeepToScale - - Layers - - - Artboards - - Lock - - Name - Layer 1 - Print - - View - - - - LayoutInfo - - Animate - NO - LayoutTarget - 1 - circoMinDist - 18 - circoSeparation - 0.0 - layoutEngine - dot - neatoLineLength - 0.20000000298023224 - neatoSeparation - 0.0 - twopiSeparation - 0.0 - - Orientation - 2 - OutlineStyle - Blank.gtemplate - OutlineStyleURL - - Ym9va1AEAAAAAAQQMAAAANidwh982FwuaK/4HTEmYl/nZldMX2kJ - ANTqG/BfL/YwTAMAAAQAAAADAwAAAAgAKAUAAAABAQAAVXNlcnMA - AAANAAAAAQEAAGdsZW5uLnJvZGdlcnMAAAAHAAAAAQEAAExpYnJh - cnkACgAAAAEBAABDb250YWluZXJzAAAaAAAAAQEAAGNvbS5vbW5p - Z3JvdXAuT21uaUdyYWZmbGU3AAAEAAAAAQEAAERhdGETAAAAAQEA - AEFwcGxpY2F0aW9uIFN1cHBvcnQADgAAAAEBAABUaGUgT21uaSBH - cm91cAAACwAAAAEBAABPbW5pR3JhZmZsZQAJAAAAAQEAAFRlbXBs - YXRlcwAAAAkAAAABAQAAVVggYW5kIFVJAAAADwAAAAEBAABCbGFu - ay5ndGVtcGxhdGUANAAAAAEGAAAQAAAAIAAAADgAAABIAAAAXAAA - AIAAAAA4AAAAjAAAAKgAAADAAAAA1AAAAOgAAAD8AAAACAAAAAQD - AACEXAAAAAAAAAgAAAAEAwAAmtkDAAAAAAAIAAAABAMAAKHZAwAA - AAAACAAAAAQDAAB/2wMAAAAAAAgAAAAEAwAATgs/AAAAAAAIAAAA - BAMAAE8LPwAAAAAACAAAAAQDAABSCz8AAAAAAAgAAAAEAwAAVAs/ - AAAAAAAIAAAABAMAAMcLPwAAAAAACAAAAAQDAADICz8AAAAAAAgA - AAAEAwAAegw/AAAAAAAIAAAABAMAAFcNPwAAAAAACAAAAAQDAABl - DT8AAAAAADQAAAABBgAAUAEAAGABAABwAQAAgAEAAJABAACgAQAA - sAEAAMABAADQAQAA4AEAAPABAAAAAgAAEAIAAAgAAAAABAAAQcR/ - w36AAAAYAAAAAQIAAAIAAAAAAAAADwAAAAAAAAAAAAAAAAAAAAgA - AAAEAwAACwAAAAAAAAAEAAAAAwMAAPYBAAAIAAAAAQkAAGZpbGU6 - Ly8vDAAAAAEBAABNYWNpbnRvc2ggSEQIAAAABAMAAABQoRtzAAAA - CAAAAAAEAABBxZZOyIAAACQAAAABAQAANkZENkJGMDYtOUU0NS00 - NDBFLThCRTktOUZGNUZBQjAzNjI3GAAAAAECAACBAAAAAQAAAO8T - AAABAAAAAAAAAAAAAAABAAAAAQEAAC8AAAAAAAAAAQUAAMwAAAD+ - ////AQAAAAAAAAAQAAAABBAAABQBAAAAAAAABRAAACACAAAAAAAA - EBAAAGwCAAAAAAAAQBAAAFwCAAAAAAAAAiAAADgDAAAAAAAABSAA - AKgCAAAAAAAAECAAALgCAAAAAAAAESAAAOwCAAAAAAAAEiAAAMwC - AAAAAAAAEyAAANwCAAAAAAAAICAAABgDAAAAAAAAMCAAAEQDAAAA - AAAAAcAAAIwCAAAAAAAAEcAAACAAAAAAAAAAEsAAAJwCAAAAAAAA - ENAAAAQAAAAAAAAA - - PrintOnePage - - RowAlign - 1 - RowSpacing - 36 - SheetTitle - Canvas 1 - UniqueID - 1 - VPages - 1 - VisibleVoidKey - 1 - - - SmartAlignmentGuidesActive - YES - SmartDistanceGuidesActive - YES - UseEntirePage - - WindowInfo - - CurrentSheet - 0 - Frame - {{2291, -12}, {1512, 861}} - ShowInfo - - ShowRuler - - Sidebar - - SidebarWidth - 246 - Sidebar_Tab - 1 - VisibleRegion - {{-9482.2222222222208, -8242.2222222222226}, {1328.8888888888887, 815.55555555555657}} - WindowInfo_InspectorTab - - com.omnigroup.OmniGraffle.inspectorGroup.object - - ZoomValues - - - Canvas 1 - 0.90000000000000002 - 1 - - - - compressOnDiskKey - - copyLinkedImagesKey - - createSinglePDFKey - 1 - exportAreaKey - 4 - exportQualityKey - 100 - exportSizesKey - - 1 - - - fileFormatKey - 0 - graffleDocumentFormatKey - 0 - htmlImageTypeKey - 0 - includeBackgroundGraphicKey - - includeNonPrintingLayersKey - - lastExportTypeKey - 7 - marginWidthKey - 0.0 - readOnlyKey - - resolutionForBMPKey - 1 - resolutionForGIFKey - 1 - resolutionForHTMLKey - 1 - resolutionForJPGKey - 1 - resolutionForPNGKey - 2 - resolutionForTIFFKey - 1 - resolutionUnitsKey - 0 - useArtboardsKey - - useMarginKey - - useNotesKey - - - diff --git a/pdk/1.0/modules/ROOT/assets/images/more-options-menu.png b/pdk/1.0/modules/ROOT/assets/images/more-options-menu.png deleted file mode 100644 index 7d1ce1f75..000000000 Binary files a/pdk/1.0/modules/ROOT/assets/images/more-options-menu.png and /dev/null differ diff --git a/pdk/1.0/modules/ROOT/assets/images/pdk-dev-asset.png b/pdk/1.0/modules/ROOT/assets/images/pdk-dev-asset.png deleted file mode 100644 index 847263a9f..000000000 Binary files a/pdk/1.0/modules/ROOT/assets/images/pdk-dev-asset.png and /dev/null differ diff --git a/pdk/1.0/modules/ROOT/assets/images/sensitive-data.png b/pdk/1.0/modules/ROOT/assets/images/sensitive-data.png deleted file mode 100644 index 5256659a6..000000000 Binary files a/pdk/1.0/modules/ROOT/assets/images/sensitive-data.png and /dev/null differ diff --git a/pdk/1.0/modules/ROOT/nav.adoc b/pdk/1.0/modules/ROOT/nav.adoc deleted file mode 100644 index bf1236132..000000000 --- a/pdk/1.0/modules/ROOT/nav.adoc +++ /dev/null @@ -1,31 +0,0 @@ -* xref:policies-pdk-overview.adoc[PDK Overview] -* xref:policies-pdk-release-notes.adoc[Release Notes] -* xref:policies-pdk-architecture.adoc[Architecture Overview] -* xref:policies-pdk-prerequisites.adoc[] -* xref:policies-pdk-configure-network-proxy.adoc[] -* xref:policies-pdk-develop-custom-policies.adoc[] -** xref:policies-pdk-create-project.adoc[] -** xref:policies-pdk-create-schema-definition.adoc[] -** xref:policies-pdk-configure-features.adoc[] -*** xref:policies-pdk-configure-features-logging.adoc[] -*** xref:policies-pdk-configure-features-headers.adoc[] -*** xref:policies-pdk-configure-features-inject-parameters.adoc[] -*** xref:policies-pdk-configure-features-http-request.adoc[] -*** xref:policies-pdk-configure-features-jwt.adoc[] -*** xref:policies-pdk-configure-features-dataweave.adoc[] -*** xref:policies-pdk-configure-features-share-data.adoc[] -*** xref:policies-pdk-configure-features-libraries.adoc[] -*** xref:policies-pdk-configure-features-caching.adoc[] -*** xref:policies-pdk-configure-features-metadata.adoc[] -*** xref:policies-pdk-configure-features-streamproperties.adoc[] -*** xref:policies-pdk-configure-features-authentication.adoc[] -*** xref:policies-pdk-configure-features-stop.adoc[] -** xref:policies-pdk-compile-policies.adoc[] -** xref:policies-pdk-debug-local.adoc[] -** xref:policies-pdk-integration-tests.adoc[] -** xref:policies-pdk-publish-policies.adoc[] -* xref:policies-pdk-policy-templates.adoc[] -* xref:policies-pdk-apply-policies.adoc[] -* xref:policies-pdk-debug-deployed-policies.adoc[] -* xref:policies-pdk-troubleshooting.adoc[Troubleshooting] - diff --git a/pdk/1.0/modules/ROOT/pages/_partials/pdk-spotlight-video.html b/pdk/1.0/modules/ROOT/pages/_partials/pdk-spotlight-video.html deleted file mode 100644 index 80eca170a..000000000 --- a/pdk/1.0/modules/ROOT/pages/_partials/pdk-spotlight-video.html +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/pdk/1.0/modules/ROOT/pages/policies-pdk-apply-policies.adoc b/pdk/1.0/modules/ROOT/pages/policies-pdk-apply-policies.adoc deleted file mode 100644 index 282f738ad..000000000 --- a/pdk/1.0/modules/ROOT/pages/policies-pdk-apply-policies.adoc +++ /dev/null @@ -1,109 +0,0 @@ -= Applying Custom Policies -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Applying custom policies is the same as applying xref:gateway::policies-included-directory.adoc[included policies]. - -When applying custom policies, the configuration parameters are defined in `definition/gcl.yaml`. - -To learn more about defining configuration parameters, see xref:policies-pdk-create-schema-definition.adoc[]. - -== Before You Begin - -* xref:policies-pdk-compile-policies.adoc[Compile your custom policy]. -* If applying your custom policy to Flex Gateway running in Connected Mode, xref:policies-pdk-publish-policies.adoc[upload your custom policy to Exchange]. - -== Apply Policies in Connected Mode - -When you apply a custom policy in Connected Mode, the configuration parameters and metadata defined in `gcl.yaml` appear in the API Manager UI. - -To apply a custom policy in Connected Mode, see xref:gateway::flex-gateway-secure-conn.adoc[]. - -=== Update Policies in Connected Mode - -To update a custom policy in API Manager: - -. Go to *Anypoint Platform > API Manager*. -. In *API Administration* click the name of the API to which to apply a policy. -. From the left navigation menu, click *Policies*. -. Click the more options button (image:more-options-menu.png[1%,1%]) of the policy you want to update, and then click *Edit configuration*. -. Select the *latest* version for *Policy version* configuration parameter. -. Click *Save*. -. Click the more options button (image:more-options-menu.png[1%,1%]) of the policy you want to update, and then click *Check for implementation updates*. -+ -For more information about implementation updates, see xref:exchange::manage-versions.adoc#update-policy-implementations[Update Policy Implementations]. -. In the confirmation dialog box, click *Update all*. - - - -[[apply-policies-in-local-mode]] -== Apply Policies in Local Mode - -For Flex Gateway running in Local Mode, you apply custom policies using xref:gateway::flex-local-configuration-reference-guide.adoc[local declarative configuration files]. You specify the location of these configuration files when you first run Flex Gateway. - -To create the local declarative files: - -. In the `target/wasm32-wasi/release` PDK directory, copy both of the following files: -+ -* `_definition.yaml` -* `_implementation.yaml` -+ -. Paste the two files in the `/etc/mulesoft/flex-gateway/conf.d/` Flex Gateway configuration directory. -+ -. Create a policy binding configuration file with a `.yaml` file extension to bind the policy to an API instance: -+ -* Give the file a custom name. -* Save the file in the Flex Gateway configuration directory `/etc/mulesoft/flex-gateway/conf.d/custom`. This directory can contain multiple configuration files. -. Copy and paste the following YAML snippet into the file, substituting your values where indicated: -+ -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: -spec: - targetRef: - kind: ApiInstance - name: - policyRef: - kind: Extension - name: --impl - config: - : "your parameter" ----- -+ -* `metadata.name`: The custom policy instance name. -* `spec.targetRef.name`: The name of the API instance of which to apply the custom policy. The API instance must already have been defined and applied. -* `spec.policyRef.name`: The custom policy implementation ID. To get the policy ID, run the `make show-policy-ref-name` command from the policy's root directory. -* `spec.config`: Your policy configuration data. -+ -. Save the file. The gateway automatically refreshes the configuration. - -=== Update Policies in Local Mode - -To update a custom policy for Flex Gateway running in Local Mode: - -* If you did not edit the configuration parameters, replace your old `_implementation.yaml` in your Flex Gateway configuration directory with the implementation file from your `target/wasm32-wasi/release` PDK directory. -* If you did edit the configuration parameters, repeat the steps in <> to update your configuration parameters. - -== Reorder Custom Policies - -Reordering custom policies is the same as reordering included policies. - -To reorder policies, see xref:gateway::policies-reorder.adoc[]. - -Polices execute in order on the request and then in inverse order on the response. However, some policies do not execute on both the request and the response. - -For example, policies ordered: - -. Policy X -. Policy Y - -Execute Policy X then Policy Y on the request, and Policy Y then Policy X on the response. - -== See Also - -* xref:gateway::flex-local-configuration-reference-guide.adoc[] \ No newline at end of file diff --git a/pdk/1.0/modules/ROOT/pages/policies-pdk-architecture.adoc b/pdk/1.0/modules/ROOT/pages/policies-pdk-architecture.adoc deleted file mode 100644 index 35b260274..000000000 --- a/pdk/1.0/modules/ROOT/pages/policies-pdk-architecture.adoc +++ /dev/null @@ -1,47 +0,0 @@ -= Policy Development Kit Architecture Overview -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Flex Gateway Policy Development Kit (PDK) consists of: - -* <>: Generates and distributes the policy to Exchange -* <>: Scaffolds new custom policies -* <>: Simplifies the development process - -== Anypoint CLI PDK Plugin - -The Anypoint CLI PDK plugin creates the PDK project and uploads policy assets to Exchange (for Connected Mode only). After creating the project, PDK provides a simplified set of commands in a `Makefile` to complete all following development steps. - -== Policy Template - -PDK generates some simple scaffolding when creating the policy. - -All generated files contain the required information to properly compile the policy. - -For more information about the included files, see xref:policies-pdk-create-project.adoc#project-structure[Project Structure]. - -== SDK Building Tools - -Flex Gateway is built on Envoy which requires developed policies to be compatible with the event-driven https://github.com/proxy-wasm/spec[proxy-wasm^] architecture. - -`proxy-wasm`'s event-driven architecture requires users to manage the different events that handle a single request. This causes the following drawbacks that make developing and maintaining event-driven code costly: - -* High complexity of the code due to the coupling of business logic with the entry points -* Inability to modularize common logic which creates monolithic code -* Verbose non-linear control flow that creates difficult function callbacks and error propagation - -PDK provides building tools that abstract the developer from the event-oriented coding approach by using reactor and executor patterns. PDK provides the developer a way to code each incoming request in a linear method that results in: - -* Fewer compile and runtime errors from using methods in the incorrect context -* Reduced learning curve -* Improved debugging by minimizing call stacks -* Reduced code duplication -* Improved parameter injection -* Reduced use of dynamic memory that decreases indeterminism and the need for custom memory management - -== See Also - -* xref:policies-pdk-prerequisites.adoc[] - diff --git a/pdk/1.0/modules/ROOT/pages/policies-pdk-compile-policies.adoc b/pdk/1.0/modules/ROOT/pages/policies-pdk-compile-policies.adoc deleted file mode 100644 index 02acebbf7..000000000 --- a/pdk/1.0/modules/ROOT/pages/policies-pdk-compile-policies.adoc +++ /dev/null @@ -1,46 +0,0 @@ -= Compiling Custom Policies -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Compile your custom policy to create the policies binary target files by using the `make build` command. You must compile your custom policy after every time you edit the policy's source code before you can deploy the policy to a Flex Gateway. - -== Before You Begin - -Ensure you have completed all the steps in xref:policies-pdk-create-project.adoc[]. - -== Compile Using Build Command - -To compile the policy, run the `make build` command from the policy's root folder: - -[source,ssh] ----- -make build ----- - -The `make build` command preforms the following actions: - -. Runs the `make build-asset-files` script -. Runs the `make build` command to compile the policy to a `WebAssembly` binary file -. Generates additional configuration files that are not generated by the `make build-asset-files` script and are required to execute the policy - -The `make build` command outputs the generated files to the `target` directories. - -You can execute the `make build` command as many times as necessary to generate compiled artifacts. You must compile the custom policy for your source code and configuration edits to be present in the compiled artifacts. - -[NOTE] -==== -When compiling your policy the first time, Rust fetches the latest version dependencies. If a dependency requires a Rust version later than {rust-ver-max-var}, pin the latest compatible version of the dependency with this command: - ----- -cargo update -p --precise ----- - -==== - -== See Also - -* xref:policies-pdk-debug-local.adoc[] -* xref:policies-pdk-apply-policies.adoc[] -* xref:policies-pdk-troubleshooting.adoc[] diff --git a/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features-authentication.adoc b/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features-authentication.adoc deleted file mode 100644 index c3442b4d2..000000000 --- a/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features-authentication.adoc +++ /dev/null @@ -1,76 +0,0 @@ -= Accessing Request Authentication Information -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -The `Authentication` injectable provides an interface to: - -* Propagate authentication data for consumption by other policies. -* Consume authentication data already set by another policy. - -To share data, `Authentication` implements the `AuthenticationHandler` trait: - -[source,Rust] ----- -pub trait AuthenticationHandler { - fn authentication(&self) -> Option; - fn set_authentication(&self, authentication: Option<&AuthenticationData>); -} ----- - -The `AuthenticationData` struct contains the following authentication data: - -[source,Rust] ----- -pub struct AuthenticationData { - pub principal: Option, - pub client_id: Option, - pub client_name: Option, - pub properties: Value, -} ----- - -For example, the following code reads the `Authentication` data and modifies it by overriding the `client_id` and `client_name`: - -[source,Rust] ----- -async fn request_filter(state: RequestState, authentication: Authentication) -> Flow<()> { - let state = state.into_headers_state().await; - let header_handler = state.handler(); - - let auth = authentication.authentication().unwrap_or_default(); - - let properties = auth.properties.as_object().cloned().unwrap_or_default(); - - let client_id = header_handler - .header("custom_client_id_header") - .unwrap_or_default(); - let client_name = header_handler - .header("custom_client_name_header") - .unwrap_or_default(); - - let auth = AuthenticationData::new( - auth.principal, - Some(client_id), - Some(client_name), - properties - ); - - authentication.set_authentication(Some(&auth)); - - Flow::Continue(()) -} - -#[entrypoint] -async fn configure(launcher: Launcher) -> Result<()> { - let filter = on_request(|rs, auth| request_filter(rs, auth)); - launcher.launch(filter).await?; - Ok(()) -} - ----- - -== See Also - -* xref:policies-pdk-configure-features-inject-parameters.adoc[] \ No newline at end of file diff --git a/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features-caching.adoc b/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features-caching.adoc deleted file mode 100644 index 5cb806fe0..000000000 --- a/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features-caching.adoc +++ /dev/null @@ -1,46 +0,0 @@ -= Sharing Data Between Workers and Configuring Caching -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -NOTE: To view an example policy project that uses caching, see https://github.com/mulesoft/pdk-custom-policy-examples/blob/{template-policies-url-ver-var}/data-caching/README.md[Data Caching Policy Example^]. - -Envoy spawns many workers to increase the policy's capability of handling requests. A single worker handles all the stages of a specific request, including outgoing connections and the response flow. This enables you to track internal status for a specific request, and to create a sequential execution flow despite the underlying event-driven implementation. - -Each worker processes a single request at a given time. To share a global state in a specific worker, use a `RefCell` without any risk of concurrent modification. - -Use the provided `Cache` mechanism to create a shared global state for all workers. - -After injecting the cache builder, provide an ID for the cache and the maximum number of elements the cache can support. - -The following example configures a cache that can hold ten elements: - -[source,Rust] ----- -#[entrypoint] -async fn configure( - launcher: Launcher, - cache_builder: CacheBuilder, -) -> Result<()> { - let cache = cache_builder.new(String::from("caching")).max_entries(10); - ... ----- - -The cache has the following interface: - -[source,Rust] ----- -pub trait Cache { - fn save(&self, key: &str, value: Vec) -> Result<(), CacheError>; - fn get(&self, key: &str) -> Option>; - fn delete(&self, key: &str) -> Option>; - fn purge(&self); -} ----- - -IMPORTANT: Because different workers write to the cache concurrently, there is no guarantee that the value overwritten when saving the cache is the same as when it was retrieved. - -== See Also - -* xref:policies-pdk-configure-features.adoc[] \ No newline at end of file diff --git a/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features-dataweave.adoc b/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features-dataweave.adoc deleted file mode 100644 index 1c0cf046b..000000000 --- a/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features-dataweave.adoc +++ /dev/null @@ -1,136 +0,0 @@ -= Using DataWeave Expressions -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -NOTE: To view an example policy project that uses DataWeave expressions, see https://github.com/mulesoft/pdk-custom-policy-examples/blob/{template-policies-url-ver-var}/query/README.md[Query Policy Example^]. - -If the input DataWeave expression parameter is valid, the policy parses the expression and transforms it into a `pdk::script::Script` expression. To obtain the result of the script: - -. Create an evaluator. -. Call the binding function for each parameter defined in the schema definition: -+ -* `vars`: Call the `bind_vars` method for each of the policy's `vars`. After all of `vars` are bound, the evaluator tries to solve the expression. If the expression contains `vars` other than the ones defined in the schema, they resolve to `null`. -* `attributes`: Call the `bind_attributes` method with an implementation of the `AttributesBinding` trait. Flex Gateway Policy Development Kit (PDK) provides an implementation of this trait by instantiating a new `HandlerAttributesBinding` for each `RequestHeaderState`, `RequestHeaderState`, and response of an xref:policies-pdk-configure-features-http-request.adoc[HTTP call]. -* `authentication`: Call the `bind_authentication` method with an implementation of the trait `AuthenticationBinding`. PDK provides an implementation of this trait for `AuthenticationData`. To inject authentication information into your policy, see xref:policies-pdk-configure-features-inject-parameters.adoc#authentication[Inject Authentication Inforamaion]. -* `payload`: Call the `bind_payload` method with an implementation of the trait `PayloadBinding`. PDK provides an implementation of this trait for `RequestBodyState`, `ResponseBodyState`, and the response of an xref:policies-pdk-configure-features-http-request.adoc[HTTP call]. -+ -[NOTE] -==== -Call only the methods for the bindings defined in the schema definition. For example, if the `attributes` binding is not used, don't call the `bind_attributes` method. - -To learn more about defining DataWeave expressions, see xref:policies-pdk-create-schema-definition.adoc#dataweave-expressions[DataWeave Expressions]. -==== - -. After you bind all expression variables, obtain the result by calling the `eval` method. - -[[example-evaluator-code]] -== Evaluate DataWeave Expressions - -For example, to evaluate the `tokenExtractor` DataWeave expression in the following policy schema definition: - -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Extension -metadata: - labels: - title: jwt-auth - category: Custom -spec: - extends: - - name: extension-definition - namespace: default - properties: - tokenExtractor: - type: string - format: dataweave - default: "#[vars.myVar]" - bindings: - payload: - mimeType: text - attributes: true - authentication: true - vars: - - myVar - required: - - tokenExtractor - ----- - -Use the following Rust snippet: - -[source,rust] ----- -// Copyright 2024 Salesforce, Inc. All rights reserved. -mod generated; - - -use anyhow::Result; - - -use crate::generated::config::Config; -use pdk::authentication::{Authentication, AuthenticationHandler}; -use pdk::logger::info; -use pdk::hl::*; -use pdk::script::{Evaluator, HandlerAttributesBinding, Value}; - - -async fn request_filter( - state: RequestState, - stream: StreamProperties, - auth: Authentication, - mut evaluator: Evaluator<'_>, -) { - evaluator.bind_vars("myVar", "myVal"); - - evaluator.bind_authentication(&auth.authentication()); - - let state = state.into_headers_state().await; - evaluator.bind_attributes(&HandlerAttributesBinding::new(state.handler(), &stream)); - - let state = state.into_body_state().await; - evaluator.bind_payload(&state); - - if let Ok(value) = evaluator.eval() { - match value { - Value::Null => info!("value was null!"), - Value::Bool(val) => info!("value was Bool: {val}"), - Value::Number(val) => info!("value was Number: {val}"), - Value::String(val) => info!("value was String: {val}"), - Value::Array(val) => info!("value was Array: {val:?}"), - Value::Object(val) => info!("value was Object: {val:?}"), - } - } -} - - -#[entrypoint] -async fn configure(launcher: Launcher, Configuration(bytes): Configuration) -> Result<()> { - let config: Config = serde_json::from_slice(&bytes)?; - - - launcher - .launch(on_request(|request, stream, auth| { - request_filter(request, stream, auth, config.token_extractor.evaluator()) - })) - .await?; - Ok(()) -} ----- - -== Validate the Expression was Resolved - -You can resolve some expressions before all values are bound. For example, the expression `#[vars.myVar]` does not require the `attributes`, `payload`, no `authentication` to be resolved. - -After one of the binding methods is called, you can confirm the expression was completely resolved by calling the method: - -[source,rust] ----- -evaluator.is_ready() ----- - -== See Also - -* xref:policies-pdk-configure-features.adoc[] diff --git a/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features-headers.adoc b/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features-headers.adoc deleted file mode 100644 index a10fd46fb..000000000 --- a/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features-headers.adoc +++ /dev/null @@ -1,170 +0,0 @@ -= Reading and Writing Request Headers and Bodies -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -With Flex Gateway Policy Development Kit (PDK), you can read and write to request and response headers and bodies. - -[[event-flow]] -== Event Flow - -When filtering requests and responses, Proxy Wasm splits handling the headers and body into two main events that must happen in a specific order. Before the policy can handle the body, the header event has to fully propagate through all policies. For example, the event flow for an API with two policies applied is: - -. Policy 1 handles the request header event. -. Policy 2 handles the request header event. -. The backend service receives the request headers. -. Policy 1 handles the request body event. -. Policy 2 handles the request body event. -. The backend receives the request body. -. The backend sends the response. -. Policy 2 handles the response header event. -. Policy 1 handles the response header event. -. The client receives the response headers. -. Policy 2 handles the response body event. -. Policy 1 handles the response body event. -. The client receives the response body. - -This order creates the following limitations: - -* Policies can’t modify headers after reading the body. -* All policies must fully process the header event before reading the body. Saving data of the body on one policy and then modifying the headers using that body data in a different policy isn’t possible. -* When all policies process the header event, it reaches the backend service. To ensure no data from a rejected request reaches the backend service, you must reject the headers based on only the request headers. When rejecting requests based on their body, most servers and clients can detect interrupted requests and discard the headers of the request. - -In the policy source code, reading the body separates the header and body event. For example, if the declaration `let body_state = headers_state.into_body_state().await;` is used to read the body, everything prior to the declaration occurs in the header event, and everything after occurs in the body event. - -[[read-and-write-headers]] -== Read and Write Request Headers - -To access the headers in both the request and the response, transform the `RequestState` or `ResponseState` to a header state by calling the method `into_headers_state()` and awaiting it. After calling the method, access and manipulate the headers by calling the functions of the `HeadersHandler` trait. - -[source,Rust] ----- -pub trait HeadersHandler { - fn headers(&self) -> Vec<(String, String)>; - fn header(&self, name: &str) -> Option; - fn add_header(&self, name: &str, value: &str); - fn set_header(&self, name: &str, value: &str); - fn set_headers(&self, headers: Vec<(&str, &str)>); - fn remove_header(&self, name: &str); -} ----- - -You can access headers in `on_request` or `on_response` wrapped functions by implementing the following code: - -[source,Rust] ----- -async fn request_filter(request_state: RequestState, _config: &Config) { - let headers_state = request_state.into_headers_state().await; - let headers_handler = headers_state.handler(); - let old_value = headers_handler.header("request-header").unwrap_or_default(); - - let new_value = "--replaced--"; - logger::info!("Old request header value: {old_value}, New value: {new_value}"); - headers_handler.set_header("request-header", new_value); -} - -async fn response_filter(response_state: ResponseState, _config: &Config) { - let headers_state = response_state.into_headers_state().await; - let headers_handler = headers_state.handler(); - let old_headers = headers_handler.header("request-header").unwrap_or_default(); - - let new_value = vec![("response-header1", "--replaced--"), ("response-header2", "--replaced--")]; - logger::info!("Old request header value: {old_headers:?}, New value: {new_value:?}"); - headers_handler.set_headers(new_value); -} ----- - -Envoy handles the method, scheme, path, authority, and status codes as headers. PDK provides the following methods to access and modify the request's `:method`, `:scheme`, `:path`, `:authority`, and `:status` Envoy headers: - -[source,Rust] ----- -async fn request_filter(request_state: RequestState, _config: &Config) { - let headers_state = request_state.into_headers_state().await; - let method = headers_state.method(); - let scheme = headers_state.scheme(); - let authority = headers_state.authority(); - let path = headers_state.path(); - ... -} - -async fn response_filter(response_state: ResponseState, _config: &Config) { - let headers_state = response_state.into_headers_state().await; - let status = headers_state.status_code(); -} ----- - -[[read-and-write-request-bodies]] -== Read and Write Request Bodies - -NOTE: Reading and writing bodies is limited to payloads of size 1MB or smaller. - -To access the body in both the request and the response, transform the `RequestState` or `ResponseState` to a body state by calling the method `into_body_state()` and awaiting it: - -[source,Rust] ----- -let body_state = request_state.into_body_state().await; ----- - -NOTE: The previous `.await` introduces a cancellation point. During a request, a xref:policies-pdk-configure-features.adoc#flow-cancellation[Flow Cancellation] might cause the `.await` to never resume. - -If the original state was already transformed into a header state, transform the state into a body state by calling the same function, for example: - -[source,Rust] ----- -let headers_state = request_state.into_headers_state().await; -let body_state = headers_state.into_body_state().await; ----- - -After calling `into_body_state()`, access and manipulate the headers by calling the functions of the `BodyHandler` trait. - -[source,Rust] ----- -pub trait BodyHandler { - fn body(&self) -> Vec; - fn set_body(&self, body: &[u8]) -> Result<(), BodyError>; -} ----- - -Because Envoy uses the same buffer to share data from the headers and the body, the policy cannot access the headers and the body at the same time. If the policy must read both: - -. Read the headers and save the necessary values in a variable. -. Read the body. - -You can read the headers and then the body in both the response and request. However, you cannot modify headers after reading the body. Complete all header modification before reading the body, for example: - -[source,Rust] ----- -async fn request_filter(request_state: RequestState) { - let headers_state = request_state.into_headers_state().await; - let headers_handler = headers_state.handler(); - - let agent = headers_handler.header("User-Agent").unwrap_or_else(|| "Undefined".to_string()); - - // Removing old content length header before manipulating body - headers_handler.remove_header("content-length"); - - let body_state = headers_state.into_body_state().await; - let body_handler = body_state.handler(); - let body = body_handler.body(); - - logger::info!("User: {agent} sent: {}", String::from_utf8_lossy(body.as_slice())); - - let new_body = "new body".as_bytes(); - match body_handler.set_body(&new_body) { - Ok(_) => logger::info!("Body updated"), - Err(e) => logger::info!("Unable to set body. Reason: {e:?}), - } -} ----- - -NOTE: This code removes the `content-length` header. This is required to modify the body. - -`BodyHandler::set_body()` method returns a `Result<(), BodyError>` object. Body updating might fail due to: - -* `BodyError::BodyNotSent`: The current HTTP Flow doesn't have a body (for example, `GET` request). -* `BodyError::ExceededBodySize`: The new body exceeds the maximum body buffer size supported by Envoy. - -== See Also - -* xref:policies-pdk-configure-features.adoc[] \ No newline at end of file diff --git a/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features-http-request.adoc b/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features-http-request.adoc deleted file mode 100644 index e146df78d..000000000 --- a/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features-http-request.adoc +++ /dev/null @@ -1,83 +0,0 @@ -= Performing an HTTP Call -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -NOTE: To view an example policy project that makes HTTP calls, see https://github.com/mulesoft/pdk-custom-policy-examples/blob/{template-policies-url-ver-var}/simple-oauth-2-validation/README.md[Simple OAuth 2.0 Validation Policy Example^]. - -To interact with external services, the policy must use HTTP calls. You can only make HTTP calls from the request filter or the response filter. - -To perform an HTTP call, either inject the `HTTPClient` into the `[entrypoint]` function or the wrapper functions: - -* Injecting the client parameters into the `[entrypoint]` function enables you to make calls in both the request and the response filter: -+ -[source,Rust] ----- -#[entrypoint] -async fn configure(launcher: Launcher, Configuration(bytes): Configuration, client: HttpClient) -> Result<()> { - let config: Config = serde_json::from_slice(&bytes).unwrap(); - - // Both request and the response handlers will use the client - let filter = on_request(|request_state| request_filter(request_state, &config, &client)) - .on_response(|response_state, request_data| { - response_filter(response_state, request_data, &config, &client) - }); - - launcher.launch(filter).await?; - Ok(()) -} ----- - -* Injecting the client parameters into one of the `on_request` or `on_response` wrapper functions enables you to only make calls in that function: -+ -[source,Rust] ----- -// Handler with the logic for incoming requests -​​async fn request_filter(state: RequestState, conf: &Config, client: HttpClient) { - ... -} - -#[entrypoint] -async fn configure(launcher: Launcher, Configuration(bytes): Configuration) -> Result<()> { - let config: Config = serde_json::from_slice(&bytes).unwrap(); - - // For incoming request events, using the on_request wrapper, inject the client and pass it to the request_filter handler - launcher - .launch(on_request(|request, client| { - request_filter(request, &config, client) - })) - .await?; - Ok(()) -} ----- - -You must define your service as a parameter in your schema definition to make HTTP requests. To learn more about defining parameters, see xref:policies-pdk-create-schema-definition.adoc[] - -The following code snippet provides an example schema definition for an external service: - -[source,yaml] ----- -properties: - externalService: - type: string - format: service - endpointPath: - type: string ----- - -In the policy's Rust source code, you can access the defined external service in the `Config` struct. To perform requests, call the HTTP client in your policy, for example: - -[source,rust] ----- -let response = client - .request(&config.external_service) - .path(&config.endpoint_path) - .headers(vec![("Content-Type", "application/json")]) - .body(r#"{"key": "value"}"#.as_bytes()) - .put().await?; ----- - -== See Also - -* xref:policies-pdk-configure-features.adoc[] diff --git a/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features-inject-parameters.adoc b/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features-inject-parameters.adoc deleted file mode 100644 index e03895b86..000000000 --- a/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features-inject-parameters.adoc +++ /dev/null @@ -1,79 +0,0 @@ -= Injecting Parameters -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Flex Gateway Policy Development Kit (PDK) provides the following parameters that you can inject into the `#[entrypoint]` configuration function: - -* `Configuration`: Provides the policy's configuration parameters. For information about how to define configuration parameters, see xref:policies-pdk-create-schema-definition.adoc[]. -* `Metadata`: Provides metadata about the policy, the Flex Gateway instance, the API instance, and the Anypoint Organization. For more information about the metadata provided, see xref:policies-pdk-configure-features-metadata.adoc[]. -* `HttpClient`: Enables the policy to make HTTP calls. For more information about how to make HTTP calls from the policy, see xref:policies-pdk-configure-features-http-request.adoc[]. -* `CacheBuilder`: Provides the caching features of the policy. For more information about caching, see xref:policies-pdk-configure-features-caching.adoc[]. -* `StreamProperties`: Provides a structure to share properties with other policies that process the same request. For more information about sharing information between policies, see xref:policies-pdk-configure-features-streamproperties.adoc[]. - -You can also directly inject the `HttpClient` and `StreamProperties` parameter into the `on_request` or `on_response` wrapped functions. For example, if you need to perform an HTTP call inside the `on_request` function, inject `HTTPClient` directly into that function. - -For best practice, inject the parameters only where they must be used. However, if the parameters require initialization steps that need to be executed only one time when the policy is applied, it is best to inject the parameters into the `#[entrypoint]` to complete the configuration steps to increase the performance of the wrapped functions. - -== Inject Parameters into the on_request and on_response Wrapped Functions - -The wrapped functions accept the following parameters: - -* `HttpClient`: Enables the policy to make HTTP calls. For more information about how to make HTTP calls from the policy, see xref:policies-pdk-configure-features-http-request.adoc[]. -* `StreamProperties`: Provides a structure to share properties with other policies that process the same request. For more information about sharing information between policies, see xref:policies-pdk-configure-features-streamproperties.adoc[]. -* `RequestState`: Provides access to the different stages of request filtering to operate over the incoming requests headers and body. `RequestState` is only available in `on_request` functions. To read and write to the headers and body in the`RequestState`, see xref:policies-pdk-configure-features-headers.adoc[]. -* `ResponseState`: Provides access to the different stages of request filtering to operate over the upstream responses headers and body. `ResponseState` is only available in `on_response` functions. To read and write to the headers and body in the `ResponseState`, see xref:policies-pdk-configure-features-headers.adoc[]. -* `RequestData`: Share data between the `on_request` and`on_response` functions. `RequestData` is only available in `on_response` functions. To learn more about `RequestData`, see xref:policies-pdk-configure-features-share-data.adoc[]. -* `Authentication`: Provides access to read authentication data or share it with other policies. To learn more about `Authentication`, see xref:policies-pdk-configure-features-authentication.adoc[]. - -If your wrapped functions only receive these parameters, the lambda is not required in the wrapper. For example, if the signature of the function is: - -[source,Rust] ----- -async fn request_filter(state: RequestState) -> RequestData; -async fn response_filter(state: ResponseState, path: RequestData); ----- - -The following example demonstrates defining the lambda of a function definition: - -[source,Rust] ----- -let filter = on_request(|request_state| request_filter(request_state)) - .on_response(|response_state, request_data| response_filter(response_state, request_data)); ----- - -Instead of defining the lambda, you can use the following function definition: - -[source,Rust] ----- -let filter = on_request(request_filter) - .on_response(response_filter); ----- - -If your wrapped functions require other parameters, such as the configuration parameters defined in the `#[entrypoint]` function, inject the parameters into the wrapped functions. To pass the parameters, define the lambda and send a variable reference, for example: - -[source,Rust] ----- -async fn request_filter(state: RequestState, conf: &Config, tuple: &(u32, u32)) { -... -} - -#[entrypoint] -async fn configure(launcher: Launcher, Configuration(bytes): Configuration) -> Result<()> { - let config = serde_json::from_slice(&bytes)?; - let tuple: (u32, u32) = (10, 10); - - let filter = on_request(|request_state| request_filter(request_state, &config, &tuple)); - - launcher - .launch(filter) - .await?; - - Ok(()) -} ----- - -== See Also - -* xref:policies-pdk-configure-features.adoc[] diff --git a/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features-jwt.adoc b/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features-jwt.adoc deleted file mode 100644 index e12a8b19f..000000000 --- a/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features-jwt.adoc +++ /dev/null @@ -1,339 +0,0 @@ -= Using JWT Library Functions -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -NOTE: To view an example policy project that uses Flex Gateway Policy Development Kit (PDK)'s JWT Library, see https://github.com/mulesoft/pdk-custom-policy-examples/blob/{template-policies-url-ver-var}/jwt-validation/README.md[JWT Validation Policy Example^]. - -JSON Web Token (JWT) is a URL-secure method of representing claims to be transferred between two parties. The JWT token contains claims encoded in a JSON object as either the payload of a JSON Web Signature (JWS) or as a JSON web encryption (JWE) structure in plain text, which enables the claims to be digitally signed and protected with a message authentication code (MAC). Because the token is signed, you can trust the information and its source. - -PDK's JWT library provides a set of tools to validate the JWT signatures and to extract and validate the claims of all incoming requests. - -[[extract-a-jwt-token]] -== Extract a JWT Token - -PDK provides a `TokenProvider` struct that has the `bearer` function to extract JWT tokens that have the format `Bearer ` in the authorization header. The following code demonstrates how to use the `bearer` function: - -[source,Rust] ----- -// [...] -use pdk::jwt::*; -// [...] - -async fn filter( - state: RequestState, -) -> Flow<()> { - let headers_state = state.into_headers_state().await; - - // Extract token - let token = TokenProvider::bearer(headers_state.handler())?; -// [...] ----- - -If you are using a JWT token from a different source or with a different format, you can implement Rust logic to get any other part of the request. Use a DataWeave parameter to configure extraction to create a policy where you can dynamically change the JWT source. - -[[signature-validation]] -== Validate a JWT Signature - -The JWT library provides a helper for performing signature validation of the incoming requests authorization tokens. Depending on the algorithm used by the policy, initialize a `SignatureValidator` with the corresponding configuration: - -[source,Rust] ----- -pub fn new(algorithm: SigningAlgorithm, key_length: SigningKeyLength, key: String) -> Result ----- - -PDK supports the following signing algorithms and key lengths: - -[%autowidth.spread,cols="a,a"] -|=== -| Signing Algorithm | Signing Key Length -| RSA | 256, 384 and 512 -| HMAC | 256, 384 and 512 -| ES | 256 and 384 -|=== - -The `SigningAlgorithm` enum defines the available signing algorithms: - -[source,Rust] ----- -pub enum SigningAlgorithm { - Rsa, - Hmac, - Es, -} ----- - -The `SigningKeyLength` enum defines the available signing key lengths: - -[source,Rust] ----- -pub enum SigningKeyLength { - Len256, - Len384, - Len512, -} ----- - -A `SignatureValidator` instance implements the `SignatureValidation` trait. This `SignatureValidation` trait exposes a `validate` function that accepts tokens as `String` parameters and returns a `Result` that contains the parsed `JWTClaims` or a `JWTError` in the event of an error: - -[source,Rust] ----- -pub trait SignatureValidation { - fn validate(&self, token: String) -> Result; -} ----- - -The following code example shows how to initialize the `SignatureValidator` and validate an incoming token signed with a 256-byte HMAC algorithm: - -[source,Rust] ----- -use anyhow::Result; -use pdk::hl::*; -use pdk::jwt::*; -// [...] - -async fn filter( - state: RequestState, - signature_validator: &SignatureValidator, -) -> Flow<()> { - let headers_state = state.into_headers_state().await; - - // Extract token - let token = TokenProvider::bearer(headers_state.handler())?; - - if token.is_err() { - return Flow::Break(Response::new(401).with_body("Bearer not found")); - } - - // Validating signature - let claims = signature_validator.validate(token.unwrap()); - - if claims.is_err() { - return Flow::Break(Response::new(401).with_body("Invalid token")); - } - // [...] -} - -#[entrypoint] -async fn configure(launcher: Launcher, Configuration(configuration): Configuration) -> Result<()> { - let config: Config = serde_json::from_slice(&configuration)?; - - let signature_validator = SignatureValidator::new( - model::SigningAlgorithm::Hmac, - model::SigningKeyLength::Len256, - config.secret.clone(), - )?; - - launcher - .launch(on_request(|request| { - filter(request, &signature_validator) - })) - .await?; - Ok(()) -} ----- - -Because, the `SignatureValidator` confirms that the policy configurations are correct during initialization, initializing the `SignatureValidator` in the `#[entrypoint]` function throws an early error when the policy is applied rather than when the API receives a request. - -After initialization, the policy passes the `SignatureValidator` to the `on_request` wrapped function to perform `validate` method on incoming requests. - - -[[access-claims]] -== Access Claims and Propagating to Headers - -After the <> executes, the result contains the parsed JWT claims from the JWT token. - -In case the signature is invalid or you choose not to validate the signature, PDK provides the `JWTClaimsParser` to parse claims. This structure provides a `parse` method that returns `Result`. - -[source,rust] ----- -// Being "token" a String that contains a JWT token -let parsed_claims = JWTClaimsParser::parse(token); - -if claims.is_err() { - return Flow::Break(Response::new(401).with_body("Invalid token")); -} ----- - -After you run the signature validation or the parsing method, use the following methods exposed by the `JWTClaims` struct to access the JWT claims: - -[source,rust] ----- -pub fn audience(&self) -> Option, JWTError>> - -pub fn not_before(&self) -> Option> - -pub fn expiration(&self) -> Option> - -pub fn issued_at(&self) -> Option> - -pub fn issuer(&self) -> Option - -pub fn jti(&self) -> Option - -pub fn nonce(&self) -> Option - -pub fn subject(&self) -> Option - -pub fn has_claim(&self, name: &str) -> bool - -pub fn get_claim(&self, name: &str) -> Option where T: ValueRetrieval, - -pub fn has_header(&self, name: &str) -> bool - -pub fn get_header(&self, name: &str) -> Option - -pub fn get_claims(&self) -> pdk_script::Value - -pub fn get_headers(&self) -> pdk_script::Value ----- - -The provided methods are designed to return each one of the standard JWT claims. - -The `get_claim` method can return any standard or custom claim. Because `get_claim` supports different target variable types, the user must specify the output type. `get_claim` supports `String`, `f64`, `Vec`, `chrono::DateTime`, and `serde_json::Value` output types. Because the claim might not exist in the token, you must wrap the type with an `Option`, for example: - -[source,rust] ----- -let some_custom_claim: Option = claims.get_claim("username"); ----- - -The following example shows how to parse a JWT token, get a custom claim, and propagate it to the request headers from a wrapped function: - -[source,rust] ----- -async fn filter( - state: RequestState, -) -> Flow<()> { - - let headers_state = state.into_headers_state().await; - - // Extract token - let token = TokenProvider::bearer(headers_state.handler())?; - - if token.is_err() { - return Flow::Break(Response::new(401).with_body("Bearer not found")); - } - - // Being "token" a String that contains a JWT token - let parsed_claims = JWTClaimsParser::parse(token.unwrap()); - - if claims.is_err() { - return Flow::Break(Response::new(401).with_body("Invalid token")); - } - - let claims = claims.unwrap(); - - let username: Option = claims.get_claim("username"); - - if let Some(custom_claim) = some_custom_claim { - headers_state - .handler() - .set_header("username", custom_claim.as_str()); - } - - Flow::Continue(()) -} ----- - -[[validate-claims]] -== Validate Claims - -JWT tokens typically contain a set of standard and non-standard claims that you can validate. Use the methods from <> to retrieve the claims present in the JWT tokens’s header or payload. Once retrieved, validate the value of the claims. - -The following code example validates that the JWT token: - -* Is not expired by validating the `exp` claim. -* Has the correct audience value by validating the `aud` claim. -* Has the correct custom `role` claim by using a custom validator configured as a DataWeave expression policy parameter. - -[source,Rust] ----- -use chrono::Utc; -use pdk::hl::*; -use pdk::jwt::*; -use pdk::logger::info; -use pdk::script::Evaluator; - -async fn filter( - state: RequestState, - mut custom_validator: Evaluator<'_>, -) -> Flow<()> { - let headers_state = state.into_headers_state().await; - let token = TokenProvider::bearer(headers_state.handler()); - - if token.is_err() { - return Flow::Break(Response::new(400).with_body("Bearer not found")); - } - - // Being "token" a String that contains a JWT token - let parsed_claims = JWTClaimsParser::parse(token.unwrap()); - - if claims.is_err() { - return Flow::Break(Response::new(401).with_body("Invalid token")); - } - - let claims = claims.unwrap(); - - // Validating token expiration - if let Some(exp) = claims.expiration() { - if exp < Utc::now() { - return Flow::Break(Response::new(400).with_body("token expired")); - } - } else { - return Flow::Break(Response::new(400).with_body("token missing exp claim")); - } - - // Validating audience - if let Some(aud) = claims.audience() { - if !aud_value.iter_mut().any(|a| a == "myAudience") { - return Flow::Break(Response::new(400).with_body("token does not have the expected audience")); - } - } - - // Custom claim validation - custom_validator.bind_vars("claimSet", claims.get_claims()); - let result = custom_validator_role_claim.eval(); - if !result.ok().and_then(|value| value.as_bool()).unwrap_or_default() { - return Flow::Break(Response::new(400).with_body("custom token validations failed.")); - } - - Flow::Continue(()) -} - -#[entrypoint] -async fn configure(launcher: Launcher, Configuration(configuration): Configuration) -> Result<()> { - let config: Config = serde_json::from_slice(&configuration)?; - - launcher - .launch(on_request(|request| { - filter(request, config.custom_validator_role.evaluator()) - })) - .await?; - Ok(()) -} ----- - -In the above example, the custom `role` claim is defined by a DataWeave expression configured as an input parameter in the `gcl.yaml` schema definition as follows: - -[source,yaml] ----- -# [...] -spec: - extends: - - name: extension-definition - namespace: default - properties: - customValidatorRole: - type: string - format: dataweave - default: "#[vars.claimSet.role == 'superRole']" - # [...] - required: - - customValidatorRole ----- - -== See Also - -* xref:policies-pdk-configure-features.adoc[] - diff --git a/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features-libraries.adoc b/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features-libraries.adoc deleted file mode 100644 index 4b3ce0991..000000000 --- a/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features-libraries.adoc +++ /dev/null @@ -1,41 +0,0 @@ -= Using Third-Party Libraries -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -NOTE: To view an example policy project that uses third-party libraries, see https://github.com/mulesoft/pdk-custom-policy-examples/blob/{template-policies-url-ver-var}/crypto/README.md[Crypto Policy Example^]. - -Proxy Wasm defines a low level binary application interface (abi), that limits the system calls a library can make. All third-party libraries included in your policy must be compatible with the `wasm32-wasi` Rust compilation target. - -To define a library such as `serde_urlencoded`, add it to the dependency list in `cargo.toml`: - -[source,toml] ----- -[dependencies] -... -serde_urlencoded = "0.7.0" ----- - -Defining libraries enables you to use functions in `lib.rs` such as: - -[source,Rust] ----- -serde_urlencoded::to_string([("token", "myToken")]) ----- - -Libraries that interact with an external service like a database, or perform a system call like reading a file, are usually not compatible with the `wasm32-wasi` target. - -If your policy interacts with external services, use the Flex Gateway exposed `HttpClient`. For more information about performing an HTTP call, see xref:policies-pdk-configure-features-http-request.adoc[]. - -It is possible that some libraries compile properly to the `wasm32-wasi` target but don't work properly when deployed to Flex Gateway. Example errors include: - -* `Failed to load Wasm module due to a missing import: ...` -* `Wasm VM failed to initialize Wasm code` -* `Plugin configured to fail closed failed to load` - -In these cases, contact the owners of the third-party library, or use a different library. - -== See Also - -* xref:policies-pdk-configure-features.adoc[] \ No newline at end of file diff --git a/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features-logging.adoc b/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features-logging.adoc deleted file mode 100644 index aac846e75..000000000 --- a/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features-logging.adoc +++ /dev/null @@ -1,36 +0,0 @@ -= Configuring Policy Logging -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Flex Gateway Policy Development Kit (PDK) provides a logging mechanism that generates a log message enriched with the API instance ID, policy ID, and request ID. - -Insert custom logs with the following macros by using the `pdk::logger;` package: - -* `logger::debug!` -* `logger::info!` -* `logger::warn!` -* `logger::error!` - -The macros behave the same as the https://doc.rust-lang.org/std/macro.format.html[Rust std::format! macro^]. The first parameter must be a format string literal. Use `{}` in the literal to pass parameters, for example: - -[source,Rust] ----- -use pdk::logger; - -// [...] - -let value = "there!"; -logger::debug!("Hello there!"); -logger::info!("Hello {}", value); -logger::warn!("Hello {value}"); -logger::error!("Hello {}", "there!"); into_headers_state().await ----- - -All examples appear in the Flex Gateway logs in the following format: ----- -[flex-gateway-envoy][] wasm log . main: [policy: ][api: ][req: ] Hello there! ----- - -For more information about viewing Flex Gateway logs, see xref:gateway::flex-gateway-monitor.adoc[]. \ No newline at end of file diff --git a/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features-metadata.adoc b/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features-metadata.adoc deleted file mode 100644 index d9fd7ae81..000000000 --- a/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features-metadata.adoc +++ /dev/null @@ -1,120 +0,0 @@ -= Accessing Policy Metadata -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - - -PDK exposes a `Metadata` injectable that provides metadata about the policy, the Flex instance, the API instance, and the Anypoint Organization. The `Metadata` struct is as follows: - -[source,Rust] ----- -pub struct Metadata { - pub flex_metadata: FlexMetadata, - pub policy_metadata: PolicyMetadata, - pub api_metadata: ApiMetadata, - pub platform_metadata: PlatformMetadata, -} ----- - -The `Metadata` struct references the following structures: - -* `FlexMetadata`: -+ -[source,Rust] ----- -pub struct FlexMetadata { - pub flex_name: String, - pub flex_version: String, -} ----- - -* `PolicyMetadata`: -+ -[source,Rust] ----- -pub struct PolicyMetadata { - pub policy_name: String, - pub policy_namespace: String, -} ----- - -* `ApiMetadata`: -+ -[source,Rust] ----- -pub struct ApiMetadata { - pub id: Option, - pub name: Option, - pub version: Option, - pub slas: Option>, // API SLA tiers in the platform -} - -// Each ApiSla contains the limits for each SLA. -pub struct ApiSla { - pub id: String, - pub tiers: Vec, // Limits within an API SLA tier in the platform -} ----- - -* `PlatformMetadata`: -+ -[source,Rust] ----- -pub struct PlatformMetadata { - pub organization_id: String, - pub environment_id: String, - pub root_organization_id: String, -} ----- - -== Inject Metadata into the #[entrypoint] - -To inject metadata into the `#[entrypoint]` configuration function, see the following code snippet: - -[source,Rust] ----- -#[entrypoint] -async fn configure(launcher: Launcher, metadata: Metadata) -> Result<()> { - logger::info!("Flex instance name is: {}", metadata.flex_metadata.flex_name.to_string()); - - launcher - .launch(on_request(filter)) - .await?; - Ok(()) -} ----- - -== Inject Metadata into the Wrapped Functions - -You cannot directly inject metadata into the wrapped functions. To use metadata in the wrapped functions, first inject the data into the `#[entrypoint]` function and then the wrapped function: - -[source,Rust] ----- -#[entrypoint] -async fn configure(launcher: Launcher, metadata: Metadata) -> Result<()> { - launcher - .launch(on_request(|r| request_filter(r, &metadata))) - .await?; - Ok(()) -} - -async fn request_filter(_: RequestState, metadata: &Metadata) -> Flow<()> { - let mut vec = Vec::new(); - let headers = &mut vec; - headers.push(( - "flex_name".to_string(), - metadata.flex_metadata.flex_name.to_string(), - )); - headers.push(( - "policy_name".to_string(), - metadata.policy_metadata.policy_name.to_string(), - )); - - Flow::Break(Response::new(201).with_headers(vec)) -} ----- - -== See Also - -* xref:policies-pdk-configure-features-inject-parameters.adoc[] \ No newline at end of file diff --git a/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features-share-data.adoc b/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features-share-data.adoc deleted file mode 100644 index 94e7eba61..000000000 --- a/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features-share-data.adoc +++ /dev/null @@ -1,53 +0,0 @@ -= Sharing Data Between Requests and Responses -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Flex Gateway Policy Development Kit (PDK) provides the `RequestData` enum to pass data between the request and the response. - -To share a status between the request and the response functions, the request function must return a `Flow::Continue` enum variant with a data parameter that you wish to pass to the response function. The response function must receive the `RequestData` parameter that contains the request function's final status and the data parameter that was passed. - -The `RequestData` enum has the following possible final status: - -* `RequestData::Continue(data)`: The request function ended with `Flow::Continue(data)`. -* `RequestData::Break` : The request function ended with `Flow::Break`. -* `RequestData::Cancel`: The request function was xref:policies-pdk-configure-features.adoc#flow-cancellation[cancelled]. - -If the request function ended with a `Flow::Continue` and was not cancelled by upstream policies, the `RequestData::Continue` variant contains the value sent by the request function. - -Implement this by adding an `on_response` wrapped function to the `Flow` example used in xref:policies-pdk-configure-features-stop.adoc[]: - -[source,Rust] ----- -async fn request_filter(state: RequestState) -> Flow { - let state = state.into_headers_state().await; - let handler = state.handler(); - if handler.header("authorization").is_some() { - Flow::Continue(state.path()) - } else { - Flow::Break( - Response::new(401) - .with_headers(vec![( - "WWW-Authenticate".to_string(), - "Bearer realm=\"oauth2\"".to_string(), - )]) - .with_body(r#"{ "error": "token was not present"}"#), - ) - } -} - -async fn response_filter(state: ResponseState, request_data: RequestData) { - // Handle only completed requests - if let RequestData::Continue(path) = request_data else { - return; - }; - - let state = state.into_headers_state().await; - logger::info!("Path: {path}, Status: {}", state.status_code()); -} ----- - -== See Also - -* xref:policies-pdk-configure-features.adoc[] diff --git a/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features-stop.adoc b/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features-stop.adoc deleted file mode 100644 index 8b3321706..000000000 --- a/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features-stop.adoc +++ /dev/null @@ -1,47 +0,0 @@ -= Stopping Request Execution -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -To intercept and stop a request, return a `Response` object from your `on_request` wrapped functions: - -[source,Rust] ----- -Response::new(401) - .with_headers(vec![("WWW-Authenticate".to_string(), "Bearer realm=\"oauth2\"".to_string())]) - .with_body(r#"{ "error": "token was not present"}"#) ----- - -You can block or allow requests to reach the upstream service using a `Flow`. A `Flow` in an `enum` value with two possible values: - -* `Continue`: Defines an object that is forwarded to the response. -* `Break`: Aborts the request and returns the provided response. - -Create a `Flow` as follows: - -[source,Rust] ----- -async fn request_filter(request_state: RequestState) -> Flow<()> { - let header_state = request_state.into_headers_state().await; - let handler = header_state.handler(); - if handler.header("authorization").is_some() { - Flow::Continue(()) - } else { - Flow::Break(Response::new(401) - .with_headers(vec![("WWW-Authenticate".to_string(), "Bearer realm=\"oauth2\"".to_string())]) - .with_body(r#"{ "error": "token was not present"}"#)) - } -} ----- - -[IMPORTANT] -==== -Due to the streaming nature of `proxy wasm`, it is possible for an early request to partially reach the upstream service while awaiting the `headers_state.into_body_state` function. Avoid this is by not awaiting the body. However, this is not possible for all policies. Configure your upstream to ignore partial requests if the policy must read the body. - -To avoid early responses reaching the client, see xref:policies-pdk-configure-features-share-data.adoc[]. -==== - -== See Also - -* xref:policies-pdk-configure-features.adoc[] \ No newline at end of file diff --git a/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features-streamproperties.adoc b/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features-streamproperties.adoc deleted file mode 100644 index 704053a63..000000000 --- a/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features-streamproperties.adoc +++ /dev/null @@ -1,48 +0,0 @@ -= Sharing Properties Across Requests -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -The `StreamProperties` injectable provides an interface to: - -* Consume properties set by other policies that are processing the same request. -* Broadcast properties so that the other policies can consume them. - -To share data, `StreamProperties` implements the `PropertyAccessor` trait: - -[source,Rust] ----- -pub trait PropertyAccessor { - fn read_property(&self, path: &[&str]) -> Option; - fn set_property(&self, path: &[&str], value: Option<&[u8]>); -} ----- - -The following example shows a simple filter that reads a property from the stream and then writes another parameter to it: - -[source,Rust] ----- -async fn request_filter(stream: StreamProperties) -> Flow<()> { - let incoming = String::from_utf8(stream.read_property(&["incoming_property"]).unwrap_or_default()).unwrap_or_default(); - - logger::info!("Recieved incoming prop {}", incoming); - - let outgoing = "outgoing".as_bytes(); - - stream.set_property(&["outgoing_property"], Some(outgoing)); - - Flow::Continue(()) -} - -#[entrypoint] -async fn configure(launcher: Launcher) -> Result<()> { - let filter = on_request(|stream| request_filter(stream)); - launcher.launch(filter).await?; - Ok(()) -} ----- - -== See Also - -* xref:policies-pdk-configure-features-inject-parameters.adoc[] \ No newline at end of file diff --git a/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features.adoc b/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features.adoc deleted file mode 100644 index 032a0b821..000000000 --- a/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-features.adoc +++ /dev/null @@ -1,194 +0,0 @@ -= Implementing Your Custom Policy Features in Rust -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -The following pages provide Rust code examples that complete various policy tasks. Implement the Rust code for your policy in the `src/lib.rs` file. - -The code examples assume you have some prior knowledge of the Rust Programming Language. For more information about programming in Rust, see: - -* https://doc.rust-lang.org/book/[The Rust Programming Language Documentation ^] -* https://rust-lang-nursery.github.io/rust-cookbook/intro.html[Rust Cookbook ^] - -== Before You Begin - -* xref:policies-pdk-create-project.adoc[Create a New Project] -* xref:policies-pdk-create-schema-definition.adoc[Define a Schema Definition] -+ -NOTE: You may need to add or redefine configuration parameters while implementing your policy. - -* Review <>, <>, and <> to learn about the policy's source code structure before adding <>. - -[[policy-template]] -== Policy Template - -Flex Gateway Policy Development Kit (PDK) provides the initial `src/lib.rs` file in the policy project as a template to begin implementing your policy: - -[source,Rust] ----- -// Copyright 2024 Salesforce, Inc. All rights reserved. -mod generated; - -use anyhow::{anyhow, Result}; - -use pdk::hl::*; -use pdk::logger; - -use crate::generated::config::Config; - -// This filter shows how to log a specific request header. -// You can extend the function and use the configurations exposed in config.rs file -async fn request_filter(request_state: RequestState, _config: &Config) { - let headers_state = request_state.into_headers_state().await; - let token = headers_state.handler().header("Token").unwrap_or_default(); - // Log the header value - logger::info!("Header value: {token}"); -} - -#[entrypoint] -async fn configure(launcher: Launcher, Configuration(bytes): Configuration) -> Result<()> { - let config: Config = serde_json::from_slice(&bytes).map_err(|err| { - anyhow!( - "Failed to parse configuration '{}'. Cause: {}", - String::from_utf8_lossy(&bytes), - err - ) - })?; - let filter = on_request(|rs| request_filter(rs, &config)); - launcher.launch(filter).await?; - Ok(()) -} ----- - -The policy performs some simple logging. For each incoming request, the policy logs the header `token` at the `info` log level. - -The following elements configure the policy: - -* `use pdk::api::hl::*;`: Imports all the components of PDK into the `lib.rs` source code. -* `#[entrypoint]` function: Executes when the policy is applied and calls the `request_filter` function. Variables defined inside this function are avaliable while the policy is applied. -+ -The `#[entrypoint]` function receives the following parameters: -+ -** `Launcher`: Sets the filter functions. -** `Configuration`: Provides the configuration parameters defined in xref:policies-pdk-create-schema-definition.adoc[]. - -* `request_filter`: Executes once per every request sent to the API instance to which the policy is applied. This function implements the filtering performed by the example policy. Variables defined inside this function are available for the duration of the request. -+ -The `request_filter` is an example of a wrapped function. -+ -The `#[entrypoint]` function executes wrapped functions: -+ -[source,Rust] ----- -let filter = on_request(|rs| request_filter(rs, &config)); -launcher.launch(filter).await?; ----- - -[[wrapped-functions]] -== Wrapped Functions - -The `on_response` or `on_request` wrapper defines when the filter function executes. - -You can define custom functions other than the provided `requests_filter` and `response_filter` in the `#[entrypoint]` function. The `requests_filter` and `response_filter` are only examples. - -Instead of filtering an incoming request as shown in the previous example, you can process the outgoing response by using the `on_response` wrapper: - -[source,Rust] ----- -async fn response_filter(response_state: ResponseState, _config: &Config) { - ... -} - -#[entrypoint] -async fn configure(launcher: Launcher, Configuration(bytes): Configuration) -> Result<()> { - let config: Config = serde_json::from_slice(&bytes).map_err(|err| { - anyhow!( - "Failed to parse configuration '{}'. Cause: {}", - String::from_utf8_lossy(&bytes), - err - ) - })?; - let filter = on_response(|rs| response_filter(rs, &config)); - launcher.launch(filter).await?; - Ok(()) -} ----- - -NOTE: The `request_filter` function is now the `response_filter` function. - -To filter both requests and responses, use both wrappers: - -[source,Rust] ----- -async fn request_filter(request_state: RequestState,_config: &Config) { - ... -} - -async fn response_filter(response_state: ResponseState,_config: &Config) { - ... -} - -#[entrypoint] -async fn configure(launcher: Launcher, Configuration(bytes): Configuration) -> Result<()> { - let config: Config = serde_json::from_slice(&bytes).map_err(|err| { - anyhow!( - "Failed to parse configuration '{}'. Cause: {}", - String::from_utf8_lossy(&bytes), - err - ) - })?; - let filter = on_request(|rs| request_filter(rs, &config)) - .on_response(|rs| response_filter(rs, &config)); - launcher.launch(filter).await?; - Ok(()) -} ----- - -[[flow-cancellation]] -== Flow Cancellation - -Custom policies run on a single-threaded environment. However, every set of wrapped functions (a `on_request` and a `on_response` `async` function) run as a concurrent task, meaning that a single policy instance handles multiple requests concurrently. - -To support this behavior, every `.await` is a potential task interruption point. When an `.await` is invoked, the underlying async runtime can set the current task -to sleep for a moment, and awake another task that has not finished. The async runtime can cancel a task and never run code that comes after the last `.await` invocation. `on_request` and `on_response` functions assume that `.await` invocations are potential cancellation points. - -The most common situation, as shown in the following code example, for task cancellation is when a request function waiting for a body and an upstream policy returns an early response: - -[source,Rust] ----- - -// Request function for upstream policy -async fn upstream_request(state: RequestState) -> Response { - Response::new(404) -} - -// Request function for downstream policy -async fn downstream_request(state: RequestState) { - - // Request function will be cancelled after this .await point. - let body_state = state.into_body_state().await; - - // Code here will never be executed -} - ----- - -[[provided-rust-source-code]] -== Discover PDK features with Provided Rust Source Code - -PDK provides code examples for the following policy features. Review <> and <> before adding the additional policy capabilities: - -* xref:policies-pdk-configure-features-logging.adoc[] -* xref:policies-pdk-configure-features-headers.adoc[] -* xref:policies-pdk-configure-features-inject-parameters.adoc[] -* xref:policies-pdk-configure-features-http-request.adoc[] -* xref:policies-pdk-configure-features-jwt.adoc[] -* xref:policies-pdk-configure-features-dataweave.adoc[] -* xref:policies-pdk-configure-features-share-data.adoc[] -* xref:policies-pdk-configure-features-libraries.adoc[] -* xref:policies-pdk-configure-features-caching.adoc[] -* xref:policies-pdk-configure-features-metadata.adoc[] -* xref:policies-pdk-configure-features-streamproperties.adoc[] -* xref:policies-pdk-configure-features-authentication.adoc[] -* xref:policies-pdk-configure-features-stop.adoc[] diff --git a/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-network-proxy.adoc b/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-network-proxy.adoc deleted file mode 100644 index d27b51611..000000000 --- a/pdk/1.0/modules/ROOT/pages/policies-pdk-configure-network-proxy.adoc +++ /dev/null @@ -1,51 +0,0 @@ -= Configuring a Network Proxy for PDK -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -If you use a network proxy to connect to the internet, you might have to define the network proxy for the software tools used by Flex Gateway Policy Development Kit (PDK). Besides Docker, all tools downloaded in xref:policies-pdk-prerequisites.adoc[PDK prerequisites] accept the `HTTP_PROXY` and `HTTPS_PROXY` environment variables. - -To configure your environment variable, refer to <>. - -To use Docker with a network proxy, see <>. - -NOTE: Depending on your network proxy, you might have to define the domains the PDK tools access in your proxy's allowlist. - -[[configure-a-network-proxy]] -== Configure a Network Proxy - -Configure your `HTTP_PROXY` or `HTTPS_PROXY` environment variables by running one of the following commands after replacing the variable values with your information: - -* `HTTP_PROXY`: -+ -[source,ssh] ----- -export HTTP_PROXY=://: ----- - -* `HTTPS_PROXY`: -+ -[source,ssh] ----- -export HTTPS_PROXY=://: ----- - -* If your network proxy requires authentication, use the following command: -+ -[source,ssh] ----- -export HTTPS_PROXY=://:@: ----- - -[[configure-a-network-proxy-for-docker]] -== Configure a Network Proxy for Docker - -xref:policies-pdk-integration-tests.adoc[Integration testing] and xref:policies-pdk-debug-local.adoc[the debugging environment] require Docker. - -Docker requires access to the internet to pull Docker images. To configure a network proxy for Docker, refer to the following Docker documentation for your relevant use case: - -* https://docs.docker.com/network/proxy/[Docker CLI Client^] -* https://docs.docker.com/desktop/settings/mac/#proxies[Docker Desktop on Mac^] -* https://docs.docker.com/desktop/settings/windows/#proxies[Docker Desktop on Windows^] -* https://docs.docker.com/desktop/settings/linux/#proxies[Docker Desktop on Linux^] diff --git a/pdk/1.0/modules/ROOT/pages/policies-pdk-create-project.adoc b/pdk/1.0/modules/ROOT/pages/policies-pdk-create-project.adoc deleted file mode 100644 index b85bc6485..000000000 --- a/pdk/1.0/modules/ROOT/pages/policies-pdk-create-project.adoc +++ /dev/null @@ -1,141 +0,0 @@ -= Creating a New Project -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -To begin developing a new custom policy with Flex Gateway Policy Development Kit (PDK), generate a new custom policy project. - -To create a new project, complete the following tasks: - -. <> -. <> -. <> -. Review <> - -[[before-you-begin]] -== Before You Begin - -Before you can create a custom policy project, ensure that you have installed all xref:policies-pdk-prerequisites.adoc[PDK prerequisites]. - -[[create-a-new-policy-project]] -== Create a New Policy Project - -To create a custom policy project, run the PDK CLI `create` command, replacing `` with the name of your new policy: - -[source,ssh] ----- -anypoint-cli-v4 pdk policy-project create --name ----- - -NOTE: If you receive a prompt requesting your group ID, see xref:policies-pdk-troubleshooting.adoc#group-id-error[Troubleshooting Group ID]. - -Running the `create` command creates a custom policy project with the specified name. The project appears in a new directory with the same name as your policy or a directory specified using the `--output-dir` flag. The following tutorials refer to this as your project's root directory. - -The `assetID` of the new policy is the policy's name in lower case with the spaces amended together with a `-`. For example, a policy with the name `My Header Injection Policy` has the `assetID` of `my-header-injection-policy`. - -The `groupID` of the new policy is the ID of the organization configured in Anypoint CLI. - -The `create` command supports the following flags: - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== -| Flag | Default Value | Required | Description -| `--name=` or `-n` | N/A | Yes | Name of the new policy. -| `--description=` or `-d` | N/A | No | Description of the new policy. -| `--output-dir=` of `-o` | `assetID` | No | Directory the new policy is created in. + -If the directory does not exist, it is created. If no directory is specified, the directory name is the policy `assetID`. -| `--version=` | `1.0.0` | No | Version of the new policy. + -The version format is `..`. -| `--group-id=` | N/A | No | Organization ID of the organization that owns the policy. + -For additional information about this flag, see xref:policies-pdk-troubleshooting.adoc#group-id-error[Troubleshooting Group ID]. -|=== - -[[setup-the-pdk-build-environment]] -== Set Up the PDK Build Environment - -After you <>, you must run the `make setup` command to download additional software dependencies: - -[source,ssh] ----- -make setup ----- - -[[project-structure]] -== Project Structure - -After running the `make setup` command, the policy's root directory contains the following directories and files shown in the directory tree: - ----- -├─ definition/ # Contains the files that describe the policy Definition -│ ├── target/ # Contains the build definition asset files -│ └── gcl.yaml # GCL file managed by the developer that describes the policy Definition -├─ target/ # Contains the implementation asset files and the output of the policy build -├─ src/ # Contains the implementation source code -├─ playground/ # Contains the artifacts required for running the policy locally -├─ tests/ # Contains the source and configuration files to write and run integration tests -├─ Makefile # Provides all the callable actions required during the policy development lifecycle -├─ Cargo.toml # Rust language standard file that contains the metadata required to build the policy -└─.project.yaml # Project manifest used by PDK ----- - -=== target/ and definition/target/ - -There are two separate `target` directories: - -* `definition/target/`: Contains the policy asset definition published to Exchange. -* `target/`: Contains the files for the policy's Exchange asset implementation and the output of the project build. - -Both target directories and their content are included in the `.gitignore` file. You must compile the targets on each individual devices using the `make build` command. For example, if you develop a policy as part of the team, your team can publish the policy and its source code to a remote repository, but each team member must build the target on their device to work with the policy. - -=== definition/ - -The `definition` directory contains the `gcl.yaml` file that defines the policy's metadata and the configuration properties. - -To configure the `gcl.yaml` file, see xref:policies-pdk-create-schema-definition.adoc[]. - -=== Cargo.toml - -Custom policies for Flex Gateway are developed in the Rust programming language and compiled to a WebAssembly binary. - -The `Cargo.toml` is the Rust project manifest. Its `[package]` section contains the basic information about the policy implementation. The version specified in `Cargo.toml` matches the policy asset version. You can manage the policy version by editing the version number in `Cargo.toml`. The version follows the format `..`. - -=== src/ - -The `src` directory contains the policy's source code: - -* `lib.rs`: Contains a set of methods that implement the behavior of the policy. PDK includes these methods to implement custom policies behavior. For additional information about these methods, see xref:policies-pdk-configure-features.adoc[]. For complete policy examples, see xref:policies-pdk-policy-templates.adoc[]. - -* `generated/config.rs` and `generated/mod.rs`: Auto-generated modules that make the policy configuration, as defined in the `gcl.yaml`, available for use in the `lib.rs` and any of the policy source files. - -=== Makefile - -The Makefile contains all the callable actions, such as `make` commands, required for the policy development lifecycle. Execute all `make` commands at the root level of your custom policy directory directory: - -* `make setup`: Installs PDK internal dependencies for the rest of the Makefile goals. -+ -For more information about setting up your project, see <>. -* `make build-asset-files`: Generates all the policy asset files required to build, execute, and publish the policy. This command also updates the `config.rs` source code file with the latest configurations defined in the `gcl.yaml` file. -+ -For more information about compiling a policy, see xref:policies-pdk-compile-policies.adoc[]. -+ -* `make build`: Runs the `make build-asset-files` command and compiles the WebAssembly binary of the policy. -+ -For more information about compiling a policy, see xref:policies-pdk-compile-policies.adoc[]. -* `make run`: Provides a simple way to execute the current build of the policy in a Docker containerized environment. -+ -For more information about running and debugging your policy, see xref:policies-pdk-debug-local.adoc[]. -* `make test`: Executes the tests contained in `tests/` by using the testing framework provided by PDK. -+ -For more information about testing your policy, see xref:policies-pdk-integration-tests.adoc[]. -* `make publish`: Publishes the policy asset in Exchange. -+ -For more information about publishing policies in Exchange, see xref:policies-pdk-publish-policies.adoc[]. -* `make release`: Releases the policy asset in Exchange. -+ -For more information about releasing policies in Exchange, see xref:policies-pdk-publish-policies.adoc[]. -* `make help`: Lists all the `make` commands provided by PDK. - -== See Also - -* xref:policies-pdk-troubleshooting.adoc[] \ No newline at end of file diff --git a/pdk/1.0/modules/ROOT/pages/policies-pdk-create-schema-definition.adoc b/pdk/1.0/modules/ROOT/pages/policies-pdk-create-schema-definition.adoc deleted file mode 100644 index ecb083d44..000000000 --- a/pdk/1.0/modules/ROOT/pages/policies-pdk-create-schema-definition.adoc +++ /dev/null @@ -1,444 +0,0 @@ -= Defining a Policy Schema Definition -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Similar to the policies listed in the xref:gateway::policies-included-directory.adoc[], custom policies have configuration parameters. Use the configuration parameters to improve the usability of your custom policy and support a wider range of API configurations. - -To define custom configuration parameters, edit the `definition/gcl.yaml` file. The `gcl.yaml` file is written in the Gateway Configuration Language (GCL). However, you do not need prior GCL knowledge to use this tutorial. - -The configuration parameters you define in the `gcl.yaml` appear as variables in the `src/generated/config.rs` file after you run the `make build-asset-file` command. You set any user input you need for implementing the Rust source code in the `gcl.yaml` file. - -Configuration parameters appear in the API Manager UI when applying a policy to Flex Gateway running in Connected Mode. When applying the policy to Flex Gateway running in Local Mode, it is your responsibility to distribute a configuration `yaml` file for your policy. - -The default `gcl.yaml` file has the following content: - -[source,yaml] ----- -apiVersion: gateway.mulesoft.com.v1alpha1 -kind: Extension -metadata: - labels: - title: my-custom-policy - category: Custom -spec: - extends: - - name: extension-definition - properties: - stringProperty: - type: string ----- - -The `gcl.yaml` file contains two sections: - -* `metadata`: Defines information about the policy -* `properties`: Defines the policy's configuration parameters - -To define a schema definition: - -. <> -. <> -. <> - -[[define-metadata]] -== Define Metadata - -Add labels in the metadata section to enrich the data shown in the UI when applying the policy. - -To define the metadata, edit the `metadata` in the `gcl.yaml` file. - -The supported labels are: - -* `title`: The policy name that appears in the UI. -* `description`: A brief explanation of the policy's behavior. -* `category`: The category the of the policy. The possible categories are `security`, `compliance`, `transformation`, `quality of service`, and `troubleshooting`. - -For example: - -[source,yaml] ----- -metadata: - labels: - title: JSON Threat Protection - description: Protects against malicious JSON in API requests. - category: Security ----- - -`labels` are suggested but not required. - -[[define-parameters]] -== Define Parameters - -To add parameters, edit the `spec.properties` section in the `gcl.yaml` file. - -For example: - -[source,yaml] ----- -properties: - username: - type: string - password: - type: string ----- - -After defining your properties, you can: - -* <> -* <> - -=== Define Required Properties and Default Values - -You can define each property listed in the `gcl.yaml` file as `required` and set a `default` value for the property. - -To define properties as required, list them in the `spec.required` object. For example, the following policy requires a `password` but not a `username`: - -[source,yaml] ----- -properties: - username: - type: string - password: - type: string -required: - - password ----- - -In the above configuration example, applying a policy without a password results in a failed configuration. - -The following example defines a default value for each property: - -[source,yaml] ----- -properties: - username: - type: string - default: user1 - password: - type: string - default: 12345678 -required: - - password ----- - -If you do not set a value for a required property when applying a policy, the property uses the default value. - -For non-required properties, the API Manager UI suggests the configured default value for properties. If you do not specify the value for non-required properties, the property is not configured. - -In the following configuration table, if the policy was applied in API Manager, `user2` would appear as a suggested value for `username` but is not configured if the value is omitted: - -[a,a,a] -|=== -| Policy Configuration | Effective Configuration | Configuration Status -| `{}` | `{"password": "12345678"}` | Success -| `{"username": "user2"}` | `{"password": "12345678", + -"username": "user2"}` | Success -| `{"password": "password"}` | `{"password": "password"}` | Success -| `{"password": "password", + - "username": "user2"}` | `{"password": "password", + -"username": "user2"}` | Success -|=== - -=== Define Sensitive Data - -Protect sensitive data, such as passwords or certificates, by adding the `security:sensitive` characteristic: - -[source,yaml] ----- -properties: - key: - type: string - default: "YourKey" - "@context": { - "@characteristics": [ - "security:sensitive" - ] - } ----- - -When applying the policy, the input value to the sensitive parameter is not visible to the user: - -image:sensitive-data.png[The character inputs to the key parameter appear as black dots.] - -Toggling *Show* reveals any new data currently being entered. However, you cannot reveal previously stored data. For example, if you configure the example *Key* parameter and apply the policy, you cannot view the parameter if you edit the policy's configuration in the future. - -=== Define Supported Types - -Define a supported data type for each policy parameter to ensure the policy receives the correct data. - -The supported types are: - -String:: -+ -The string type specifies that the data is text. -+ -[source,yaml] ----- -properties: - password: - type: string ----- -+ -The `string` type also supports enables you to configure a `format` type. -+ -The supported formating types are: -+ -* `dataweave`: Specifies the input parameter is a DataWeave variable and notifies Flex Gateway to transform the input. For more information about DataWeave expressions, see <>. -* `service`: Specifies the input parameter is a URI and automatically creates a Flex Gateway service to enable HTTP calls from the policy. -* `ipRange`: Specifies the expected text is a range of IPs and provides additional validation on the input. -* `uri`: Specifies the expected text is a URI and provides additional validation on the input. Only use `uri` when the URI is not a service making HTTP calls from the policy. -+ -The following yaml snippet demonstrates all string formats: -+ -[source,yaml] ----- -properties: - externalService: - type: string - format: service - default: "https://auth-service:9000/login" - token: - type: string - format: dataweave - default: "#[splitBy(attributes.headers['Authorization'], ' ')[1]]" - blockedIps: - type: string - format: ipRange - default: "192.168.3.1/30" - loginUrl: - type: string - format: uri - default: "https://anypoint.mulesoft.com/login" - ----- -+ -Number:: -+ -The `number` type specifies data as a floating point value. -+ -For example: -+ -[source,yaml] ----- -properties: - squareRoot: - type: number - default: 1.414213562 - seconds: - type: number - default: 10 ----- -+ -Integer:: -+ -The `integer` type specifies data as an integer value. -+ -For example: -+ -[source,yaml] ----- -properties: - maxHeaders: - type: integer - default: 10 ----- -+ -Boolean:: -+ -The `boolean` type specifies data as a boolean value. Supported values are `true` or `false`. -For example: -+ -[source,yaml] ----- -properties: - skipValidation: - type: boolean - default: false - requireCredentials: - type: boolean - default: true ----- -+ -Array:: -+ -The `array` type specifies the data as a list of ordered elements. For the `array` type, you must also specify `items.type` to specify the data type of the items in the array. -+ -For example: -+ -[source,yaml] ----- -properties: - scopes: - type: array - items: - type: string - default: ["READ", "WRITE"] ----- -+ -Object:: -+ -The `object` type specifies the data as a list of ordered elements with multiple properties. For the `object` type, you must also specify `properties.type` for each element in the object. -+ -For example: -+ -[source,yaml] ----- -properties: - user: - type: object - properties: - id: - type: string - name: - type: string - required: - - id - - name - default: {"id": "1", "name": "John Doe"} ----- - -[[dataweave-expressions]] -=== Define DataWeave Expressions - -The `dataweave` format for `string` type parameters specifies the input parameter as a DataWeave expression. - -The `dataweave` variable supports the following expression bindings: - -[source,yaml] ----- -: - type: string - format: dataweave - bindings: - payload: - mimeType: text - attributes: true - authentication: false - vars: [] ----- - -* `payload`: The body of the incoming request. Define the `mimeType` as either `text` or `json` to set how to read the payload. By default, `mimeType` is set to `text`. To restrict the use of the `payload` variable, you must exclude the payload variable, for example: -+ -[source,yaml] ----- -bindings: - attributes: true - authentication: false - vars: [] ----- - -* `attributes`: Attributes, such as headers, of the incoming request. Set `attributes` to `true` to enable the policy to read the attributes of the incoming request. By default, `attributes` is set to `true`. -* `authentication`: Authentication information of the incoming request. Set `authentication` to `true` to enable the policy to read authentication details of the incoming request. By default, `authentication` is set to `false`. -* `vars`: Specifies the names of the variables that are available for the policy to use. By default, `vars` is empty. When the policy is applied, if the user inputs a variable that is not defined in the schema, the policy evaluates the variable as `null`. - -For more information about the supported expression bindings, see xref:dataweave::dataweave-variables-context.adoc[]. - -If the user's expression contains bindings that are not defined in the policy's schema when applying the policy, the policy configuration fails. For example, if the user expression is `[authentication.principal]` and `authentication` is not set to `true`, an error similar to the following occurs: - ----- -test-local-flex-1 | [flex-gateway-envoy][error] wasm log main: [policy: ingress-http-jwt-auth-v1-0-impl-1.default][api: ingress-http.default.svc] Launcher problem: Failed to parse configuration '{"dw":"P[[\".\", \"0-24\", [\":ref\", \"0-14\", \"authentication\"], [\":str\", \"15-24\", \"principal\"]], \"#[authentication.principal]\"]"}'. Cause: Error compiling expression: Unknown symbol `authentication` at line 1 column 141 ----- - -When evaluating the DataWeave expression in your policy, you must provide the script to resolve the expression. To learn how to implement DataWeave expressions in your Rust source code, see xref:policies-pdk-configure-features.adoc#use-dataweave-expressions[Implement DataWeave Expressions]. - -For more information about DataWeave support for Flex Gateway, see xref:gateway::policies-flex-dataweave-support.adoc[]. - -[[use-custom-parameters-in-rust-source-code]] -== Use Custom Parameters in Rust Source Code - -After you modify the `gcl.yaml` file, run one of the following commands to propagate the changes to the `src/generated/config.rs` rust file and the JSON schema for the API Manager UI: - -* `make build-asset-files` only propagates the changes to `src/generated/config.rs`. -+ -[source,cmd] ----- -make build-asset-files ----- - -* `make build` propagates the changes to `src/generated/config.rs` and generates the policy's target files. Do not run `make build` if you do not want to override your policy's target file: -+ -[source,cmd] ----- -make build ----- -+ -For more information about compiling your policy, see xref:policies-pdk-compile-policies.adoc[]. - -Properties defined in the `gcl.yaml` files are mapped to the Rust data types in the `config.rs` Rust file as follows: - -[a,a] -|=== -| gcl.yaml | config.rs - -| `string` | `String` -| `uri` string | `String` -| `ipRange` string | `String` -| `dataveave` string | `pdk::script::Script` -| `number` | `f64` -| `integer` | `i64` -| `boolean` | `bool` -| `array` | `vec` containing the specified item type -| `object` | `struct` containing the specified property types -|=== - - -[IMPORTANT] -==== -If a parameter in `gcl.yaml` is not defined as ‘required’, the parameter's counterpart in the `config.rs` is wrapped in an ‘Option’ object. - -Validate that the parameter is present before unwrapping. Unwrapping a parameter that is not present may cause a `panic!`. - -Use one of the following validation examples to ensure the parameter is present: - -* `if let Some(val) = myValue` -* `if myValue.is_ome() {myValue.unwrap()}` -==== - -For example, the following `gcl.yaml` files produces the following `struct` in `config.rs`: - -. `gcl.yaml`: -+ -[source, yaml] ----- -properties: - tokenExtractor: - type: string - format: dataweave - default: "#[dw::core::Strings::substringAfter(attributes.headers['Authorization'], 'Bearer ')]" - reject_missing_tokens: - type: boolean - max_chars: - type: number - required: - - tokenExtractor ----- - -. `config.rs`: -+ -[source, rust] ----- -pub struct Config { - #[serde(alias = "max_chars")] - pub max_chars: Option, - #[serde(alias = "reject_missing_tokens")] - pub reject_missing_tokens: Option, - #[serde(alias = "tokenExtractor")] - pub token_extractor: pdk::script::Script, -} ----- - - -For example, you can access the values in `struct Config` with the following `.operators` in the `entrypoint` function: - -[source, rust] ----- -#[entrypoint] -async fn configure(launcher: Launcher, Configuration(configuration): Configuration,) -> Result<(), LaunchError> { - let config: Config = serde_json::from_slice(&configuration)?; - match config.reject_missing_tokens { ----- - -== See Also - -* xref:policies-pdk-troubleshooting.adoc[] diff --git a/pdk/1.0/modules/ROOT/pages/policies-pdk-debug-deployed-policies.adoc b/pdk/1.0/modules/ROOT/pages/policies-pdk-debug-deployed-policies.adoc deleted file mode 100644 index a700e229f..000000000 --- a/pdk/1.0/modules/ROOT/pages/policies-pdk-debug-deployed-policies.adoc +++ /dev/null @@ -1,17 +0,0 @@ -= Debugging Deployed Custom Policies -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - - -Errors that are not present in the PDK debugging playground or PDK's integration might be present when the policy is xref:policies-pdk-apply-policies.adoc[applied to an API instance] in a production environment. - -To use debug logs in a production environment, see xref:gateway::flex-troubleshoot-debug-logs.adoc[]. - -For more information about monitoring Flex Gateway, see xref:gateway::flex-gateway-monitor.adoc[]. - -== See Also - -* xref:policies-pdk-debug-local.adoc[] -* xref:policies-pdk-integration-tests.adoc[] \ No newline at end of file diff --git a/pdk/1.0/modules/ROOT/pages/policies-pdk-debug-local.adoc b/pdk/1.0/modules/ROOT/pages/policies-pdk-debug-local.adoc deleted file mode 100644 index 236170695..000000000 --- a/pdk/1.0/modules/ROOT/pages/policies-pdk-debug-local.adoc +++ /dev/null @@ -1,166 +0,0 @@ -= Debugging Custom Policies with the PDK Debugging Playground -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -To test the functionality of your policy, Flex Gateway Policy Development Kit (PDK) provides a pre-configured API instance located in the `/playground/config` directory. - -The PDK Debugging Playground only supports Flex Gateway running in Local Mode in a Docker container. If you plan to deploy or policy to Flex Gateway running in Connected Mode or to a different platform, you should still first test your policy in PDK by using Flex Gateway running in Local Mode in a Docker container. - -IMPORTANT: You can run Flex Gateway in Local Mode on Docker in Windows only to develop and test your policies. However, Flex Gateway does not support Windows in production environments. - -To test your policy, complete the following tasks: - -. <> -. <> -. <> -. <> if necessary -. <> - -== Before You Begin - -Ensure that you have: - -* https://www.docker.com/[Installed Docker^]. -* xref:policies-pdk-compile-policies.adoc[Compiled your custom policy project]. - -[[register]] -== Register a Flex Gateway Instance in Local Mode - -To begin using the `make run` command to debug your custom policy, register a Flex Gateway in Local Mode. - -For the `run` command to work, a Flex Gateway `registration.yaml` file must exist in the `/playground/config` directory. Create this file by running the registration command in the directory, or move a `registration.yaml` file of a previously registered Flex Gateway to the directory. - -The `make run` command only supports Flex Gateways running in Local Mode in a Docker Container. To register Flex Gateway, see: - -* xref:gateway::flex-local-reg-run-up.adoc#docker[Register and Run with a Username and Password in a Docker Container] -* xref:gateway::flex-local-reg-run-app.adoc#docker[Register and Run with a Connected App in a Docker Container] -* xref:gateway::flex-local-reg-run-token.adoc#docker[Register and Run with a Token in a Docker Container] - -IMPORTANT: Run only the registration command. Do not run the Docker start command because the `make run` command completes this step. - -Create a different registration file on each device testing the policy. - -The registration file is ignored for storage in remote repositories and is listed in the `.gitignore` file located at the root of the project directory. - - -== Configure the Policy - -Depending on the configurations listed in the `definition/gcl.yaml` file you configured in xref:policies-pdk-create-schema-definition.adoc[], you may have to configure some parameters before running the policy locally. - -For example, if the `gcl.yaml` file is as follows: - -[source,yaml] ----- -apiVersion: gateway.mulesoft.com.v1alpha1 -kind: Extension -metadata: - labels: - title: my-custom-policy - category: Security -spec: - extends: - - name: extension-definition - properties: - user: - type: string - default: user1 - password: - type: string - description: - type: string - required: - - user - - password - ----- - -Update the `/playground/config/api.yaml` file with your configuration value: - -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: ApiInstance -metadata: - name: ingress-http -spec: - address: http://0.0.0.0:8081 - services: - upstream: - address: http://backend - routes: - - config: - destinationPath: /anything/echo/ - policies: - - policyRef: - name: my-custom-policy - config: - password: 12345678 - ----- - -In this example, the `user` is set to the default value `user1`, the `password` is set to `12345678`, and no description is provided. - -== Add Additional Policies - -You can also apply additional policies to the test API instance to test your custom policies behavior alongside other policies. - -However, your custom policy under development must be the first policy specified, for example: - -[source,yaml] ----- - policies: - - policyRef: - name: my-custom-policy - config: - password: 12345678 - - policyRef: - name: additional-policy - config: ----- - -== Deploy the Policy with PDK - -After you complete the previous steps, run the `make run` command from the policy's root directory to deploy policy: - -[source,cmd] ----- -make run ----- - -This command starts the two Docker containers in the `/playground/docker-compose.yaml` file: - -* `Local-flex`: The Flex Gateway instance Docker container that executes the custom policy. This Flex Gateway listens for requests made to `localhost:8081`. -* `Backend`: The Docker Container that runs the backend service for the Flex Gateway instance. This backend service echoes any request it receives. - -NOTE: To stop the Docker containers, press `Cmd+c` or `Ctrl+c` depending on your device from the terminal running the containers. - -Once the containers are running, you can make requests to the API instance, for example: - -[source,cmd] ----- -curl --location --request POST 'http://0.0.0.0:8081/some/route' \ ---header 'Token: mytoken' ----- - -The backend service returns an echo response including the requests’s route, body, and headers sent with any modification performed by the custom policy or additional policies. Any logs included in the custom policy's source code are visible in the terminal running the containers. - -== Configure the Loglevel - -By default, PDK's debugging environment enables logs with the `debug` `loglevel` configured. - -To change the `loglevel`, edit the `logging.runtimeLogs.logLevel` value in `/playground/config/logging.yaml`. - -To learn more about editing a Flex Gateway's logging configuration file, see xref:gateway::flex-local-third-party-logs-config.adoc[]. - -== Use the Rust Debugger - -Visual Studio Code (VS Code) includes a Rust debugger that can run unit tests. You cannot use the VS Code Debugger while the policy is deployed on a Flex Gateway. To create the API mocking, you must use unit tests for the specific logic you need to debug. - -To debug Rust code in VS Code, you must install the https://marketplace.visualstudio.com/items?itemName=vadimcn.vscode-lldb[CodeLLDB Debugger Extension^] or a different VS Code extension with the same functionality. To learn more about debugging Rust in VS Code, see https://code.visualstudio.com/docs/languages/rust#_debugging[Rust in Visual Studio Code^]. - -== See Also - -* xref:policies-pdk-integration-tests.adoc[] -* xref:policies-pdk-troubleshooting.adoc[] diff --git a/pdk/1.0/modules/ROOT/pages/policies-pdk-develop-custom-policies.adoc b/pdk/1.0/modules/ROOT/pages/policies-pdk-develop-custom-policies.adoc deleted file mode 100644 index cf85cb2fc..000000000 --- a/pdk/1.0/modules/ROOT/pages/policies-pdk-develop-custom-policies.adoc +++ /dev/null @@ -1,47 +0,0 @@ -= Developing Custom Policies -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -After installing the xref:policies-pdk-prerequisites.adoc[Prerequisites], you can develop custom policies by using Flex Gateway Policy Development Kit (PDK). - -The custom policy lifecycle consists of all the steps of developing a custom policy that occur in PDK. The following steps do not include steps that occur outside of PDK, such as xref:policies-pdk-apply-policies.adoc[applying a policy], which is the same for all Flex Gateway policies. - -After you xref:policies-pdk-create-project.adoc[create a new project], you might iteratively complete some steps. For example, while writing the policy's source code, you might need to return to xref:policies-pdk-create-schema-definition.adoc[add additional parameters], or you might need to recompile the policy after debugging the source code. - -To create a custom policy with PDK, follow these steps: - -. xref:policies-pdk-create-project.adoc[Create a new project]. - -. xref:policies-pdk-create-schema-definition.adoc[Define a schema definition]. -+ -Modify the `definition/gcl.yaml` file to define metadata and configuration parameters for your custom policy. - -. xref:policies-pdk-configure-features.adoc[Configure custom policy features in Rust]. -+ -Use the rust code examples to implement your custom logic in the `src/lib.rs` file. - -. xref:policies-pdk-compile-policies.adoc[Compile your custom policy]. -+ -Compiling your policy creates the `WebAssembly` binary file and configuration files necessary to upload your policy to Exchange and deploy it to a Flex Gateway. - -. xref:policies-pdk-debug-local.adoc[Debug Your Policy with the PDK Debugging Playground]. -+ -Use the playground provided with PDK to debug the functionality of your custom policy locally. - -. xref:policies-pdk-integration-tests.adoc[Write Integration Tests]. -+ -Write intergration tests to ensure your custom policy is compatible with your other services and to ensure that each new policy version does not introduce regression errors. - -. xref:policies-pdk-publish-policies.adoc#publish[Publish your policy on Exchange]. -+ -Publish your policy on Exchange to distribute a beta version of your policy for testing with your Flex Gateway configuration. To deploy a policy to Flex Gateway, see step 9. - -. xref:policies-pdk-publish-policies.adoc#release[Release your policy on Exchange]. -+ -Release your policy on Exchange to distribute a production-ready policy. - -. Deploy your custom policy to a production environment by xref:policies-pdk-apply-policies.adoc[applying it to an API instance] deployed on Flex Gateway. - -. Configure a new version of this API instance by returning to step 2. \ No newline at end of file diff --git a/pdk/1.0/modules/ROOT/pages/policies-pdk-integration-tests.adoc b/pdk/1.0/modules/ROOT/pages/policies-pdk-integration-tests.adoc deleted file mode 100644 index 5e053e95a..000000000 --- a/pdk/1.0/modules/ROOT/pages/policies-pdk-integration-tests.adoc +++ /dev/null @@ -1,506 +0,0 @@ -= Writing Integration Tests -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Flex Gateway Policy Development Kit (PDK) provides an automated testing framework to detect integration regressions in your custom policy. - -The integration testing framework provided by PDK only supports Flex Gateway running in Local Mode in a Docker container. If you plan to deploy or policy to Flex Gateway running in Connected Mode or to a different platform, you should still first test your policy in PDK by using Flex Gateway running in Local Mode in a Docker container. - -IMPORTANT: You can run Flex Gateway in Local Mode on Docker in Windows only to develop and test your policies. However, Flex Gateway does not support Windows in production environments. - -To test your policy, complete the following tasks: - -. Review <>. -. Review <>. -. <>. -. <>. -. <>. -. <>. -. <>. -. <>. - -[[before-you-begin]] -== Before You Begin - -Ensure that you have: - -* https://www.docker.com/[Installed Docker^] - -[[structure]] -== Integration Tests Directory Structure - -By default, the `/tests` directory contains the following files: - ----- -tests -├── common.rs -├── requests.rs -├── common -│ └── logging.yaml -│ └── registration.yaml -└── requests - └── hello - └── api.yaml ----- - -The `/tests` directory contains the integration tests. By default, the folder contains: - -* `requests.rs` file: An individual test module and executable. -* `commons.rs` file: A test module that contains functionalities that must be included in every integration test module. - -Each test module has a configuration directory. By default, `/test` includes the following folders: - -* `/requests` -* `/common` - -Every module contains test functions annotated with the `#[pdk_test]` attribute. Each test function also has a configuration subdirectory. For example, the `requests::hello` test function has the corresponding `requests/hello` directory containing all the `hello` test configuration files. - -[[register]] -== Register a Flex Gateway Instance in Local Mode - -To begin using the `make test` command to debug your custom policy, register a Flex Gateway in Local Mode. - -For the `make test` command to work, a Flex Gateway `registration.yaml` file must exist in the `/tests/common` directory. Create this file by running the registration command in the directory, or move a `registration.yaml` file of a previously registered Flex Gateway to the directory. - -To register Flex Gateway, see: - -* xref:gateway::flex-local-reg-run-up.adoc#docker[Register and Run with a Username and Password in a Docker Container] -* xref:gateway::flex-local-reg-run-app.adoc#docker[Register and Run with a Connected App in a Docker Container] -* xref:gateway::flex-local-reg-run-token.adoc#docker[Register and Run with a Token in a Docker Container] - -IMPORTANT: Run only the registration command. Do not run the Docker start command because the `make test` command completes this step. - -Create a different registration file on each device testing the policy. - -The registration file is ignored for storage in remote repositories and is listed in the `.gitignore` file located at the root of the project directory. - -[[configure-your-custom-policy]] -== Configure Your Custom Policy - -Each test function requires an `api.yaml` file to configure the custom policy for that request. PDK provides the `request/hello/api.yaml` file as an example. You can copy and paste the example file into the resource folders of your test functions. - -To configure the custom policy: - -. Print the policy ID by running the `show-policy-ref-name`: -+ -[source,ssh] ----- -make show-policy-ref-name ----- - -. Copy the result. - -. Override `{{project-name}}` in `api.yaml` with your policy ID, for example: -+ -[source,yaml] ----- - policies: - - policyRef: - name: ----- - -. Configure the policy's configuration parameters. -+ -To find your configuration parameters, see the `gcl.yaml` file. - -. Copy and past the `api.yaml` into the resource folders of your other test functions. - -[[create-a-test-function]] -== Create a Test Function - -Add a new test module by placing a new test function in an existing test module, for example `/tests/requests.rs`. - -PDK test functions are `async` functions decorated with the `#[pdk_test]` attribute: - -[source,rust] ----- -use pdk_test::pdk_test; - -#[pdk_test] -async fn say_hello() { - -} ----- - -NOTE: Because the body is empty, this test function never fails. Run `make test` to ensure everything is working fine. - -[[run-integration-test]] -== Run an Integration Test - -To run the integrations tests modules in the `/tests` folder, execute the `make test` command: - -[source,ssh] ----- -make test ----- - -Run this test as you add additional features to your integration test to ensure proper configuration. - -NOTE: The `make test` command compiles the policy before running the integration tests. - -[[configure-services-for-integration-testing]] -== Configure Services for Integration Testing - -PDK integration tests contain a composite of services running inside a Docker network. You can register service instances in a `TestComposite` object. Every service has a configuration, hostname, and instance. - -The `pdk-test` crate contains all the functionality for writing integration tests for custom policies in PDK and is included in the `[dev-dependencies]` section of the `Cargo.toml` file. - -[[supported-services]] -=== Supported Services - -PDK's test library supports the following services: - -[cols="1,1"] -|=== -|Service |Description - -| `Flex` -| Flex Gateway service instance. - -| `httpmock` -| Service binding to the Rust's https://crates.io/crates/httpmock[httpmock] server. -|=== - -The supported services cover the majority of use cases for integration testing. It is not possible to define different types of service. - -[[httpmock-service]] -=== httpmock Service - -`httpmock` is a mock server that enables you to write request mocks in Rust. Configure an https://crates.io/crates/httpmock[httpmock^] service by using an `HttpMockConfig` value. It is a best practice to return a `Result` from the test function. The https://crates.io/crates/anyhow[anyhow^] Rust crate enables you to return different default error types. - -To configure an `httpmock` service, see the following code example: - -[source,rust] ----- -use pdk_test::{pdk_test, TestComposite}; -use pdk_test::services::httpmock::HttpMockConfig; - -#[pdk_test] -async fn say_hello() -> anyhow::Result<()> { - - // Configure HttpMock service - let backend_config = HttpMockConfig::builder() - .hostname("backend") - .port(80) // Port where the service will accept requests - .build(); - - // Register HTTPBin service and start the docker network - let composite = TestComposite::builder() - .with_service(backend_config) - .build() - .await?; - - Ok(()) -} ----- - -NOTE: If the Docker engine is properly configured, this test passes. Run `make test` to ensure proper configuration. - -[[get-a-services-hande]] -=== Get a Service's Handle - -Every configured service instance in the composite has a handle for custom interaction. The handle returns the sockets where the service endpoints are available. - -To find a service's handle, see the following code example: - -[source,rust] ----- -use pdk_test::{pdk_test, TestComposite}; -use pdk_test::services::httpmock::{HttpMock, HttpMockConfig}; - -#[pdk_test] -async fn say_hello() -> anyhow::Result<()> { - - // Configure HTTPMock service - let backend_config = HttpMockConfig::builder() - .hostname("backend") - .build(); - - // Register HTTPMock service and start the docker network - let composite = TestComposite::builder() - .with_service(backend_config) - .port(80) // Port where the service accepts requests - .build() - .await?; - - // Get the httpmock handle - let httpmock: HttpMock = composite.service()?; - - Ok(()) -} ----- - -NOTE: If the `httpmock` instance is properly configured, this test passes. Run `make test` to ensure proper configuration. - -[[http-entpoint-requests]] -=== HTTP Endpoint Requests - -To mock endpoints, use the https://docs.rs/httpmock/latest/httpmock/#whenthen-api[httpmock When/Then API^]. - -After mocking the endpoint, use an HTTP client to make endpoint requests. - -The https://crates.io/crates/reqwest/[reqwest^] crate offers the most comprehensive and flexible Rust HTTP client. - -To mock endpoints and make requests, see the following code example: - -[source,rust] ----- -use pdk_test::{pdk_test, TestComposite}; -use pdk_test::services::httpmock::{HttpMock, HttpMockConfig}; - -#[pdk_test] -async fn say_hello() -> anyhow::Result<()> { - - // Configure HttpMock service - let backend_config = HttpMockConfig::builder() - .hostname("backend") - .port(80) // Port where the service will accept requests - .build(); - - // Register HTTPBin service and start the docker network - let composite = TestComposite::builder() - .with_service(backend_config) - .build() - .await?; - - // Get the httpmock handle - let httpmock: HttpMock = composite.service()?; - - // Connect the mock server - let mock_server = httpmock::MockServer::connect_async(httpmock.socket()).await; - - // Configure the endpoint mocks - mock_server.mock_async(|when, then| { - when.path_contains("/hello"); - then.status(202).body("World!"); - }).await; - - let base_url = mock_server.base_url(); - - // Hit the endpoint - let response = reqwest::get(format!("{base_url}/hello")).await?; - - // Assert on response - assert_eq!(response.status(), 202); - assert_eq!(response.text().await?, "World!"); - - Ok(()) -} ----- - -NOTE: Run `make test` to ensure proper configuration. - -[[configure-a-flex-service-instance]] -=== Configure a Flex Service Instance - -Configure a `Flex` service by registering a `FlexConfig` in `TestComposite`. - -`Flex` services have the following configurable properties: - -[cols="1,1"] -|=== -|Property |Content - -|`version` -|Flex Gateway version to test. - -|`hostname` -|Hostname of the `Flex` service. By default, "local-flex". - -|`config_mounts` -|A map of local directories where the `Flex` service finds configuration files. -`POLICY_DIR` and `COMMON_CONFIG_DIR` constants are defined in the `common.rs` module when the project is created. + -Add the directory with the specific configuration for the actual test function, for example, the `hello` test uses `SAY_HELLO_CONFIG_DIR`. -|`ports` -|A List of ports where the `Flex` service is listening for requests. It must coincide with the ports configured in the `spec.address` property in the `api.yaml` configuration file. -|=== - -To configure a `Flex` service instance, see the following code example: - -[source,rust] ----- -mod common; -use common::*; - -use pdk_test::{pdk_test, TestComposite}; -use pdk_test::port::Port; -use pdk_test::services::flex::FlexConfig; - -// Directory with the configurations for the `say_hello` test. -const SAY_HELLO_CONFIG_DIR: &str = concat!(env!("CARGO_MANIFEST_DIR"), "/tests/requests/say_hello"); - -// Port where Flex is waiting for requests -const FLEX_PORT: Port = 8081; - -#[pdk_test] -async fn say_hello() -> anyhow::Result<()> { - - // Configure a Flex service - let flex_config = FlexConfig::builder() - .version("1.6.1") - .hostname("local-flex") - .config_mounts([ - (POLICY_DIR, "policy"), - (COMMON_CONFIG_DIR, "common"), - (SAY_HELLO_CONFIG_DIR, "say_hello"), - ]) - .ports([FLEX_PORT]) - .build(); - - let composite = TestComposite::builder() - .with_service(flex_config) - .build() - .await?; -} ----- - -NOTE: Run `make test` to ensure proper configuration. - -[[flex-service-endpoint-requests]] -=== Flex Service Endpoint Requests - -`Flex` service exposes endpoints with external base URLs dependent on the port. To access those URLs, the -Flex service instance handle provides the `external_url()` method indexed by port, for example: - -[source,rust] ----- -use pdk_test::{pdk_test, TestComposite, port::Port}; -use pdk_test::services::flex::Flex; - -const FLEX_PORT: Port = 8081; - -async fn build_composite() -> anyhow::Result { - todo!("Configuration stuff comes here") -} - -#[pdk_test] -async fn say_hello() -> anyhow::Result<()> { - // Invoke a helper composite builder function for simplicity - let composite = build_composite().await?; - - // Get the Flex service handle - let flex: Flex = composite.service()?; - - // Get the URL for our configured port - let flex_url = flex.external_url(FLEX_PORT).unwrap(); - - let response = reqwest::get(format!("{flex_url}/hello")).await?; - - // Make assertions - - Ok(()) -} ----- - -[[combine-multiple-services]] -=== Combine Multiple Services - -Usually a PDK integration test includes a `Flex` service and at least one backend service. - -The following code is the default test generated when the custom policy is created: - -[source,rust] ----- -mod common; - -use httpmock::MockServer; -use pdk_test::{pdk_test, TestComposite}; -use pdk_test::port::Port; -use pdk_test::services::flex::{FlexConfig, Flex}; -use pdk_test::services::httpmock::{HttpMockConfig, HttpMock}; - -use common::*; - -// Directory with the configurations for the `hello` test. -const HELLO_CONFIG_DIR: &str = concat!(env!("CARGO_MANIFEST_DIR"), "/tests/requests/hello"); - -// Flex port for the internal test network -const FLEX_PORT: Port = 8081; - -// This integration test shows how to build a test to compose a local-flex instance -// with a MockServer backend -#[pdk_test] -async fn hello() -> anyhow::Result<()> { - - // Configure a Flex service - let flex_config = FlexConfig::builder() - .version("1.6.1") - .hostname("local-flex") - .ports([FLEX_PORT]) - .config_mounts([ - (POLICY_DIR, "policy"), - (COMMON_CONFIG_DIR, "common"), - (HELLO_CONFIG_DIR, "hello"), - ]) - .build(); - - // Configure an HttpMock service - let httpmock_config = HttpMockConfig::builder() - .port(80) - .version("latest") - .hostname("backend") - .build(); - - // Compose the services - let composite = TestComposite::builder() - .with_service(flex_config) - .with_service(httpmock_config) - .build() - .await?; - - // Get a handle to the Flex service - let flex: Flex = composite.service()?; - - // Get an external URL to point the Flex service - let flex_url = flex.external_url(FLEX_PORT).unwrap(); - - // Get a handle to the HttpMock service - let httpmock: HttpMock = composite.service()?; - - // Create a MockServer - let mock_server = MockServer::connect_async(httpmock.socket()).await; - - // Mock a /hello request - mock_server.mock_async(|when, then| { - when.path_contains("/hello"); - then.status(202).body("World!"); - }).await; - - // Perform an actual request - let response = reqwest::get(format!("{flex_url}/hello")).await?; - - // Assert on the response - assert_eq!(response.status(), 202); - - Ok(()) -} ----- - -[[review-service-logs]] -== Review Service Logs - -After an integration test fails, you can view the service logs to find errors. To improve the debugging experience, there is a dedicated service log in each test folder at `/target/pdk-test///.log`. - -For the example, the `say_hello` test has the following service log: - -[source,] ----- - -├── Cargo.lock -├── Cargo.toml -├── playground -├── src -├── tests -└── target - └── pdk-test - └── requests - └── say_hello - └── .log ----- - -== See Also - -* xref:policies-pdk-debug-local.adoc[] -* xref:policies-pdk-troubleshooting.adoc[] diff --git a/pdk/1.0/modules/ROOT/pages/policies-pdk-overview.adoc b/pdk/1.0/modules/ROOT/pages/policies-pdk-overview.adoc deleted file mode 100644 index b825bb633..000000000 --- a/pdk/1.0/modules/ROOT/pages/policies-pdk-overview.adoc +++ /dev/null @@ -1,24 +0,0 @@ -= Flex Gateway Policy Development Kit (PDK) Overview -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Policies enforce regulations to help manage security, control traffic, and improve API adoption. Flex Gateway provides many xref:gateway::policies-included-directory.adoc[included policies], but they might not cover all your specific business needs. - -Flex Gateway Policy Development Kit (PDK) is a software development kit that enables you to develop custom policies with ease. - -PDK provides instructions to guide you through the policy development lifecycle, from implementing your Rust source code to releasing your policy on Exchange. Like included policies, you can apply custom policies to Flex Gateway running in Connected Mode by using API Manager or to Flex Gateway running in Local Mode by using YAML configuration files. - -PDK also provides xref:pdk::policies-pdk-policy-templates.adoc[example policies] to help you get started with policy development. - -Watch the PDK Product Spotlight video to see a quick overview of PDK. - -++++ -include::_partials/pdk-spotlight-video.html[] -++++ - -== See Also - -* xref:policies-pdk-architecture.adoc[Review the architecture] -* xref:policies-pdk-prerequisites.adoc[Review the prerequisites] diff --git a/pdk/1.0/modules/ROOT/pages/policies-pdk-policy-templates.adoc b/pdk/1.0/modules/ROOT/pages/policies-pdk-policy-templates.adoc deleted file mode 100644 index e0f43d059..000000000 --- a/pdk/1.0/modules/ROOT/pages/policies-pdk-policy-templates.adoc +++ /dev/null @@ -1,52 +0,0 @@ -= Custom Policy Examples -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Flex Gateway Policy Development Kit (PDK) provides example policy projects to get started configuring your Rust source code. - -Find all policy examples and their documentation in the https://github.com/mulesoft/pdk-custom-policy-examples[PDK Custom Policy GitHub Repository^]. - -PDK offers the following example policies: - -* https://github.com/mulesoft/pdk-custom-policy-examples/blob/{template-policies-url-ver-var}/certs/README.md[Certification Policy Example^]: Use the Certification Policy as an example of how to obtain data concerning connection certificates. -* https://github.com/mulesoft/pdk-custom-policy-examples/blob/{template-policies-url-ver-var}/crypto/README.md[Crypto Policy Example^]: Use the Crypto Policy as an example of how to use xref:policies-pdk-configure-features-libraries.adoc[third-party libraries] that provide cryptography capabilities in your custom policy. -* https://github.com/mulesoft/pdk-custom-policy-examples/blob/{template-policies-url-ver-var}/data-caching/README.md[Data Caching Policy Example^]: Use the Data Caching Policy as an example of how to implement xref:policies-pdk-configure-features-caching.adoc[data caching] in your custom policy. -* https://github.com/mulesoft/pdk-custom-policy-examples/blob/{template-policies-url-ver-var}/jwt-validation/README.md[JWT Validation Policy Example^]: Use the JWT Validation Policy as an example of how to use functions of the xref:policies-pdk-configure-features-jwt.adoc[JWT Library] in your custom policy. -* https://github.com/mulesoft/pdk-custom-policy-examples/blob/{template-policies-url-ver-var}/query/README.md[Query Policy Example^]: Use the Query Policy as an example of how to handle xref:policies-pdk-configure-features-dataweave.adoc[DataWeave expressions] in your custom policy. -* https://github.com/mulesoft/pdk-custom-policy-examples/blob/{template-policies-url-ver-var}/simple-oauth-2-validation/README.md[Simple OAuth 2.0 Validation Policy Example^]: Use the Simple OAuth 2.0 Validation Policy as an example of how to implement xref:policies-pdk-configure-features-http-request.adoc[HTTP calls] in your custom policy. - -== Set Up an Example Policy Project - -To begin using an example policy project: - -. Ensure you have installed all the xref:policies-pdk-prerequisites.adoc[PDK prerequisites]. -. Clone the https://github.com/mulesoft/pdk-custom-policy-examples[PDK Custom Policy GitHub Repository^] with the following command or your preferred GitHub interface: -+ -[source,ssh] ----- -git clone https://github.com/mulesoft/pdk-custom-policy-examples.git ----- - -. Navigate to the newly cloned directory, then copy and paste the directory of your desired policy into a new location. -. In the `cargo.toml` file of the copied policy example, replace the `group-id` with your group ID, for example: -+ -[source,toml] ----- -group_id = "" ----- - -. Run the `make setup` command. -+ -[source,ssh] ----- -make setup ----- - -. Navigate to the `README.md` file in the example policy to read more about the policy and how to test it. - - -== See Also - -* xref:policies-pdk-configure-features.adoc[] \ No newline at end of file diff --git a/pdk/1.0/modules/ROOT/pages/policies-pdk-prerequisites.adoc b/pdk/1.0/modules/ROOT/pages/policies-pdk-prerequisites.adoc deleted file mode 100644 index b0d5e9deb..000000000 --- a/pdk/1.0/modules/ROOT/pages/policies-pdk-prerequisites.adoc +++ /dev/null @@ -1,123 +0,0 @@ -= Reviewing PDK Prerequisites -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -To begin using Flex Gateway Policy Development Kit (PDK), ensure you have the following prerequisites installed. - -== Flex Gateway - -PDK tutorials assume that you have xref:gateway::index.adoc[downloaded Flex Gateway] and have some prior knowledge of the product. - -include::release-notes::partial$pdk/pdk-supported-versions.adoc[tags=intro;1.0.1] - -[[rust-requirements]] -== Rust Requirements for Using PDK - -. Git -+ -To download and install, see https://git-scm.com/book/en/v2/Getting-Started-Installing-Git[Installing Git^]. - -. Rust programming language version {rust-ver-var} to {rust-ver-max-var}: -.. To install or update Rust, run the following curl command: -+ -[source,ssh] ----- -curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh ----- -+ -NOTE: If you do not have curl installed, see https://curl.se/download.html[Install curl^]. -+ -.. Due to the `wasm32-wasi` compilation target used by the PDK being deprecated in Rust v1.84.0, downgrade Rust to the last compatible version: -+ -[source,ssh,subs="attributes+"] ----- -rustup default {rust-ver-max-inline-var} ----- - -. Rust WebAssembly System Interface (WASI) Crate -+ -To install or update Rust WASI, run the following command: -+ -[source,ssh] ----- -rustup target add wasm32-wasi ----- - -. Cargo Generate -+ -To install or update Cargo Generate, run the following command: -+ -[source,ssh] ----- -cargo install --locked cargo-generate ----- - - -== Supported Operating Systems - -* macOS -* Ubuntu -+ -To use Ubuntu, execute the following commands to install the required packages after installing the <>: -+ -[source,ssh] ----- -sudo apt install -y build-essential -sudo apt install -y pkg-config -sudo apt install -y libssl-dev ----- -* Windows -+ -IMPORTANT: PDK supports Windows to develop and test you custom policy. However, Flex Gateway does not support Windows in production environments. -+ -To execute the `make` commands included in PDK, install: -+ -. https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-windows?view=powershell-7.3[PowerShell on Windows ^] -. Make, with either: -** https://gnuwin32.sourceforge.net/packages/make.htm[Make for Windows^] -** Chocolatey: -+ -[source,ssh] ----- -choco install make ----- - -[[cli]] -== Anypoint CLI - -To configure the Anypoint CLI for PDK: - -. xref:4.x@anypoint-cli::install.adoc[Install Anypoint CLI 4.x v1.4.4 or later]. -+ -NOTE: To find your Anypoint CLI 4.x version, see xref:4.x@anypoint-cli::install.adoc#verify-installation[Verify the Core Package Version]. -. xref:4.x@anypoint-cli::auth.adoc[Authenticate to the Anypoint Platform CLI] using a xref:access-management::connected-apps-overview.adoc[Connected App]. -+ -Authenticate with a Connected App by providing the app's client ID and client secret. -+ -NOTE: In addition to the `View Organization` and `View Environment` scopes required to authenticate to Anypoint Platform, to complete xref:policies-pdk-publish-policies.adoc[], the Connected App must have the `Exchange Contributor` scope applied. - -. Run the following command to install or update the Anypoint CLI PDK Plugin: -+ -[source,ssh] ----- -anypoint-cli-v4 plugins:install anypoint-cli-pdk-plugin ----- - -== Docker - -Docker is required to use the xref:policies-pdk-debug-local.adoc[local debugging environment] and the xref:policies-pdk-integration-tests.adoc[integration testing framework] provided with PDK. You can still build and publish policies without docker. - -To install Docker, see https://docs.docker.com/get-docker/[Install Docker^]. - -IMPORTANT: You can run Flex Gateway in Local Mode on Docker in Windows only to develop and test your policies. However, Flex Gateway does not support Windows in production environments. - -== Visual Studio (Suggested IDE) - -You can use PDK in any IDE or text editor, such as https://code.visualstudio.com/[Microsoft Visual Studio^] with the https://code.visualstudio.com/docs/languages/rust[Rust in Visual Studio Code Plugin^] installed. - -== See Also - -* xref:policies-pdk-architecture.adoc[] -* xref:policies-pdk-develop-custom-policies.adoc[] diff --git a/pdk/1.0/modules/ROOT/pages/policies-pdk-publish-policies.adoc b/pdk/1.0/modules/ROOT/pages/policies-pdk-publish-policies.adoc deleted file mode 100644 index 1b38a4442..000000000 --- a/pdk/1.0/modules/ROOT/pages/policies-pdk-publish-policies.adoc +++ /dev/null @@ -1,89 +0,0 @@ -= Uploading Custom Policies to Exchange -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -During the custom policy development cycle, you can upload your policy to Exchange to create a new Exchange asset to manage the policy's version and to distribute it to other users. For more information about Exchange, see xref:exchange::index.adoc[]. - -For custom policies running in Local Mode, it is not required to publish your policy to Exchange. However, Exchange is a useful version control tool. It is your responsibility to distribute custom policies for Local Mode use. - -When uploading your policy to Exchange, you can choose to either: - -* <> + -Publish a policy if the policy version is still in development. This enables you to test and edit the policy version. -* <> + -Release the policy to create a definitive version of the policy. After releasing the policy, you must create a new policy version to edit the policy. - -Every time you publish or release a policy, you create a new `stable` asset in Exchange. For more information about `stable` state assets, see xref:exchange::lifecycle.adoc#stablet-state[Stable State Assets]. - -After you upload your policy to Exchange, see xref:policies-pdk-apply-policies.adoc[]. - -== Before You Begin - -* Ensure that the Connected App you used to authenticate to the xref:policies-pdk-prerequisites.adoc#cli[Anypoint Platform CLI] has the `Exchange Contributor` scope applied. -* xref:policies-pdk-compile-policies.adoc[Compile your Policy]. - -[[publish]] -== Publish a Custom Policy - -To publish a custom policy, run the `make publish` command from the policy's root folder: - -[source,ssh] ----- -make publish ----- - -After publishing the asset, a new asset labeled `DEV` appears in Exchange: - -image:pdk-dev-asset.png["Policy appears in Exchange labeled DEV."] - -The asset's group ID, asset ID, and asset version (GAV) appear, similar to the following: - -* *groupID*: `` -* *assetID*: `my-custom-policy-dev` -+ -When publishing a policy, `-dev` appears appended to the *assetID*. -* *version*: `1.0.0-20230618115723` -+ -When publishing a policy, a timestamp appears appended to the *version*. - -Rerunning the publish command creates a new version of the policy asset with an updated timestamp. Previously published policy versions are still available. - - -[[release]] -== Release a Custom Policy - -To release a custom policy, run the `make release` command from the policy's root folder: - -[source,ssh] ----- -make release ----- - -Released policies are not labeled `DEV`. The asset's GAV appears similar to the following: - -* *groupID*: `` -* *assetID*: `my-custom-policy` -+ -Released policies do not have `-dev` appended to their *assetID*. -* *version*: `1.0.0` -+ -Released policies do not have a timestamp appended to their *assetID*. - -After releasing the asset, rerunning the `make release` command results in a conflict error. - -To begin working on the next version of your policy, update the version number in the `Cargo.toml` file. - -For example, if the latest version is `1.0.0`, update the `Cargo.toml` file as follows to begin working on a minor release: - -[source,toml] ----- -name = "my-custom-policy" -version = "1.1.0" ----- - -== See Also - -* xref:policies-pdk-apply-policies.adoc[] -* xref:policies-pdk-troubleshooting.adoc[] diff --git a/pdk/1.0/modules/ROOT/pages/policies-pdk-release-notes.adoc b/pdk/1.0/modules/ROOT/pages/policies-pdk-release-notes.adoc deleted file mode 100644 index e0a90dfa4..000000000 --- a/pdk/1.0/modules/ROOT/pages/policies-pdk-release-notes.adoc +++ /dev/null @@ -1 +0,0 @@ -include::release-notes::partial$pdk/pdk-rn-landing-page.adoc[tags=rn-landing-page-intro;rn-landing-page-relative-overview-link] \ No newline at end of file diff --git a/pdk/1.0/modules/ROOT/pages/policies-pdk-troubleshooting.adoc b/pdk/1.0/modules/ROOT/pages/policies-pdk-troubleshooting.adoc deleted file mode 100644 index 3cfbfc5b1..000000000 --- a/pdk/1.0/modules/ROOT/pages/policies-pdk-troubleshooting.adoc +++ /dev/null @@ -1,120 +0,0 @@ -= PDK Troubleshooting -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -When using Flex Gateway Policy Development Kit (PDK), you might encounter issues with PDK itself. See the following sections to help you resolve these issues: - -* <> -* <> -* <> -* <> - -To debug issues with your custom policy, see: - -* xref:policies-pdk-debug-local.adoc[] -* xref:policies-pdk-debug-deployed-policies.adoc[] - -[[cargo-generate]] -== Cargo-Generate Error on a Mac Device - -When compiling Rust on a Mac Device for the first time, the following error might occur: - -[source,ssh] ----- -$ cargo install cargo-generate -error: linking with `cc` failed: exit status: 1 -[...] ----- - -To troubleshoot this error: - -. Ensure Xcode is installed, then compile again. -+ -To install Xcode, execute the following command: -+ -[source,ssh] ----- -xcode-select --install ----- - -. If Xcode is installed and PDK still does not compile, create or edit the `~/.cargo/config.toml` file by adding the following: -+ -[source,toml] ----- -[target.x86_64-apple-darwin] -rustflags = [ - "-C", "link-arg=-undefined", - "-C", "link-arg=dynamic_lookup", -] -[target.aarch64-apple-darwin] -rustflags = [ - "-C", "link-arg=-undefined", - "-C", "link-arg=dynamic_lookup", -] ----- - -[[cli-credential]] -== Anypoint CLI Credentials Error - -Anypoint CLI requires multi-factor authentication (MFA) with a Connected App. Using any PDK command without Connected App credentials results in an error similar to the following: - -[source,ssh] ----- -Error: Failed to launch the browser process! undefined -[...]:ERROR:ozone_platform_x11.cc(239)] Missing X server or $DISPLAY -[21921:21921:1103/113335.217708:ERROR:env.cc(255)] The platform failed to initialize. Exiting. -TROUBLESHOOTING: https://pptr.dev/troubleshooting ----- - -To configure Anypoint CLI with MFA authentication using a Connected App, refer to xref:4.x@anypoint-cli::auth.adoc[]. - -[[group-id-error]] -== Group ID Error When Creating the Policy Project - -Anypoint CLI uses the `ANYPOINT_ORG` environment variable. This variable can use either the organization name or the organization ID as the value. If the variable is set to the organization name, the xref:policies-pdk-create-project.adoc[policy creation command] fails to infer the group ID of the organization. - -Use the organization ID for the value of `ANYPOINT_ORG`. However, if you cannot change the variable, use one of the following methods to provide the group ID: - -* If you run the create command and receive the following prompt: -+ -[source,ssh] ----- -Please provide a valid group-id (the id of the organization that will own the asset): ----- -+ -Enter your group ID, then press Enter. - -* Use the `--group-id` flag when creating the PDK project, for example: -+ -[source,ssh] ----- -anypoint-cli-v4 pdk policy-project create -n --group-id ----- - -[[authorization-error]] -== 401 Authorization Error When Running Make Setup - -When executing `make setup', the following error might occur: - -[source,ssh] ----- -$ make setup - Login token for `anypoint` saved -[...] - -Caused by: - failed to get successful HTTP response from `https://anypoint.mulesoft.com/crates[...]/download` [...], got 401 - body: -make: *** [install-cargo-anypoint] Error 101 ----- - -This error occurs when your version of Rust is not {rust-ver-var} or later. - -To solve this error, refer to xref:policies-pdk-prerequisites.adoc#rust-requirements[Rust Requirements for Using PDK] to ensure your Rust software meets the required version. - -== See Also - -* xref:policies-pdk-architecture.adoc[] -* xref:policies-pdk-prerequisites.adoc[] \ No newline at end of file diff --git a/pdk/1.1/antora.yml b/pdk/1.1/antora.yml deleted file mode 100644 index d00d59e6b..000000000 --- a/pdk/1.1/antora.yml +++ /dev/null @@ -1,13 +0,0 @@ -name: pdk -title: 'Flex Gateway Policy Development Kit (PDK)' -version: '1.1' -display_version: '1.1' -start_page: policies-pdk-overview.adoc -asciidoc: - attributes: - rust-ver-var: 'v1.74.0' - rust-ver-max-var: 'v1.83.0' - rust-ver-max-inline-var: '1.83.0' - template-policies-url-ver-var: '1.1.0' -nav: -- modules/ROOT/nav.adoc diff --git a/pdk/1.1/modules/ROOT/_attributes.adoc b/pdk/1.1/modules/ROOT/_attributes.adoc deleted file mode 100644 index cb0860e63..000000000 --- a/pdk/1.1/modules/ROOT/_attributes.adoc +++ /dev/null @@ -1,4 +0,0 @@ -:attachmentsdir: {moduledir}/assets/attachments -:partialsdir: {moduledir}/pages/_partials -:imagesdir: {moduledir}/assets/images -:examplesdir: {moduledir}/examples \ No newline at end of file diff --git a/pdk/1.1/modules/ROOT/assets/image-source-files/more-options-menu.graffle b/pdk/1.1/modules/ROOT/assets/image-source-files/more-options-menu.graffle deleted file mode 100644 index 716f3ed5e..000000000 Binary files a/pdk/1.1/modules/ROOT/assets/image-source-files/more-options-menu.graffle and /dev/null differ diff --git a/pdk/1.1/modules/ROOT/assets/image-source-files/pdk-dev-asset.graffle b/pdk/1.1/modules/ROOT/assets/image-source-files/pdk-dev-asset.graffle deleted file mode 100644 index a83053748..000000000 Binary files a/pdk/1.1/modules/ROOT/assets/image-source-files/pdk-dev-asset.graffle and /dev/null differ diff --git a/pdk/1.1/modules/ROOT/assets/image-source-files/sensitive-data.graffle b/pdk/1.1/modules/ROOT/assets/image-source-files/sensitive-data.graffle deleted file mode 100644 index c5ba22adf..000000000 --- a/pdk/1.1/modules/ROOT/assets/image-source-files/sensitive-data.graffle +++ /dev/null @@ -1,4207 +0,0 @@ - - - - - !Preview - - data - - /9j/4AAQSkZJRgABAQAASABIAAD/4QBARXhpZgAATU0AKgAAAAgAAYdpAAQA - AAABAAAAGgAAAAAAAqACAAQAAAABAAAIAKADAAQAAAABAAAEMgAAAAD/4g/Q - SUNDX1BST0ZJTEUAAQEAAA/AYXBwbAIQAABtbnRyUkdCIFhZWiAH6AABAAMA - CQAYACBhY3NwQVBQTAAAAABBUFBMAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAA - AADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAABFkZXNjAAABUAAAAGJkc2NtAAABtAAABJxjcHJ0AAAGUAAA - ACN3dHB0AAAGdAAAABRyWFlaAAAGiAAAABRnWFlaAAAGnAAAABRiWFlaAAAG - sAAAABRyVFJDAAAGxAAACAxhYXJnAAAO0AAAACB2Y2d0AAAO8AAAADBuZGlu - AAAPIAAAAD5tbW9kAAAPYAAAACh2Y2dwAAAPiAAAADhiVFJDAAAGxAAACAxn - VFJDAAAGxAAACAxhYWJnAAAO0AAAACBhYWdnAAAO0AAAACBkZXNjAAAAAAAA - AAhEaXNwbGF5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - bWx1YwAAAAAAAAAmAAAADGhySFIAAAAUAAAB2GtvS1IAAAAMAAAB7G5iTk8A - AAASAAAB+GlkAAAAAAASAAACCmh1SFUAAAAUAAACHGNzQ1oAAAAWAAACMGRh - REsAAAAcAAACRm5sTkwAAAAWAAACYmZpRkkAAAAQAAACeGl0SVQAAAAYAAAC - iGVzRVMAAAAWAAACoHJvUk8AAAASAAACtmZyQ0EAAAAWAAACyGFyAAAAAAAU - AAAC3nVrVUEAAAAcAAAC8mhlSUwAAAAWAAADDnpoVFcAAAAKAAADJHZpVk4A - AAAOAAADLnNrU0sAAAAWAAADPHpoQ04AAAAKAAADJHJ1UlUAAAAkAAADUmVu - R0IAAAAUAAADdmZyRlIAAAAWAAADim1zAAAAAAASAAADoGhpSU4AAAASAAAD - snRoVEgAAAAMAAADxGNhRVMAAAAYAAAD0GVuQVUAAAAUAAADdmVzWEwAAAAS - AAACtmRlREUAAAAQAAAD6GVuVVMAAAASAAAD+HB0QlIAAAAYAAAECnBsUEwA - AAASAAAEImVsR1IAAAAiAAAENHN2U0UAAAAQAAAEVnRyVFIAAAAUAAAEZnB0 - UFQAAAAWAAAEemphSlAAAAAMAAAEkABMAEMARAAgAHUAIABiAG8AagBpzuy3 - 7AAgAEwAQwBEAEYAYQByAGcAZQAtAEwAQwBEAEwAQwBEACAAVwBhAHIAbgBh - AFMAegDtAG4AZQBzACAATABDAEQAQgBhAHIAZQB2AG4A/QAgAEwAQwBEAEwA - QwBEAC0AZgBhAHIAdgBlAHMAawDmAHIAbQBLAGwAZQB1AHIAZQBuAC0ATABD - AEQAVgDkAHIAaQAtAEwAQwBEAEwAQwBEACAAYQAgAGMAbwBsAG8AcgBpAEwA - QwBEACAAYQAgAGMAbwBsAG8AcgBMAEMARAAgAGMAbwBsAG8AcgBBAEMATAAg - AGMAbwB1AGwAZQB1AHIgDwBMAEMARAAgBkUGRAZIBkYGKQQaBD4EOwRMBD4E - QAQ+BDIEOAQ5ACAATABDAEQgDwBMAEMARAAgBeYF0QXiBdUF4AXZX2mCcgBM - AEMARABMAEMARAAgAE0A4AB1AEYAYQByAGUAYgBuAP0AIABMAEMARAQmBDIE - NQRCBD0EPgQ5ACAEFgQaAC0ENAQ4BEEEPwQ7BDUEOQBDAG8AbABvAHUAcgAg - AEwAQwBEAEwAQwBEACAAYwBvAHUAbABlAHUAcgBXAGEAcgBuAGEAIABMAEMA - RAkwCQIJFwlACSgAIABMAEMARABMAEMARAAgDioONQBMAEMARAAgAGUAbgAg - AGMAbwBsAG8AcgBGAGEAcgBiAC0ATABDAEQAQwBvAGwAbwByACAATABDAEQA - TABDAEQAIABDAG8AbABvAHIAaQBkAG8ASwBvAGwAbwByACAATABDAEQDiAOz - A8cDwQPJA7wDtwAgA78DuAPMA70DtwAgAEwAQwBEAEYA5AByAGcALQBMAEMA - RABSAGUAbgBrAGwAaQAgAEwAQwBEAEwAQwBEACAAYQAgAGMAbwByAGUAczCr - MOkw/ABMAEMARHRleHQAAAAAQ29weXJpZ2h0IEFwcGxlIEluYy4sIDIwMjQA - AFhZWiAAAAAAAADzUQABAAAAARbMWFlaIAAAAAAAAIPfAAA9v////7tYWVog - AAAAAAAASr8AALE3AAAKuVhZWiAAAAAAAAAoOAAAEQsAAMi5Y3VydgAAAAAA - AAQAAAAABQAKAA8AFAAZAB4AIwAoAC0AMgA2ADsAQABFAEoATwBUAFkAXgBj - AGgAbQByAHcAfACBAIYAiwCQAJUAmgCfAKMAqACtALIAtwC8AMEAxgDLANAA - 1QDbAOAA5QDrAPAA9gD7AQEBBwENARMBGQEfASUBKwEyATgBPgFFAUwBUgFZ - AWABZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJAdEB2QHhAekB8gH6AgMC - DAIUAh0CJgIvAjgCQQJLAlQCXQJnAnECegKEAo4CmAKiAqwCtgLBAssC1QLg - AusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOKA5YDogOuA7oDxwPTA+AD - 7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTwBP4FDQUc - BSsFOgVJBVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZqBnsG - jAadBq8GwAbRBuMG9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgf - CDIIRghaCG4IggiWCKoIvgjSCOcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ - +woRCicKPQpUCmoKgQqYCq4KxQrcCvMLCwsiCzkLUQtpC4ALmAuwC8gL4Qv5 - DBIMKgxDDFwMdQyODKcMwAzZDPMNDQ0mDUANWg10DY4NqQ3DDd4N+A4TDi4O - SQ5kDn8Omw62DtIO7g8JDyUPQQ9eD3oPlg+zD88P7BAJECYQQxBhEH4QmxC5 - ENcQ9RETETERTxFtEYwRqhHJEegSBxImEkUSZBKEEqMSwxLjEwMTIxNDE2MT - gxOkE8UT5RQGFCcUSRRqFIsUrRTOFPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZs - Fo8WshbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiKGK8Y1Rj6GSAZRRlrGZEZ - txndGgQaKhpRGncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyjHMwc9R0e - HUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg - 8CEcIUghdSGhIc4h+yInIlUigiKvIt0jCiM4I2YjlCPCI/AkHyRNJHwkqyTa - JQklOCVoJZclxyX3JicmVyaHJrcm6CcYJ0kneierJ9woDSg/KHEooijUKQYp - OClrKZ0p0CoCKjUqaCqbKs8rAis2K2krnSvRLAUsOSxuLKIs1y0MLUEtdi2r - LeEuFi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDbMRIxSjGCMbox8jIqMmMy - mzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbpNyQ3YDec - N9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zstO2s7qjvoPCc8ZTykPOM9 - Ij1hPaE94D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBCckK1 - QvdDOkN9Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI - 10kdSWNJqUnwSjdKfUrESwxLU0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08A - T0lPk0/dUCdQcVC7UQZRUFGbUeZSMVJ8UsdTE1NfU6pT9lRCVI9U21UoVXVV - wlYPVlxWqVb3V0RXklfgWC9YfVjLWRpZaVm4WgdaVlqmWvVbRVuVW+VcNVyG - XNZdJ114XcleGl5sXr1fD19hX7NgBWBXYKpg/GFPYaJh9WJJYpxi8GNDY5dj - 62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg/aJZo7GlDaZpp8WpIap9q92tP - a6dr/2xXbK9tCG1gbbluEm5rbsRvHm94b9FwK3CGcOBxOnGVcfByS3KmcwFz - XXO4dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gReG54zHkqeYl553pGeqV7BHtj - e8J8IXyBfOF9QX2hfgF+Yn7CfyN/hH/lgEeAqIEKgWuBzYIwgpKC9INXg7qE - HYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmIzokziZmJ/opkisqLMIuWi/yMY4zK - jTGNmI3/jmaOzo82j56QBpBukNaRP5GokhGSepLjk02TtpQglIqU9JVflcmW - NJaflwqXdZfgmEyYuJkkmZCZ/JpomtWbQpuvnByciZz3nWSd0p5Anq6fHZ+L - n/qgaaDYoUehtqImopajBqN2o+akVqTHpTilqaYapoum/adup+CoUqjEqTep - qaocqo+rAqt1q+msXKzQrUStuK4trqGvFq+LsACwdbDqsWCx1rJLssKzOLOu - tCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1uy67p7whvJu9Fb2Pvgq+ - hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/yD3IvMk6 - ybnKOMq3yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHTRNPG1EnU - y9VO1dHWVdbY11zX4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A2 - 4L3hROHM4lPi2+Nj4+vkc+T85YTmDeaW5x/nqegy6LzpRunQ6lvq5etw6/vs - hu0R7ZzuKO6070DvzPBY8OXxcvH/8ozzGfOn9DT0wvVQ9d72bfb794r4Gfio - +Tj5x/pX+uf7d/wH/Jj9Kf26/kv+3P9t//9wYXJhAAAAAAADAAAAAmZmAADy - pwAADVkAABPQAAAKW3ZjZ3QAAAAAAAAAAQABAAAAAAAAAAEAAAABAAAAAAAA - AAEAAAABAAAAAAAAAAEAAG5kaW4AAAAAAAAANgAArhQAAFHsAABD1wAAsKQA - ACZmAAAPXAAAUA0AAFQ5AAIzMwACMzMAAjMzAAAAAAAAAABtbW9kAAAAAAAA - BhAAAKBO/WJtYgAAAAAAAAAAAAAAAAAAAAAAAAAAdmNncAAAAAAAAwAAAAJm - ZgADAAAAAmZmAAMAAAACZmYAAAACMzM0AAAAAAIzMzQAAAAAAjMzNAD/wAAR - CAQyCAADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcI - CQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKB - kaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpT - VFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm - p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP0 - 9fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREA - AgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMz - UvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpj - ZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0 - tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9sA - QwACAgICAgIDAgIDBQMDAwUGBQUFBQYIBgYGBgYICggICAgICAoKCgoKCgoK - DAwMDAwMDg4ODg4PDw8PDw8PDw8P/9sAQwECAgIEBAQHBAQHEAsJCxAQEBAQ - EBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ - /90ABACA/9oADAMBAAIRAxEAPwD9/KKKKACiiigAooooAKKTIoyKAFopNwpN - xoAdRTN9G+gB9FM30b6AH0UzfRvoAfRTN9G+gB9FM30b6AH0UzfRvoAfRTN9 - G+gB9FM30b6AH0UzfRvoAfRTN9G+gB9FM30b6AH0UzfRvoAfRTN9G+gB9FM3 - 0b6AH0UzfRvoAfRTN9G+gB9FM30b6AH0UzfRvoAfRTN9G+gB9FM30b6AH0Uz - fRvoAfRTN9G+gB9FM30b6AH0UzfRvoAfRTN9G+gB9FM30b6AH0UzfRvoAfRT - N9G+gB9FM30b6AH0UzfRvoAfRTN9G+gB9FM30b6AH0UzfRvoAfRTN9G+gB9F - M30b6AH0UzfRvoAfRTN9G+gB9FM30b6AH0UzfRvoAfRTN9G+gB9FM30b6AH0 - UzfRvoAfRTN9G+gB9FM30b6AH0UzfRvoAfRTN9G+gB9FM30b6AH0UzfRvoAf - RTN9G+gB9FM30b6AH0UzfRvoAfRTN9G+gB9FM30b6AH0UzfRvoAfRTN9G+gB - 9FM30b6AH0UzfRvoAfRTN9G+gB9FM30b6AH0UzfRvoAfRTN9G+gB9FM30b6A - H0UzfRvoAfRTN9G+gB9FM30b6AH0UzfRvoAfRTN9G+gB9FM30b6AH0UzfRvo - AfRTN9G+gB9FM30b6AH0UzfRvoAfRTN9G+gB9FM30b6AH0UzfRvoAfRTN9G+ - gB9FM30b6AH0UzfRvoAfRTN9G+gB9FM30b6AH0UzfRvoAfRTN9G+gB9FM30b - 6AH0UzfRvoAfRTN9G+gB9FM30b6AH0UzfRvoAfRTN9G+gB9FM30b6AH0UzfR - voAfRTN9G+gB9FM30b6AH0UzfRvoAfRTN9G+gB9FM30b6AH0UzfRvoAfRTN9 - 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 - faR/k0faR/k0AbPn0efWN9pH+TR9pH+TQBs+fR59Y32kf5NH2kf5NAGz59Hn - 1jfaR/k0faR/k0AbPn0efWN9pH+TR9pH+TQBs+fR59Y32kf5NH2kf5NAGz59 - Hn1jfaR/k0faR/k0AbPn0efWN9pH+TR9pH+TQBs+fR59Y32kf5NH2kf5NAGz - 59Hn1jfaR/k0faR/k0AbPn0efWN9pH+TR9pH+TQBs+fR59Y32kf5NH2kf5NA - Gz59Hn1jfaR/k0faR/k0AbPn0efWN9pH+TR9pH+TQBs+fR59Y32kf5NH2kf5 - NAGz59Hn1jfaR/k0faR/k0AbPn0efWN9pH+TR9pH+TQBs+fR59Y32kf5NH2k - f5NAGz59Hn1jfaR/k0faR/k0AbPn0efWN9pH+TR9pH+TQBs+fR59Y32kf5NH - 2kf5NAGz59Hn1jfaR/k0faR/k0AbPn0efWN9pH+TR9pH+TQBs+fR59Y32kf5 - NH2kf5NAGz59Hn1jfaR/k0faR/k0AbPn0efWN9pH+TR9pH+TQBs+fR59Y32k - f5NH2kf5NAGz59Hn1jfaR/k0faR/k0AbPn0efWN9pH+TR9pH+TQBs+fR59Y3 - 2kf5NH2kf5NAGz59Hn1jfaR/k0faR/k0AbPn0efWN9pH+TR9pH+TQBs+fR59 - Y32kf5NH2kf5NAGz59Hn1jfaR/k0faR/k0AbPn0efWN9pH+TR9pH+TQBs+fR - 59Y32kf5NH2kf5NAGz59Hn1jfaR/k0faR/k0AbPn0efWN9pH+TR9pH+TQBs+ - fR59Y32kf5NH2kf5NAGz59Hn1jfaR/k0faR/k0AbPn0efWN9pH+TR9pH+TQB - s+fR59Y32kf5NH2kf5NAGz59Hn1jfaR/k0faR/k0AbPn0efWN9pH+TR9pH+T - QBs+fR59Y32kf5NH2kf5NAGz59Hn1jfaR/k0faR/k0AbPn0efWN9pH+TR9pH - +TQBs+fR59Y32kf5NH2kf5NAGz59Hn1jfaR/k0faR/k0AbPn0efWN9pH+TR9 - pH+TQBs+fR59Y32kf5NH2kf5NAGz59Hn1jfaR/k0faR/k0AbPn0efWN9pH+T - R9pH+TQBs+fR59Y32kf5NH2kf5NAGz59Hn1jfaR/k0faR/k0AbPn0efWN9pH - +TR9pH+TQBs+fR59Y32kf5NH2kf5NAGz59Hn1jfaR/k0faR/k0AbPn0efWN9 - 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 - +1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q9 - 6AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1r - nftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+ - 1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXv - R9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+ - 1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96 - AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rn - ftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1 - H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR - 9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1 - H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96A - Oi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnf - tXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H - 1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9 - q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H - 1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AO - i+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnft - XvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1 - o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q - 96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1rnftXvR9q96AOi+1H1o+1H1 - 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 - AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA - UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR - RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF - FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU - AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA - UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR - RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF - FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU - AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA - UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR - RRQAUUUUAFFFFAH/1f3akNZkxq/Kw5rLmPBoAzrhsZrGuH/rWlO3JrEuH/rQ - Bm3D8GsG4kwfxrSuX4Nc7cyfN+NAH1bRRRQAUUUUAFFFFABRRRQAUUUUAFFF - FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU - AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA - UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR - RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF - FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU - AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA - UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR - RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF - FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU - AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA - UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAf/W/dOXvWTcHHStOU9ayJzg - UAZNy/WsK4fr+NbFy3JrAuW/rQBi3bnB+lc7cyc/jWxdtwa5q5f5vxoA+xqK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigD//X/c6Y4zWNcHiteU1j3B4oAxLluTXP3Tf1rdujyRXO3R/rQBgXbcGu - Yum+b8a6G7PBrl7pvm/GgD7VooooAKKKKACiiigAor5A/a/+NfiH4KeDtN1z - w/FHLLd39vbMJAxAWUPk/Ky8/L61678CfGuo/ED4caT4n1RVW4vYVdgucZOf - Uk9vWnYD2KiiikAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR - RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF - ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA - FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU - UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR - RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF - ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA - FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU - UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR - RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF - ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB//9D9 - y5e9Ylx0/OtuXvWJc9PzoAwro9a5269frXQ3Vc7ddPzoA5m8PB+lcvdk5/Gu - mvOh+lcvddR9aAPtyiiigAooooAKKKKAPzZ/4KT/APJMtC/7DFl/KWvoD9mD - VbDRvgHoOoalMkEENorMzsFGBuPUkDtXz/8A8FKCF+F+jStwkWrWjt/uqJc1 - 8SQ/tAaj4x8I+F/gh4Qu3sBIkcU9wZDCNokwwyflOVbp3qugup+j8v7XJ8Rf - EdfAPw70uTVfmIe5EJkt1AQPzJGxAyM446ivo34jfFfw78LvCz+IfFVwkBQA - 7NygklgvAZlz94V59+z18BvDHwj8MxGzMd9qEqkyXRRPMcgsBllzng461+cf - 7cnjVda+Leh+EtcuZY9DikuPtCJlww8uJ1/d9D8wpAem3v8AwUG8TXN39p0T - wXqt1p6k/vY9PldMdOqvjrX2J8Bv2n/B/wAaIPssLGx1VFy9tMFikHzFQNhc - tk4rxLwz+0P+y14f8Px6HbWUyxBcMBp2Ae/TPrX5/f8ACY+HdK/av8K+IPhT - 9rttIutRiF1GkDW6PEsJyGC8Eb/WqsB+mXxR/a4T4WfFHTPAOvabIINSnt4F - nWIlB5+cEuWAAAHPFfZulahDq2m2up25DR3UaSqR6OAR/Ovzo/bz8ALrnwys - PiXpcG7UdLdLt2C/P5cMDkfN16mvffgR8ULLV/2dbTxZ52W0rTlSTJ5EkFuj - MPXIqWM4z4k/tg6X4O+NGl/CLSLGTULm8MKyvHH5ixtJOYWBZX4wRzkV9q2s - rz20c0g2s6gkehNfi5+yf4dvPjN+1D4x+JN/Gtxo9hPeRxSv85W4ju45VUZ6 - YVs5zX7VgADAoYBRRRSAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii - igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK - ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA - KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo - oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii - igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK - ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA - KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo - oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii - igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK - ACiiigAooooAKKKKACiiigAooooAKKKKACiiigD/0f3JnrGuen51sz1jXPT8 - 6AMC66n8K5y7/wAa6O66n8K5y7/xoA5e77/SuWu/vfjXU3ff6Vy13978aAPt - +iiigAooooAKKKKAPzT/AOCmEZn+Eum2qsUNxqVtEGHUb1lGR9K+cdK/ZGsN - d/Zq0Hxh4TVk8T2UEVw10gRZZDGzOcljjnAHFfpP+0p+z8n7QXhiy8OvrD6P - 9ju4boSJEJiTEH+XBZeu7rXofwn+HCfDTwFp/gmS8OpLZQiEysgjLgZ5KgnH - X1qr6CsfEn7FX7Quo63Zt8M/iFOYtdsAFAkyWbcHkPzY29MV89/ts+Go/Cvx - o8P+N9atftGivJcefkbkwY40XIXn7xr6z+Mn7ES+PviBZ/ETwL4sl8GanA5a - RoLVbnzchVwfMkAHyqRwO9fTvjD4Q6J8QvBB8H+NT/ae5QDM6lTkMGzhGHoO - 9K4Hh/hD4cfsx+J9Ch1W00mwdCuSSpU+nQmuGsNf/ZS034jad4P0TTLZ9Zkn - VIfLt5TtdlyDuGVHHc14Hf8A/BNXx1Z30kXhL4rXelabKf8AUJp8LhR16vLk - 819afs/fsXeAPgnejxJcN/bfiR1Ak1CRWidtrEr8gkZBgHHAoYH0P8SPC9n4 - s+HOq+HzEGiubOSNUx2ZMAc+1fhx4c+LOqfCP4ffED4K3EzG7ur3VWtEbOcT - Dyo1BX5QPl4zX9AOoahY6ZatcX8oihQck+gr8CviL4d8P/Fn9sOx03wrCLiC - G9gkuSu4DH2tg7HcV9e1OIM/Tj9hv4W2vw5+C1neeQIb7xKyarcnjJluoIi/ - I91r7MrE8N6TDoOgafo1uu2OygjhUeyKF/pW3UjCiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKAP/9L9yZ6xrnp+dbM9Y1z0/OgDAuup/Cucu/8AGujuup/Cucu/8aAOXu+/ - 0rlrv73411N33+lctd/e/GgD7fooooAKKKKACiiigAooooAKKKKACiiigD5p - /aP+Bms/G/w3FoOj+IT4fdZd5lEAnyNjLjaXT1z1rl/2cP2Q/BnwDabW/O/t - jxJdKY5r8q8W5CVbb5ZkdR8wzketfX1FABRRRQAUUUUAFFFFABRRRQAUUUUA - FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU - UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR - RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF - ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA - FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU - UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR - RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF - ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA - FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU - UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR - RQB//9P9yZ6xrnp+dbM9Y1z0/OgDAuup/Cucu/8AGujuup/Cucu/8aAOXu+/ - 0rlrv73411N33+lctd/e/GgD7fooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKAP//U/cmesa56fnWzPWNc9PzoAwLr - qfwrnLv/ABro7rqfwrnLv/GgDl7vv9K5a7+9+NdTd9/pXLXf3vxoA+36KKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gD//1f3JnrGuen51sz1jXPT86AMC66n8K5y7/wAa6O66n8K5y7/xoA5e77/S - uWu/vfjXU3ff6Vy13978aAPt+iiigAooooAKKKKACio5ZY4IzLKwVVGSTXn+ - rfFTwVo0xgvb8K68Hapb+QNAHolFeR/8Lv8Ah5/0ED/37f8Awo/4Xf8ADz/o - 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 - AIZ++E3/AEAk/wC/kv8A8XXs9FAHjH/DP3wm/wCgEn/fyX/4uj/hn74Tf9AJ - P+/kv/xdez0UAeMf8M/fCb/oBJ/38l/+Lo/4Z++E3/QCT/v5L/8AF17PRQB4 - x/wz98Jv+gEn/fyX/wCLo/4Z++E3/QCT/v5L/wDF17PRQB4x/wAM/fCb/oBJ - /wB/Jf8A4uj/AIZ++E3/AEAk/wC/kv8A8XXs9FAHjH/DP3wm/wCgEn/fyX/4 - uj/hn74Tf9AJP+/kv/xdez0UAeMf8M/fCb/oBJ/38l/+Lo/4Z++E3/QCT/v5 - L/8AF17PRQB4x/wz98Jv+gEn/fyX/wCLo/4Z++E3/QCT/v5L/wDF17PRQB4x - /wAM/fCb/oBJ/wB/Jf8A4uj/AIZ++E3/AEAk/wC/kv8A8XXs9FAHjH/DP3wm - /wCgEn/fyX/4uj/hn74Tf9AJP+/kv/xdez0UAeMf8M/fCb/oBJ/38l/+Lo/4 - Z++E3/QCT/v5L/8AF17PRQB4x/wz98Jv+gEn/fyX/wCLo/4Z++E3/QCT/v5L - /wDF17PRQB4x/wAM/fCb/oBJ/wB/Jf8A4uj/AIZ++E3/AEAk/wC/kv8A8XXs - 9FAHjH/DP3wm/wCgEn/fyX/4uj/hn74Tf9AJP+/kv/xdez0UAeMf8M/fCb/o - BJ/38l/+Lo/4Z++E3/QCT/v5L/8AF17PRQB//9f9yZ6xrnp+dbM9Y1z0/OgD - Auup/Cucu/8AGujuup/Cucu/8aAOXu+/0rlrv73411N33+lctd/e/GgD7foo - ooAKKKKACiiigD478O/8nH6j/wBe9x/6OWvsSvjvw7/ycfqP/Xvcf+jlr7Eo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/0P3JnrGuen51 - sz1jXPT86AMC66n8K5y7/wAa6O66n8K5y7/xoA5e77/SuWu/vfjXU3ff6Vy1 - 3978aAPt+iiigAooooAKKKKAPjvw7/ycfqP/AF73H/o5a+xK+O/Dv/Jx+o/9 - e9x/6OWvsSgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//R - /cmesa56fnWzPWNc9PzoAwLrqfwrnLv/ABro7rqfwrnLv/GgDl7vv9K5a7+9 - +NdTd9/pXLXf3vxoA+36KKKACiiigAooooA+O/Dv/Jx+o/8AXvcf+jlr7Er4 - 78O/8nH6j/173H/o5a+xKACiiigAooqOWVIY2lkOFUZJoAkor8wPi1/wU6+F - nws+IUngO6t5LiSBkEkiwuwAYkHlTjjFfoL8N/Huj/Evwfp3jHQ23Wuowxyr - kYI8xFfGPo1AHdUV5F8aPjD4c+Cvg258YeJHIghD4AGSzLGz4wCDyFNfHXwA - /wCCj3wy+OfjOTwdZwvZzhGdC0TqGAZVHLHHJagD9IqKOtfAn7Tn7e/w9/Zu - 8RQeGNYie7vZN29Vjd9u3Yf4T6PQB990V4B+zx+0F4U/aH8EQeM/C+5Y5M7k - ZShXDunQkn+A16V8QvHmhfDXwnf+MfEcvk2GnqGkb0DMFHp3IoA7Wivy7+E3 - /BUH4UfFH4hW3gW3gktmu5hDHI0Mi7myehY47V+n8E0dzBHcRHKSqGX6MMig - CWivin9qL9tn4efsyi2ttf3XN9cOgEKIzkK4fDYU5xlMdK779mz9pvwb+0j4 - XbxB4Y3I0blHjKFdpVEc/eJPG8UAfTFFZusara6Jplzqt622G2jaRj7KCT/K - vy6v/wDgqn8I7L4k3HgLyJGSCcwGfyZME4GMHO05zQB+q9FZejataa7pkGq2 - LboLgblPTjOK+bv2mf2pvB37NWgRax4kVpZJ87I1RnztZFP3Tn+MUAfUtFfF - /wCy7+2h4D/ab+12/h5Ht7u02lo2jZPvlwPvHP8ABX2bJIsSGR+FXrQA+ivz - H+LX/BTT4XfCz4hyeA7u3kne3lMUsghdtpV2RuVOOCtff3w48f6J8S/CVh4u - 0F99rfRRyDIwRvQPjH0YUAd1RXg/7Q3x88Kfs7+A5PHPitz5AkEKIAWLSMjs - owCDzsNfNH7NP/BQv4bftFeLW8HabE9lfFHeMPG6BlRQTy596AP0PooooAKK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigD//S/cmesa56fnWzPWNc9PzoAwLrqfwr - nLv/ABro7rqfwrnLv/GgDl7vv9K5a7+9+NdTd9/pXLXf3vxoA+36KKKACiii - gAooooA+O/Dv/Jx+o/8AXvcf+jlr7Er478O/8nH6j/173H/o5a+xKACiiigA - qteWy3dtJbOcCQYNWaKAP54f2lv+CZPxb8afF6bxF4JcXWl6pMgnkZoYzDGx - YuwV5Mttz071+2X7Pfwwl+EPwr0TwRcTGeeyt4VkYgD50iRG6EjqvrXtlFAH - yt+118Bbn4//AAtuvCdhcm3vI98sOADucQyIq/MygZL9c1+WH7Gv/BOH4r/D - v4pz+LPiKw06zsQ8VuEeGbzlV43VjskJXO08V+/FFACAADbX4mf8FBP2DPiZ - 8bPH0Xj/AOGSC9nuGPnwu8UQUERJndI4zhVJ6V+2lFAHxP8AsQ/s26p+zp8M - otA125M+oTD94uFAQiWVhyrMDw9e3/tBfCiD41/CjXPhzczGBNWjRCwGcbJF - k6ZX+7617TRQB/Oj+z7/AMEv/i94U+N+k+JvFkosdF0S6W5jlVoZDL94FSqy - 7lwCDmv6JLC2+xWNvZg7vIjSPPrtAFWqKAPyM/4KDfsLeKf2gdRt/G3gOTzd - YgWOHySUQFEEjfekkUfeYDpXsX/BP79lLxF+zZ4DmtvFdxu1O/me4li+QiMy - xRBlDI7A4KHmv0RooA5vxfoKeJ/DWo6C7bBewSRZxn76Ffb1r+dzxB/wSt+L - c3xpe501gfC8tyZjdb4QyBMFR5Zl3HJH4V/SPRQBzPg7QP8AhF/DVjoQfzPs - iFd2MZySff1r4D/4KC/soeK/2jfClm/gyfOpadv2QHYok8x4s5d3UDAQmv0i - ooA/Jb/gnb+xX42/Z+N74o+IeLbVrzapt1aOQKI2kCnfG7DlWB6V+sdxD58D - wk43jFTUUAfzv/tIf8E1fjL42+PUniLwki3nh/Wbsy3Vw0kMbQJNM7uQjSBm - 2gj0zX7bfAH4WL8HvhrpfgzzjO9rFEHYjHzrGqHoW/u+te1UUAfD37eX7Mup - /tN/CD/hFdAuza6nY3Ud7DgKfNMMcgEZLMoAYuOe1fB/7B//AATw+JXwl+KH - /Cx/ie4sDp8csEFsjRTCUSqPnLRyErgjGMV+6NFABRRRQAUUUUAFFFFABRRR - QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA - BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF - FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU - UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR - QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA - BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF - FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU - UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR - QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA - BRRRQAUUUUAFFFFAH//T/cmesa56fnWzPWNc9PzoAwLrqfwrnLv/ABro7rqf - wrnLv/GgDl7vv9K5a7+9+NdTd9/pXLXf3vxoA+36KKKACiiigAooooA+O/Dv - /Jx+o/8AXvcf+jlr7Er478O/8nH6j/173H/o5a+xKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigD/9T9yZ6xrnp+dbM9Y1z0/OgDAuup/Cuc - u/8AGujuup/Cucu/8aAOXu+/0rlrv73411N33+lctd/e/GgD7fooooAKKKKA - CiiigD478O/8nH6j/wBe9x/6OWvsSvjvw7/ycfqP/Xvcf+jlr7EoAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/1f3JnrGuen51sz1jXPT8 - 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 - fZmRRkV8Z/8ACH/tSf8AQUsP/Auf/wCJo/4Q/wDak/6Clh/4Fz//ABNAH2Zk - UZFfGf8Awh/7Un/QUsP/AALn/wDiaP8AhD/2pP8AoKWH/gXP/wDE0AfZmRRk - V8Z/8If+1J/0FLD/AMC5/wD4mj/hD/2pP+gpYf8AgXP/APE0AfZmRRkV8Z/8 - If8AtSf9BSw/8C5//iaP+EP/AGpP+gpYf+Bc/wD8TQB9mZFGRXxn/wAIf+1J - /wBBSw/8C5//AImj/hD/ANqT/oKWH/gXP/8AE0AfZmRRkV8Z/wDCH/tSf9BS - w/8AAuf/AOJo/wCEP/ak/wCgpYf+Bc//AMTQB9mZFGRXxn/wh/7Un/QUsP8A - wLn/APiaP+EP/ak/6Clh/wCBc/8A8TQB9mZFGRXxn/wh/wC1J/0FLD/wLn/+ - Jo/4Q/8Aak/6Clh/4Fz/APxNAH2ZkUZFfGf/AAh/7Un/AEFLD/wLn/8AiaP+ - EP8A2pP+gpYf+Bc//wATQB9mZFGRXxn/AMIf+1J/0FLD/wAC5/8A4mj/AIQ/ - 9qT/AKClh/4Fz/8AxNAH2ZkUZFfGf/CH/tSf9BSw/wDAuf8A+Jo/4Q/9qT/o - KWH/AIFz/wDxNAH2ZkUZFfGf/CH/ALUn/QUsP/Auf/4mj/hD/wBqT/oKWH/g - XP8A/E0AfZmRRkV8Z/8ACH/tSf8AQUsP/Auf/wCJo/4Q/wDak/6Clh/4Fz// - ABNAH2ZkUZFfGf8Awh/7Un/QUsP/AALn/wDiaP8AhD/2pP8AoKWH/gXP/wDE - 0AfZmRRkV8Z/8If+1J/0FLD/AMC5/wD4mj/hD/2pP+gpYf8AgXP/APE0AfZm - RRkV8Z/8If8AtSf9BSw/8C5//iaP+EP/AGpP+gpYf+Bc/wD8TQB9mZFGRXxn - /wAIf+1J/wBBSw/8C5//AImj/hD/ANqT/oKWH/gXP/8AE0Af/9b9yZ6xrnp+ - dbM9Y1z0/OgDAuup/Cucu/8AGujuup/Cucu/8aAOXu+/0rlrv73411N33+lc - td/e/GgD7fooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKAP//X/cmesa56fnWzPWNc9PzoAwLrqfwrnLv/ABro7rqf - wrnLv/GgDl7vv9K5a7+9+NdTd9/pXLXf3vxoA+36KKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD//0P3JnrGuen51 - sz1jXPT86AMC66n8K5y7/wAa6O66n8K5y7/xoA5e77/SuWu/vfjXU3ff6Vy1 - 3978aAPt+iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooA//9H9yZ6xrnp+dbM9Y1z0/OgDAuup/Cucu/8AGujuup/C - ucu/8aAOXu+/0rlrv73411N33+lctd/e/GgD7fooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP//S/cmesa56fnWz - PWNc9PzoAwLrqfwrnLv/ABro7rqfwrnLv/GgDl7vv9K5a7+9+NdTd9/pXLXf - 3vxoA+36KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigD//0/3JnrGuen51sz1jXPT86AMC66n8K5y7/wAa6O66n8K5 - y7/xoA5e77/SuWu/vfjXU3ff6Vy13978aAPt+iiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//9T9yZ6xrnp+dbM9 - Y1z0/OgDAuup/Cucu/8AGujuup/Cucu/8aAOXu+/0rlrv73411N33+lctd/e - /GgD7fooooAKKKKACiiigDznXbrxxHfsukQ77fnB+T19+axvt3xL/wCff9I6 - 9fowKAPIPt3xL/59/wBI6Pt3xL/59/0jr1/AowKAPIPt3xL/AOff9I6Pt3xL - /wCff9I69fwKMCgDyD7d8S/+ff8ASOj7d8S/+ff9I69fwKMCgDyD7d8S/wDn - 3/SOj7d8S/8An3/SOvX8CjAoA8g+3fEv/n3/AEjo+3fEv/n3/SOvX8CjAoA8 - g+3fEv8A59/0jo+3fEv/AJ9/0jr1/AowKAPIPt3xL/59/wBI6Pt3xL/59/0j - r1/AowKAPIPt3xL/AOff9I6Pt3xL/wCff9I69fwKMCgDyD7d8S/+ff8ASOj7 - d8S/+ff9I69fwKMCgDyD7d8S/wDn3/SOj7d8S/8An3/SOvX8CjAoA8g+3fEv - /n3/AEjo+3fEv/n3/SOvX8CjAoA8g+3fEv8A59/0jo+3fEv/AJ9/0jr1/Aow - KAPIPt3xL/59/wBI6Pt3xL/59/0jr1/AowKAPIPt3xL/AOff9I6Pt3xL/wCf - f9I69fwKMCgDyD7d8S/+ff8ASOj7d8S/+ff9I69fwKMCgDyD7d8S/wDn3/SO - j7d8S/8An3/SOvX8CjAoA8g+3fEv/n3/AEjo+3fEv/n3/SOvX8CjAoA8g+3f - Ev8A59/0jo+3fEv/AJ9/0jr1/AowKAPIPt3xL/59/wBI6Pt3xL/59/0jr1/A - owKAPIPt3xL/AOff9I6Pt3xL/wCff9I69fwKMCgDyD7d8S/+ff8ASOj7d8S/ - +ff9I69fwKMCgDyD7d8S/wDn3/SOj7d8S/8An3/SOvX8CjAoA8g+3fEv/n3/ - AEjo+3fEv/n3/SOvX8CjAoA8g+3fEv8A59/0jo+3fEv/AJ9/0jr1/AowKAPI - Pt3xL/59/wBI6Pt3xL/59/0jr1/AowKAPIPt3xL/AOff9I6Pt3xL/wCff9I6 - 9fwKMCgDyD7d8S/+ff8ASOj7d8S/+ff9I69fwKMCgDyD7d8S/wDn3/SOj7d8 - S/8An3/SOvX8CjAoA8g+3fEv/n3/AEjo+3fEv/n3/SOvX8CjAoA8g+3fEv8A - 59/0jo+3fEv/AJ9/0jr1/AowKAPIPt3xL/59/wBI6Pt3xL/59/0jr1/AowKA - PIPt3xL/AOff9I6Pt3xL/wCff9I69fwKMCgDyD7d8S/+ff8ASOj7d8S/+ff9 - I69fwKMCgDyD7d8S/wDn3/SOj7d8S/8An3/SOvX8CjAoA8g+3fEv/n3/AEjo - +3fEv/n3/SOvX8CjAoA8g+3fEv8A59/0jo+3fEv/AJ9/0jr1/AowKAPIPt3x - L/59/wBI6Pt3xL/59/0jr1/AowKAPIPt3xL/AOff9I6Pt3xL/wCff9I69fwK - MCgDyD7d8S/+ff8ASOj7d8S/+ff9I69fwKMCgDyD7d8S/wDn3/SOj7d8S/8A - n3/SOvX8CjAoA8g+3fEv/n3/AEjo+3fEv/n3/SOvX8CjAoA8g+3fEv8A59/0 - jo+3fEv/AJ9/0jr1/AowKAPIPt3xL/59/wBI6Pt3xL/59/0jr1/AowKAPIPt - 3xL/AOff9I6Pt3xL/wCff9I69fwKMCgDyD7d8S/+ff8ASOj7d8S/+ff9I69f - wKMCgDyD7d8S/wDn3/SOj7d8S/8An3/SOvX8CjAoA8g+3fEv/n3/AEjo+3fE - v/n3/SOvX8CjAoA8g+3fEv8A59/0jo+3fEv/AJ9/0jr1/AowKAPIPt3xL/59 - /wBI6Pt3xL/59/0jr1/AowKAPIPt3xL/AOff9I6Pt3xL/wCff9I69fwKMCgD - yD7d8S/+ff8ASOj7d8S/+ff9I69fwKMCgDyD7d8S/wDn3/SOj7d8S/8An3/S - OvX8CjAoA8g+3fEv/n3/AEjo+3fEv/n3/SOvX8CjAoA8g+3fEv8A59/0jo+3 - fEv/AJ9/0jr1/AowKAPIPt3xL/59/wBI6Pt3xL/59/0jr1/AowKAPIPt3xL/ - AOff9I6Pt3xL/wCff9I69fwKMCgDyD7d8S/+ff8ASOj7d8S/+ff9I69fwKMC - gDyD7d8S/wDn3/SOj7d8S/8An3/SOvX8CjAoA8g+3fEv/n3/AEjo+3fEv/n3 - /SOvX8CjAoA8g+3fEv8A59/0jo+3fEv/AJ9/0jr1/AowKAPIPt3xL/59/wBI - 6Pt3xL/59/0jr1/AowKAPIPt3xL/AOff9I6Pt3xL/wCff9I69fwKMCgDyD7d - 8S/+ff8ASOj7d8S/+ff9I69fwKMCgDyD7d8S/wDn3/SOj7d8S/8An3/SOvX8 - CjAoA8g+3fEv/n3/AEjo+3fEv/n3/SOvX8CjAoA8g+3fEv8A59/0jo+3fEv/ - AJ9/0jr1/AowKAPIPt3xL/59/wBI6Pt3xL/59/0jr1/AowKAPIPt3xL/AOff - 9I6Pt3xL/wCff9I69fwKMCgDyD7d8S/+ff8ASOj7d8S/+ff9I69fwKMCgDyD - 7d8S/wDn3/SOj7d8S/8An3/SOvX8CjAoA8g+3fEv/n3/AEjo+3fEv/n3/SOv - X8CjAoA8g+3fEv8A59/0jo+3fEv/AJ9/0jr1/AowKAPIPt3xL/59/wBI6Pt3 - xL/59/0jr1/AowKAPIPt3xL/AOff9I6Pt3xL/wCff9I69fwKMCgDyD7d8S/+ - ff8ASOj7d8S/+ff9I69fwKMCgDyD7d8S/wDn3/SOj7d8S/8An3/SOvX8CjAo - A8g+3fEv/n3/AEjo+3fEv/n3/SOvX8CjAoA8g+3fEv8A59/0jo+3fEv/AJ9/ - 0jr1/AowKAPIPt3xL/59/wBI6Pt3xL/59/0jr1/AowKAPIPt3xL/AOff9I6P - t3xL/wCff9I69fwKMCgDyD7d8S/+ff8ASOj7d8S/+ff9I69fwKMCgDyD7d8S - /wDn3/SOj7d8S/8An3/SOvX8CjAoA8g+3fEv/n3/AEjo+3fEv/n3/SOvX8Cj - AoA8g+3fEv8A59/0jo+3fEv/AJ9/0jr1/AowKAPIPt3xL/59/wBI6Pt3xL/5 - 9/0jr1/AowKAPIPt3xL/AOff9I6Pt3xL/wCff9I69fwKMCgDyD7d8S/+ff8A - SOj7d8S/+ff9I69fwKMCgDyD7d8S/wDn3/SOj7d8S/8An3/SOvX8CjAoA8g+ - 3fEv/n3/AEjo+3fEv/n3/SOvX8CjAoA8g+3fEv8A59/0jo+3fEv/AJ9/0jr1 - /AowKAPIPt3xL/59/wBI6Pt3xL/59/0jr1/AowKAPIPt3xL/AOff9I6Pt3xL - /wCff9I69fwKMCgDyD7d8S/+ff8ASOj7d8S/+ff9I69fwKMCgDyD7d8S/wDn - 3/SOj7d8S/8An3/SOvX8CjAoA8g+3fEv/n3/AEjo+3fEv/n3/SOvX8CjAoA8 - g+3fEv8A59/0jo+3fEv/AJ9/0jr1/AowKAPIPt3xL/59/wBI6Pt3xL/59/0j - r1/AowKAPIPt3xL/AOff9I6Pt3xL/wCff9I69fwKMCgDyD7d8S/+ff8ASOj7 - d8S/+ff9I69fwKMCgDyD7d8S/wDn3/SOj7d8S/8An3/SOvX8CjAoA8g+3fEv - /n3/AEjo+3fEv/n3/SOvX8CjAoA8g+3fEv8A59/0jo+3fEv/AJ9/0jr1/Aow - KAPIPt3xL/59/wBI6Pt3xL/59/0jr1/AowKAPIPt3xL/AOff9I6Pt3xL/wCf - f9I69fwKMCgDyD7d8S/+ff8ASOj7d8S/+ff9I69fwKMCgDyD7d8S/wDn3/SO - j7d8S/8An3/SOvX8CjAoA8g+3fEv/n3/AEjo+3fEv/n3/SOvX8CjAoA8g+3f - Ev8A59/0jo+3fEv/AJ9/0jr1/AowKAPIPt3xL/59/wBI6Pt3xL/59/0jr1/A - owKAPIPt3xL/AOff9I6Pt3xL/wCff9I69fwKMCgDyD7d8S/+ff8ASOj7d8S/ - +ff9I69fwKMCgDyD7d8S/wDn3/SOj7d8S/8An3/SOvX8CjAoA8g+3fEv/n3/ - AEjo+3fEv/n3/SOvX8CjAoA8g+3fEv8A59/0jo+3fEv/AJ9/0jr1/AowKAPI - Pt3xL/59/wBI6Pt3xL/59/0jr1/AowKAPIPt3xL/AOff9I6Pt3xL/wCff9I6 - 9fwKMCgDyD7d8S/+ff8ASOj7d8S/+ff9I69fwKMCgDyD7d8S/wDn3/SOj7d8 - S/8An3/SOvX8CjAoA8g+3fEv/n3/AEjo+3fEv/n3/SOvX8CjAoA8g+3fEv8A - 59/0jo+3fEv/AJ9/0jr1/AowKAPIPt3xL/59/wBI6Pt3xL/59/0jr1/AowKA - P//V/cmesa56fnWzPWNc9PzoAwLrqfwrnLv/ABro7rqfwrnLv/GgDl7vv9K5 - a7+9+NdTd9/pXLXf3vxoA+36KKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigD//1v3JnrGuen51sz1jXPT86AMC66n8 - K5y7/wAa6O66n8K5y7/xoA5e77/SuWu/vfjXU3ff6Vy13978aAPt+iiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA/ - /9f9yZ6xrnp+dbM9Y1z0/OgDAuup/Cucu/8AGujuup/Cucu/8aAOXu+/0rlr - v73411N33+lctd/e/GgD7fooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKAP//Q/cmesa56fnWzPWNc9PzoAwLrqfwr - nLv/ABro7rqfwrnLv/GgDl7vv9K5a7+9+NdTd9/pXLXf3vxoA+36KKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD// - 0f3JnrGuen51sz1jXPT86AMC66n8K5y7/wAa6O66n8K5y7/xoA5e77/SuWu/ - vfjXU3ff6Vy13978aAPt+iiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKMgdaKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooA//0v3JnrGuen51sz1jXPT86AMC66n8 - K5y7/wAa6O66n8K5y7/xoA5e77/SuWu/vfjXU3ff6Vy13978aAPt+iiigAoo - ooAKKKKACuT8beKrTwZ4avfEV4R5dpGz4OOdqk9yPT1rrK/O7/goF8U5PCfw - /i8MabOEvdXlihC7sEiRzGeAQe/pQgMz4Mft+6R8U/if/wAIC9j9ljl3eTKY - wgcLGXOG81s8jHAr9IwQwDDoa/md1P4S+KPgD4e8JfF638yK7dmE27cojDzC - LghVIyD3Nf0PfCzxnY+O/Blh4hsZBLHcITkEHoSOxPp61TEj0WisvWdYsNB0 - 6bVNTmWC3gGWZiFA5x1JA71+fvjP/goV8PtD1eXR9Dgl1KaM7cRRrLk47bJe - amwz7r8capc6L4T1XVLPAmtbeSRM5xlVyOlfnF+yF+098TPix8fvFvw+8WfZ - jpmk2s80Bi83flLgRjO92H3fQV2Ft+298OPiJ4e1fwzfF9K1Ke0kCx3KpDkt - 8oADSE859K+Q/wDgntMkv7WHj2eEh0bTrllI5BBuwRVJCZ+6lFfGk37YfhGy - +Ksnwt1G2mt70XP2dWaMKrHzvJBBL8gn2r7IikWWNZUOVYZBqRj6K+Xvj7+0 - /wCEvgRc2NlrivNcX4yiRqHON23oXU9a9D034w+Gx8NrT4j+IZRpVlcIWIuC - sJGHKAEO3cj1oA9eor83/EP/AAUO8FQX0tj4Y0u81VoSAWht/NBzg8FJfrXo - Pww/bh+HHj7WovD14JNKvZDjbcqkPYn+KQnoPSnYLn2/RWJq+uWul6Hc64W8 - yC3j8wlcHI/Ovjbwn+3N8NPEUetzTu1qujGdXEgRGYwNghQZOc9qQH3JRX5p - 6h/wUU8K218TDot9/Z6tjz3tiEIz1DeZtxjmvr34OfHnwT8ZtJGoeG7tWkHD - Rlk3ghVJ+UMx43Cm0B7fRWTret6b4f06bVNVnW3t4VLMzsFHAz1JA7V8C+NP - +Cg/w90PWJdG0G3m1SaJiuYY1lDY9NknPFFgP0Qor4B8E/t8/DvX9Ri0nX7e - 40e5kz/x8xrAvr/HJ9K+7tM1Sw1ezjv9OmSeCQZV0YMD+IyKLAaFFfLvxp/a - r+HXwaJtdWuhPdj/AJZxlHYfdPI3qejV802v/BRzwot0j6npF1b2TniU2+0E - exMuKLBc/TiivJvhT8Y/B3xd0ZNW8L3aTZGWTchdeFJyqs2PvV1XjbxtoHgH - QbjxB4iuUtraBWOXZVyVUtgbiMnAPelYDr68M/aL8c6z8O/hXqninQNn221H - yeZu2/dY87SD29a+RNZ/4KMeCotVlsNAsJ9QSFyGMUIkO1TgkbJemK534rft - afDn41fBjxBoOl3IttWiHzW0xSOTKxsW+TezcfSnYLnoP/BP39oPx78fPDvi - bUPHXk+dpr2gi8nzMfvRIWz5jv8A3RX6H1+QH/BJRWTwn44RhgiTT8j/AIDN - X6/0MAopCQBk8Cvkr4yftgfDP4R3r6Te3Yu75BkxwmOQg4BGR5ikZzSA+tqK - /MW2/wCCjnhdLhX1XR7q2tHIxI1vtBHsWlx0r7d+FPxo8GfF3SV1PwxeJKSM - tHuTevCnlVZsfeFNoD12ivnL9oH9onw58AdM0/U/EMbyR6hcx2y7FDENIHIz - ll/uGvJPE37dXwz0Hw9p+pwM93eajEkqW8QSSQBwcZQSZHIxSsB90UV+bXh7 - /gon4Iu9Yi0zX7CfThMwCmWER9SBk75a+7tC8e6D4m8MnxRoM63lrtLAxlX6 - Ej+Ekdj3osBgfFP4veFPhJp0Op+KpvJgnJAOUA4ZV/jZe7Cu78O69Y+JtHt9 - a05t1vcAlTx2JHYkdq/Dj9uz9oLT/ixocXhC0067spLJ/mkmhMatmSJ/lYsc - /d9K+pP2ev2wtGXSdA+H39h6gZj5ied9lPldWf7+/wDDpVWFc7/9tH4q/Gv4 - eaXA/wAKdPF1M0hGTHO4x5YPPlMO9fV/wf17xJ4j8BaVqviuAW+pTQoZVCsu - GKKTw5J6k9a8r/aM+Ofgb4OeGrXxB40sBeW0zHAMavghAx4Zl7H1r6A8IaxZ - a/4Z03W9PjEVte28U0agYwsiBhxz2NIZ0lFfJ/xl/a5+G3whuW03UboXN8OP - KiMbsD8wwR5inquK+c4P+Cj/AIVjuI31TSbq2s5WAWVrfaGBPGCZcHjmiwH6 - eUV5B8JvjV4K+MGkLqfha8SU4BaPcnmLwCcqrNjGRXI/tAftEeHvgJY2d9r8 - UkiXZULsUN95tvdlpAfRtFfBuvft6fDPR9H068t0nvrvUFdlgt0SWRdjY+ZR - Jketcr4Z/wCChngfUNYi0rxDY3GltMSB50IixwTzvl+lOwXP0corH0PXdN8R - aZHq2lTrPbS52urBhwcHkEivnv4y/tUfDj4PMtnql19rv2GRBAUkk5GR8u9T - zRYD6cor80bT/goj4eW7B1bw9qNnZMeJpLQouD33NJjpzX218L/i94O+K+kJ - qvhi8ScMMsodCynAJBCs2CM0WA9UooopAFQzXEFuu+eRY19WOKmrxT46+DfF - vjPwZPp3gzUpNM1AbSkkchjPDAnkAnoMUAe1KwYblOQaWvzJ+HP7WHi/4Zat - D4F/aC0+SxbLBNR2SC3OAX+eadlHdVHHXiv0a8P+JNF8UadHqmh3cd5byjIe - J1cfmpIoA3KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooA//0/3JnrGuen51sz1jXPT86AMC66n8K5y7 - /wAa6O66n8K5y7/xoA5e77/SuWu/vfjXU3ff6Vy13978aAPt+iiigAooooAK - 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 - gFe7fsc/tWeKviJ4iu/h344PmalpvmRsxIOGieOIj5UA6k96AP06oooqRhRR - UM9xBaxma4cRovUscCgDxb4zfATwB8atAk0fxZp0U7HGyVl3MvzK3GSB/CK/ - LPWfin4+/YU8U2/hnUdXbxN4dvHIhhaQPKgA3kLFCM9ZB+Ar6n+Of7aUOm69 - F8M/hBbNrfii8LBAu6NF2KshzI0bRj5N3U9sda5L4W/sa6v8QfEMHxO/aKm/ - tbU42329s4UCDIKHDwOucrt6jtQB97/Cj4h2/wATvBtj4rtraS1W6QHZLG0b - A4B6Nz3r0qszSNIsND0+DS9NiENvboqIoJOAowOufStOgAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP//U - /cmesa56fnWzPWNc9PzoAwLrqfwrnLv/ABro7rqfwrnLv/GgDl7vv9K5a7+9 - +NdTd9/pXLXf3vxoA+36KKKACiiigAooooA/J7/gpD8QpFsdG+GlgX+0azcW - 8alULDdK0kQH3cdT1yK+qP2M/hk/w4+DWjWd7HtvZ4EaYnuwyPUivqq50uwv - JFluYEkZeQWAOMVcSNIlCIMKOgFO4DioIxivxj/4KR+BJfDlzpvxNsUaNLaR - 2kdVLn5mhjHGSe/YV+ztVLuxtL5PLu4llX0YZFID889e8JRftbfs2209sCuo - qjiIMCDkSqD1MY6J3r8//AH7VnxE/ZJuG+H/AI10+SSG3YoqjaQN7GTOY45O - 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 - /wDiJiCeLfoCT/x8R9hX1TBbw20YigQIg6ADAouLeG6iMNwgdG6gjIpAfmp/ - wTri/tP4O3kcYZRKXALKVORPJ2OK+a/iR4l/aE/ZY+ID+KdZR9R8NMQ4lUQL - nqzLtUSPxkc45r9u7WytbJNlpEsSnsowKbeafZ36eXeQrKvowzTuB+K2p/8A - BTyPxZoz+HPDWlSyaveqYUXDj52GBy9uF6+9ej/sP/s3eM9E8X6l8X/GFsbJ - tckmuhEWR8m4ljnByj8d+Nor9RLXwV4Zs5zcW9hGrnvtH1rp440iQJGAqjoB - RcB9FFFIArxn43+AvEPxE8HzeH/D2of2dPMVzJ5aycBgTwxHYV7NRQB8w/AL - 9l/wR8D7F5NOi+0apcczXBLjcQXx8rO4GA2OK+ngMcCiigAooooAKKKKACii - igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK - ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA - KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo - oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii - igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK - ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA - KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo - oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii - igD/1f3JnrGuen51sz1jXPT86AMC66n8K5y7/wAa6O66n8K5y7/xoA5e77/S - uWu/vfjXU3ff6Vy13978aAPt+iiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooA5LxT4H8NeM4YoPEVmt2kLh1DdmXOD+pra0jSLDQ7CLTdNiENv - CoVFHQADArTooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigD//W/cmesa56fnWzPWNc9PzoAwLrqfwr - nLv/ABro7rqfwrnLv/GgDl7vv9K5a7+9+NdTd9/pXLXf3vxoA+36KKKACiii - gAooooAKKyNd1zT/AA7pdxq+pyrFb2yM7FiBwoJPUjsK/N74lftg+Ptd8Qy+ - GPgtpceoxxsVaZoZZOndWhkx0NAH6cUV+QM/xu/a88HEatdaNHdRAgss0F46 - heh43j1r7j+BH7R+hfF22+x3G2z1eMDzISBHydx+VSxbotAH03RRRQAUUUUA - FFFFABRSEgAk9q/Kb4+fF74seOvjNf8Awi+Gl9Npy6Y4Qy2sk0TtuiSX70bE - HuOlAH6tUgIPQ18jfDnwp8Z/Cfwnv7LW9Vk1XxAyr5MlxNLMR+8Yt8xw33SO - npXL/shWXxhsbfU4fiZeXt4uVMLXrzO/LvnmX2x07UAfcVFFFABRRRQAUUUU - AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFeX/GTU7/AEj4d61f6bO9vcQ2 - 0rI6MVZSEJBBHNAHqFJkZxnmvif9kDxb4o8U+HtZm1/U7jUpUu5gjXErylQF - jwAWJwBk8VyV5afHr/hoj7VbXd1/wjoLKIi8/wBm8vzwc7fubtvT2oA/Qaio - bbzfITz8eZjnHTNTUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ - AUgIPIOa88+KI8TN4Ovl8KNsvyo2EFgw55xt56V4B+yXa/Fe18PXSfEq5ubm - Usmxrt5Xkxl8/wCt59KAPsOiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKK82+KPxJ0r4W+GJ/E+sRyS28GMiJdzcsq9CR3agD0mivLvhF8UdJ+ - Lvg608Y6NFLDbXe/asy7HGx2jORk919a+Tv23/Gvi7wr4cjPhjWLrSndiC9r - M8Lfcz1UigD9AqK89+Fl7eaj4C0W7v5nuJ5LWEvI7FmYmNSSSeSSa9CoAKKK - KACiiigAoornvFdxNa6BeT27lJETIIOCORQB0NFfmj+w9478a+KNS1u28T65 - e6ukUsmz7VO820eaRgbicDFfpdQAUUUUAFFFFABRRRQAUUUUAFFFFABRRXnn - xVv7zTPAOs3thM0E8VtKUdCVZSI2III5BBoA9Dor4a/Yg8YeKPFvgm8ufE+q - XOqTRyIA9zK8rAFM9WJr7loAKKKKACiiigAooooAKKKKACiiigAooooAKKKK - ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA - KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo - oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii - igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK - ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA - KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA/9f9yZ6xrnp+ - dbM9Y1z0/OgDAuup/Cucu/8AGujuup/Cucu/8aAOXu+/0rlrv73411N33+lc - td/e/GgD7fooooAKKKKACiiigD4U/bh8Y3+jeBY9E0yZ4pb6REbaSAyOsikH - B5zV39jP4WaDonw4sfE1zaJJqOoxpI7uo3KSCCAcA44rzf8AbrR4p9CvZOYI - ri3Lj1AeQn9K+t/2eb6z1D4V6JcWKhImgXAH1NAHrl/o2manbPaXttHNG4IK - soI5+tfDFj+y5rnhL42Wnj7whcR2emRtIZLdX2K4aIoMqqc4JJ6199Um4DvQ - B5R8Vviro/wp8LS67qzBpVX5IxgliCoPBZT/ABV+fcf7Tn7SPjeSTUfC+g2c - NghLISt0pYA7ecEg039t27udY8f6B4c3n7PLJICp4U/u0b+lfpP4E8NaR4f8 - L2FhptusMSxKcKMDLcn9aAPiL4PftjeI9U8WReB/inpcOmXkpCI8KSKpZnCr - lpnHbJPFfVPxs+I2q+APh7deLPDcMN1cJDJJGJidh2xl1+4QccDvXxj+294D - 0nQ59L8fafCkN19riXK9fkjdv5ivSviZqk2qfst2l7OcsdNHX/r0zQB5No37 - Zvxa8Y6RBp3hTw/Zz6zIqmZjHOYEBADYZHJ3BiOvastf2wfjV8OPENtpvxK0 - OzFlduoMsa3DMu9wvBkZRjAJr2/9g/wfpel/C661gwrJeXt6z+aR8wR4om2f - TPNYf7fWh2F14Etb54x5qTRgN3xtkNAHuvxK+Jvjlvh9p/i34UWVrqB1JFdR - deZt2MxBP7onsPWvyz8G+NfivY/G3VvEujaXZXHiedwZoZRN5KnydvG35/uc - 896/Uj9k+Zp/2c/B0cnIj05QPzavkf4Qqp/bA8VgjgSp/wCklAH2V8OfHnxI - 1HwBd6/460+0tNTgXKxweb5ZO9hz5nzdAK86/ZO+PXjL40aZqFz4usLOyktW - wBaeZtI3uvO9m7KK+mvHShfCd+AMfu/61+eX7A0xg8O69KBkqf8A2rLQB7H+ - 0T+1Vc/DO7i8NeCbOPU9auMBVkVnQblyP9W4bt6V4Zpf7SX7SujLHr+veHrO - bTGIMqql0zqn3iVBIHTpmuZ+Duh6f45/aSudS12JZxaCEoj9MhmH1r9XL/R9 - NudMl0+aBWt2jKFD024xj8qAPzz+HP7Y3jXx78WLXwjHpdnBpMsSF2IkWdZD - KqEY3kYAPp1r2z9ov46eLvhRLoSeG7O1uf7SurSGX7Rv4SZmDFdjDkY4zXxN - 4T8P2Phv9rKey09QkUkhk2r0GbscV7r+2r/x8+FP+v7T/wD0OSgD768J6tca - 74c07V7tVSa7hSRgudoLDJxmvlL46ftBeNPhv460vw1oVjZ3FteBi7T+ZvGH - C8bWA6V9NfDn/kR9F/69Yv8A0EV+ev7WP/JWtB/3X/8ARgoA+sfjr8WfEvw3 - +Gp8XaBa29xejZ8k+/y/mcKfukHofWvjfTv2y/jL4y0iCy8KeHrOTUju89/L - uDEvzZXaysTyAc57173+1mcfA0/RP/Rq1L+xD4X0my+DmnaqLdTe3Xm+bLj5 - m2zyhc/QcUAegfDj4m+I9L+FS+LviysVpfRlzIsZbGPNKrjzSD0I718mat+1 - b8avHWs3Nr8NNFtv7Ot3KrNIlwrNglTzGzLXW/t9a7d2vhO20SBtkNxvBA6c - GNq8r+C37S/hr4Y+D7bRLTw8zyjLPIsMp3FsE8jjrQB6b8M/2vfG9j4wt/Bf - xf0qGx+0usUU8KSj5mYKCzTMBjAJJxX6NWd3Bf2sV5bMHimUOpBBBDDI5Ffi - j+0D8WNL+MTWVzpWhPa3tvIpMnlSKSqhuMt7tX6ofALUrnUfhjowulKvbW8M - WGBB+WJfWgD2evzT+Mn7YnxC+G/xPk8LWOl2E+mQzTIzv5pmIjk2jADgZI/W - v0sr8TPjnpNvrf7SsWnXShopdQlyD3H2gUAezah+03+0b4skuNS8JeHbOHR4 - zugZ0ukleM9NwUkZ4PSvVPgD+1zqvjjXv+EM+IenxabqqnaBErqM7Wc7jK+e - gHavtfw/4c0zQdGttIsoFjggQIFHTAr8tP2ufDul/Dj40+F/FmgQLbz6007z - lOCxjREH14NAH6e+NfGuj+BvD9x4h1eTbBAobAIyckDgEjPWvzXl/a3+OPxF - 1KaP4c6FbJpqNtSWRLhHPYklGYdQa7X9t3WruXwXo2lRuUS8jkDY74aI19Rf - s4+CNF8KfDLTIrK2RJpQ7O69Wy5Iz9M0AfJ/gb9sD4h6H4lt/DHxa0eC0jnk - SNZoUmz8zYJLSuBwOa+wfi9qtnrfwe1fVLCQSQ3FjI6kEHho8joT6188ftxe - B9K1DwMPEKQpHd2Czy+YPvHZHwKyvhtr1xq/7LF/HcEnybKRQT6LAgoA0v2I - GKeG9aYdryc/+ORVvD9oXxof2h/+FXnT7L+yfLdvO/eeflZxGB97bjB9OtYH - 7EX/ACLOt/8AX3P/AOgRV5Uv/J5X/bKX/wBKloA/QD4q/E7Sfhf4Zm13UWDO - oxGnBLMc44LKetfnqv7U37RHja4l1HwfoFnHp0WChdLpS4I5ztJHUHpUv7au - rXepfEvwt4OnctY3TozIehKzqB/Ov0R+G/hDR/C3hSz0zT4FjjRSOB1+Yn+t - AHxx8JP2xPEmseJ4/B/xQ0eLS7yUkI0EciqSFZjkyv7DtXcftEfH34h/CLXN - Lm0fT7G50O8dxJJN5vmhVRCMbWC/eb8q9W8c/s7eB/HXiC18S3qfZ721LMrI - gJJYAHkn0Fcb+1T8O4fFXwqnhA82bT1zGTjPzOmf0FAH0n4c1hNe0W11VMYu - EDcdM96+Q/jn+0b4u8C/EjSPh94MsrS9nv57aN2n3nas4OTmNuxx2qf9lH4q - /wBtfCdZNYkJutMExkHXCrMyL+lfM/wdtbr4uftI3/ia8JnttMYOm/oDBOFG - PwNAH6p6FcX11o1lc6mqpdSwxtKEztDlQWAzzjNcn8Udc8SeG/BWp674Whhu - L2wgmnCT7tpEcbNj5OeoFegIgjRUXgKAB+FVdQs4tQsLixnUPHcRtGwPQhhg - igD5P/Za/aA8Q/GfT9Qj8WWdvZajYzNGUt94XCqhP32J6tXsfxq+Jtv8JfAl - z4vnVXMciRIrdC8mQueV7j1r8+PAWqp8DP2pdZ0i9Pk6PrX2loUXkCSWdUTj - 6D1rc/b+8ZTalcaJ8NLY77W8ZJpl/wCmkUuF4/GgD6P/AGYPjN4++KXgq88W - /EWzsdPVNrRfZDJtK5cNnzSf7o714V8R/wBsLx3qHi+Xwf8AB/SINQSE4knm - SU4ygYbWhcjswPFeo+JdIk+D/wCyxNFZqI7mFI0fb/00mI7ezV8N/s1fGfw3 - 8JLC9uLjRDfX1yynzhFIxGGfuvHRsUAe56V+1h8a/AmtW1n8TNEtRptwSGmj - S4ZlAGesjKvUgV+i2m+MLTXfCp8S6OVljKnGSCNwxkcE+vrX5h/Gn9o/Qfix - 4QufD0nh1xO4Ajcwy5U7lJxnjote8/ska3qVz8JdQ0S+iaMWrTSLuBH3nA70 - AeKaZ+3T8UH1fWNGuNBsZ7qC4nhtVhSZ92x9qF/nzz3xXv8A8E/it8avFOu3 - F/8AEDTrbT9KWBpQIvPXHzKRxJx90nvXyt+yT4b03WfjPr19qEKzG3urgoG7 - Fbkc/rX6z+JNDTVPD19pVt+6M8EkakdtykCgD4F8afta/EXXPGN/4L+E2jW1 - 0bKWSCSa5SYfNG5RirRMR3Ujiuftv2rvjb8P9ZtdN+Jeg2jWM0iI01ulw7je - 2wcyMo615TouueMf2aPiRrV1qGlLe2V1dXEwkBZjskk64QdcJX0xpP7SnwQ+ - LssGkeONG82WRlASWF9oYEEckjoTQB9V6z8QAfhzL420FFlPlCSNZOnJxztP - 9a8j/ZY+NXin4yeF7jV/FNla2U0RUBbXft5Lj+Msf4RXoPj3TtB0z4R31r4b - gjtrBYR5aR/dC54xya+Wf2EHMfw61JxwRt/9CloA9E/aC/all+GN3H4d8H2S - anrUucI6l0GAjf8ALNw33WPavnCX9pD9qLR7ceI73QLKS1PJj23ZwOnTPv61 - B8ANCs/iT+0L4h1jxFGLmTSWh8vfz/rYHU/+giv1M1DRNOv9Nk06eFWhZcbT - 04oA8H+AP7QGn/GLSmW5jWz1a3yJoQNoBB28BmLdc9a8r/aY/aY8XfBbxnpe - j6NYWl1p9wsLztN5hkCuX3bQrAZ+XjNfMHhAD4e/tewaHoY8m31WaJJVXgEE - u3PXvXW/tnWMWrfGPwfY3Kh4rg2Sup6FWaQEGgDZvf2nf2hvFtsdR8GeHLOP - Tol375Y7pJHIGcDaSCCCK7b9nz9rvxN438VzeA/iRpkGn6lGzLGbZZACFZU+ - YyvnduJ7V9peAtF07S/B+lWVnAsUa20QwOn3AK/M74kaJY+Gf2rtFm0uIQtf - yLLJt7s95yTQB+s455oqG3JaBCe4FTUAFfMv7T/xh8T/AAc8Ev4g8LWttdXQ - UkLc79nDov8AAQejGvpqvhL9vL/kmD/7jf8AoyKgDyu0/a4+N3jfTIY/Avh2 - yebB8+SVLgKM/d2MjHuDnNL4N/ba8YaBqd14f+K+kRW9xEAUNukpYlm7+a44 - x0r6b/ZP8NaZpHwssJbaFVebeWOOT87f418V/teaDpsnx38PDylH22e1ik46 - rjvQB3GtftNftC+IGuNc8G+HrNdGtmYxmVLlZHVTkZCkg5UjpXuf7OH7Tmof - FW6uPDfi6xjsNZtCyssKsEOwop/1jFs7mPavo7wdoem6d4E0+xt4VWE2cWVx - x/qwK/NH4S266f8Atf6/b23yRu9w20dObxRQB+hPxn+Lum/Cbw3Lq1wBLckE - Qx8Hc5VioxuB5K9q+B1/ac/aW8VebrmgeHrKLTozmMFLpS69eQCR27Gsf9tD - xc8Pxj0LRtTQ3On28cdyYiCwJjnYdB7V6N4d/bD8OeHtEt9Es/DTrDAmzAhm - wRQB6b8Av2qdU8e6u/hLx/YRaXrEfGI1ZEPysx5lfPQDtXmn7avi/wCJaWV1 - 4fg0+0PhxyN0583zgAY2GMfJ97j6V88694+s/Gvxm0jxh4e0Z9PAaTzQsci7 - tyqozuz0wa+7v2uZxd/BO6uduCyx/wDo6OgD5V/Za+Inxu0nRtC8O+HdI0+f - wyWmDTyCfz8F3bjb8n38j6V6B+3i0s3he1aUAOzHIHTPlivbP2I1U/AzRWI5 - /f8A/pRJXjf7fTbfD8Dejn/0XQBy/h79o/4v3/hfT9B+GOg201va28SNPdRz - qcogVtrRkjg4xXSfDb9sXx5b+NbXwP8AFfR7eza6ljgjkt0l3F3cICxlccdT - nFfW/wCz94V0rw98NdISygVDNCkrYHUyIrH9a+Hv22tNs9J+I3hnVLCJYrj7 - RaNuHUne5/nQB+lHibxjpPhjw1N4mv5AttHE0i5IG7CFwBkgEkDpmvze1X9r - b41eOtcu7P4Z6FbNpds7Ks8iXCudp4yY2ZeQQa3v2qvEl/J8CvBukI5Rr5bJ - 3cdT5lvIpFfTX7LPg7R/DXwl0c2VuiS3sEM0zjq8jRqCx9zigD5L8PftlfFD - wX4ii0D4taHbw2kuQs0Mc5cngA5ldRjJ5r9LNO8R6XqehR+IraZWs5ELh9ww - QuQeQSO3rXx/+234E0bXvht/azW6Lf2ssSxzfxKpYkgfWvJfhT471GD9jh4y - zNLpiJGH7kS3D5oAf8TP2y/GuoeMp/Bvwh0mK9WAgNNOku7lAw2mFyP7wPFZ - p/ab+L/hi3k0j4qaJAtjcLgT26Tsw78tIwUckCr37AHhHS7y01zxRewJJdbo - jE55ZctMrfmK+zvjx4F0jxr8OdU02+hQyFF2OeqHepOM+uKAPhL9gIZ1bWpO - 0jM4+jS5r6T/AGgv2mb74X3tv4c8I2Calrd3t8tJVZo8vuC58tg33l9K+bf2 - A+NW1mMdIyU/75kxWj+0v4L8X+DfiZpvxS0a2XUIbTysxsx6xu8nRQTQAlz+ - 0T+1J4ctk8T6v4e02SwYCSSNRdsVjI3nCkgZAHc19r/A/wCMNv8AF3wzHq5g - +y3S4WWPbtw4RWbALE4y3evlPQP20vB2sWkfh3x5ozQpIgimQRSMpBAVhzj3 - r7A+FFv8MrjSRrfw70+Kyhu/nbYpViXVWOQSe2KAPXK4L4i+O7H4feGrnxBf - AuIAMKBkkscDjI713tecfE1PAi+HZ7nx7aR3mnxBSySDOfmGOAR3oA/PuP8A - ah/aK8fTS3fgvw7Yw6Yh/dvKl0kjD32kjqD0r0P4R/tbeMtT8Yr4G+Kejwab - dycRtbpKAcIznJlf0x2qnD+1/wDDTwjF/ZHgrQGSzi4VUglAHfsT3Jr5X8ff - Fe3+J3xk0HWrGxOnPGZ85VlJzCq/xf7tAH6RftJ/GHxN8J/BieIPClrbXVw4 - JC3O/b1QfwEHoxr5ji/a5+LfjfTobTwBoNrLdMg86WRJxGrEc7GRj0b1rvP2 - 0HI+Etm3fyx+pir079knwXpPhr4X2b2sCiS5ZpWbHJ34agD5q8JftefFTwx4 - y0/wv8VNGtoLS/lSMTRLMWXe2OsrAAAA1+js3inS4PDTeKZZAtmsBuMkgZUL - v45x096/PX/goLYWlp4bstXt4gl1FIMOOvyxyEfrXU/E7xBd2H7IegzxuRJd - 6dAjH1D2bZoA4Dxd+1/8UfFPiu58OfCrR7ee1tpXjM0iTBiUcr1iYjGCDWVq - /wC1D8SrTRNS8I/FnRIbVLq2mSKe2jmOW2FRuaVgOSa9s/Yd8HaTY/D+bXjb - oby7lVzJ/Fh4oyf1r1D9qj4eaL4x+FmotcW6C6tMSpKfvARhmIGfXFAHin7A - Ax4E1D/rsn/oFfoRX58fsAHPgS//AOusf/oFfoPQB89ftL/FHxL8IvhhqfjD - wrbW13fWaKyJdb/LJMiJzsIPRj3r4ut/2z/jD4x0ays/Bfh21l1Ntwu3aO48 - pA33PLZGJ9c5r6P/AG4xn4Ea4P8Apkn/AKPiq7+xt4R0LS/gxpWqW9oi3l40 - wllA+Zwkrbc/SgDrPAvxN13RvhM/jH4oLHbXsLyl0QtyqkYAEpB7+tfH2pft - Z/Gzx5rd5bfDTQ7X+y7WR0WaVLhXbYxHWNip4INehft763NYeENN0mPIhupX - VwO42A1478F/2lvDHwx8H22i2fh1nlABeRYZTuJRQTkcckUAes/Cv9rLxyvi - 2DwV8WNKgsJJ3WOOWJZRuLOqDLTMP9o8CvuHxd430zwp4RuvFtw2+2ggeYYw - dwVC/HIznHrX5EfHL4w6d8V9Q0nU9K0J7a+sbiGTzPKkBxGWOMt7tX27PoOs - /FL9m6DT4iY7tbAAK3GT5B4Ofc0AeHt+1R8cfiTez/8ACsdDs10yE5WWdbhJ - GAGR/q2Zea6f4dftcePrbxhb+DPivosFkZyypNbRy4JRSTlpWHfFeF/CL40e - If2copfCfijRA8MTBTIgkfoMfwgDvX1j4Q+LHwA+N2sW66vo0c2qplozPCy7 - SRuOCWH92gD6j8Z+O9H8F+GpvEupSBYIwCMkDOWC9yO59a/OW5/ar+PPjzUJ - v+EB0K1TTUI2SOlyrMOhyUZh1BrqP269Zlg0XS/CtsdlndM4KjphXiYfrX2H - 8EPBmkeFfAen2ljbohKtkjvl2P8AWgD44+Hv7Y3jyw8V23hT4saNBYrO4jWW - FJRyeeWlcDpX218RvHd14b+Hl94w0BIriWG0knjEhJQlU3AHaf618qftz+DN - GbwKvie2tkj1G3Z3Eo+9lVwP0rZtdUn1T9le5muGLyLY3Ckn/ZiAoA9E/ZX+ - Mvin40+DNQ8QeK7S2tLm11C4tUW137DHEEKk7yTk7jmu3+PHxD1r4aeBbnxJ - oMENxdRB9qz7th2xu4ztIPVRXzj/AME/f+SY6z/2Gbz+Udeqftcf8kovf+2n - /omSgDZ+APxZ8R/E/wCGb+L/ABBa29veomdkG7y8+WH/AIiT1NfIWqftvfET - SPGuueGW0SyuRazNFaiNZndvlGC4D/3jzgdK9v8A2Pf+SFzf9c//AGgtfMvw - C8L6Vr/7TXiC61KFZzayzbQw6HYpB/OgD6H+B3xb+O/jjxpFL470m003SJFk - ZhCLhdu1GI4k46gVz/xr/bC8QaD4rbwN8KtMh1bUEOHeVXdOVVxtaF89Cc8d - q+zfiLqa+GfBGp6laxgNHCVAH+2Nv9a/Nr9gPwjYaxq+s+LtZQXl9E6GKV/v - Ju85DjHqOKALcv7U37R/gMJf+KvDtlPprf6xwl0zIPbcQByR1r7/APhF8WdH - +K/htdd00eWQSHQ4BBXAPG5uMmu08UeENC8X6Jc6Brdsk9pdAK6sMggEEfqK - 8Z8MfCHQ/gh4V1y48M3DussRIUqFCncDxjNAHkPx2/a0vfBms/8ACHfDuwj1 - TWWZV/eKzxjeD3ifOQ2B0rxAftNftI+Emh1zxPoNnJpsjK0oVbpiiH5mwGIH - AB6mvnT4V/EzRvC/xP1fxZ4g0w6nPHNME+R3Kss+Qfl+lfVnjH9rvQPFvhq+ - 8P3Hht2W6hkiXMM2AXUqD+tAH3H8JvinpHxS8LQa/ZEJKyr5sfAKvsVmGNxO - Bu7184fHH9qzWPBfihfA3gDTYtT1Zxz5yOyKQ5Q5MTZGMeleK/sSX97ba7rO - nNbvDbXkt1JGCpAVX8sKOfQVzPxd8I+NfhB8Z7j4j2Fmup2lzJJMQzHKiSQ8 - YQZ4AoA629/aR/aY8DBNX8T+H9PmsZiCwjW6dlzxwCQK+7Pg58VtO+LXhK38 - S2UZgMoyyMNpB3MvTcx/hr5I0v8AbJ+G/i2BdF8e6OyocBkMMjLn8SPWvsb4 - Y6Z8OrXQo7v4d2ENjYzjIWIbehPUZPfNAHptFFFABRRRQAUUUUAFFFFABRRR - QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA - BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF - FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU - UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR - QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB//0P3JnrGu - en51sz1jXPT86AMC66n8K5y7/wAa6O66n8K5y7/xoA5e77/SuWu/vfjXU3ff - 6Vy13978aAPt+iiigAooooAKKKKAPlT9rL4ZTfEH4dXP2Fc3NmDMvTny0c45 - I7mvmP8AZW/aF0zwLpsfww8clrSaw2xRnDP90f7K46n1r9RJI0lRo5BuVhgj - 2NfL/wAUf2VvAHxIvJNUnh+z3cmSWBk5J9hIooA7TxT8fvh34W0p9Svb/wCU - D5QEdsnp2B718e/Cz4xfFX40fGNZfD+qSWnhW1ZvNh2RkOHibby6q/DLniuw - 0j9gnwJbz+Zf3DTKCDgmUf8AtavsXwH8OvDXw70tdL8PWwhQAAnLHOCSPvEn - uaAPgn9t/wAB619q0vx1YJvjsGdnIIzysaev9K+hPhX+038PvEfha3a6uzBc - 20eJEMbnG07eu0Z6V9M61o2n+INNm0rU4hNbzgBlORnBz1HPavjHW/2GPhtq - d693ATDvbJAMv/x0UAfM/wC0B8VIvjv490zwF4PBuLVbqAliCvJDRt94DufW - vqT426C/hr9m5dGl+/b6eyN9VtSp9fSvVPhV+zh4C+FVydQ0a2D3ZXaZC0h4 - 3BujOw6ivS/H/gXS/iD4en8O6t/x7zq6N16OpU9CD0PrQB88/sUf8kbi/wCu - 4/8ARMVcd+3h/wAk4h/6+I//AEGSvqz4Z/DnSPhh4dHhvRP+PZW3j73Xaq/x - Mx6L61nfFT4T6B8WNGXRdf5hVw/8XUAj+Fl/vUAebfskf8m7eEv+wev82r5N - +EH/ACeD4r/66p/6SV+jHgDwLpfw88H2Hg3R+LPT4hDH1+6M/wB4k9/WuA8P - fATwp4c+Id98RrMf8THUGDSH5+oj8vu5HT2oA9G8d/8AIqX/AP1z/rX58/8A - BPtBJoutIe7f+1Za/SXVdNh1bT5tPn/1cwwa8k+EnwP8MfB23uYPDYwtwcsP - n/vM38TN3agD88vibZeJP2dPjNb/ABChgM+m3PlKwBA+4Cx6bj39K9yvf26v - CV3ohh0q2aTU5k2rGVlA3lePmMeOtbHxk/aB8PeH/F0Xgj4h6Fv0ycJmYytw - HBJ4jQnt61LZ6z+y5oWmnxXYoitEvmKf9JOGA3dCD/KgD4r+Duqaxrf7SKax - rUflTXpEyrkHCSXKsBwB619Yftvafcpo2g67EpMdjd2cjn0WMyMa8a+DCv8A - E/8AaMn8ZaTARpNsjJG/QEJcqw4O0/dPpX6k+K/CGj+MdCl0DWYhLbyqVI5H - VSueCD39aAPBfhP8evAV38OtNuJb3Y1pbRrICj5DKgJ7V+f3xp+KunfEn416 - ZJobF7G3Z03EFc5YMOGANfXtx+wn8M5dR+1qWWPdu2Bpsdc/89a9Ab9kv4br - NYTW0HlNYLtU5kOec/8APSgDi/2tP+SGn6R/+jVrqv2MP+SHaN/23/8AR8le - y+PvhdofxB8L/wDCK6vza8f3uzBuzA9R61e+G/w+0j4Z+GLfwtov/Hrbbtv3 - v4nZz94seretAHyz+238N9S8X+BDqelJ5ktmGJGQPvNGvcj0riP2bPix8MLz - wxD4Z8TW62+q2RMbArIc7cKOQAO1fotPbw3UTQzqHRuoNfHvjf8AYx+HHi7V - ZdXCG3lmJZtpl6nntIP5UAcl8Sf2h/hL4S1W10XQ9LXVL2d1UL+9QAtkddpH - UV9k+CL8ap4ZsNSW2FoLqKOQRg7tu5QcZNfP3w5/ZH+GngDU4dYit/tV1AQ8 - bM0o2spBB5kYHpX1VHGkSLHGNqqMAewoAfX4c/tGay/h/wDaDbV4xu+zXszk - eyzgnsfSv3Gr8W/jFZw3/wC07FZ3K74pr2dGHqGnANAH6F+Cf2mvh1rvheHU - 7i9aKeKMGZDG/wArHPH3RnpXwN8RPGI/aY+OujWehRGXTNGeVYZDldwkiDHh - gpHKmvrrxN+xF8Ndd1SfU4Qbdp3LFQ0pAzj/AKaivZfhR8AvBPwmVn0K3BuG - x+8y+eMjozt2NAHhX7Ynw31XxD8PLe/0mPfLpcbZGQPvvEO59qofszftJ+EL - jwVa+GvEFwbfULNmUgo5zl2xyFx0FfeM8EVzE0E6h0cYINfG3i/9ij4Z+I9R - l1K3jNo0pyVDSnn/AL+igD5+/ay+N+k/EGO0+HnglzdXFy7RP8rJ/rk2j7y4 - 6+9e56J4HufBH7Md5Y3ybLiSwaRhkH70C+hPcV3fw0/ZT+Hvw41GPVrOHz7q - NlZWJk4KnI4Z2Fe/+KPDVl4p0G60C84t7qNo269GGOxH86APif8AYi/5FnW/ - +vuf/wBAirypf+Tyv+2Uv/pUtfe/wx+EegfC6xubHQ/9XdSNI33urhQfvM39 - 2sMfATwoPiN/wsof8hLDL/H0aTzD/HjqPSgD5V/bT+HupvqOkfEjTk83+ynT - cMgcGUOe/oPSvYfg3+054H8ReE4Rqd2YL23U+YpRzjLMRztA6CvqnWdGsde0 - 6bS9RjEkEylWB9xjt9a+OPEH7D3w11jUGvosweYclQZfQD/nqKAMDXf2u5dW - +IFn4Q+Htr9vjlZw8hJiwAgYcOnse9fbt9YDXNCksb0f8fCDcP1rxv4Xfs4+ - APhbcG90e2D3Jxhy0hxgMOjO3Zq9o1vX9K8O2ZvdVmEEKjqQT/IH1oA/EbWv - Emq/s/8Airxf4fhBWDUoEiQA9CxEp7N61+g/7HHwzk8I+Al1zU0/4mOpyzzF - s5PlzusijgkV8efFC+0T9oP4+2em+Go/PtfPhEzgMoK+Vs/i2dx2Nfrt4e0y - PR9DsdMiGFtoY48f7qgf0oA2aKKKAPy7/b18CjT77QfiVbR8Wd3bAkdfMWR5 - fX29K83+DtrL+0x8ck8S+IY/M0+yin80E9JsB06bD2r9UPiL8PdC+Jfh8+HP - EEfmWxcSAZYYYAqD8pB7+tcZ8HvgT4S+DMF5D4aTH21w7n5+oXb/ABM3agDY - +NPhBvGvw21Tw3EOZVRh/wBs2Deo9K/OD9l/4heD/h7eX/w/+JNqIblWURuQ - 7/8APSQ/cGOhHev11IDAg9DXzL8Uf2Wvh98TtTOs38Pk3bfeYGTnhQOFdR0W - gDjPid8cPgt4B0tZ47Zby7m/1cQWUBiCM/MAccGvS/ht4pt/Gfw7utftdMXT - YpfMQKHLZ2keoBry7wr+xJ8M/D9/FqFwhumjOQGaUeo/56mvr1NEsYdLOk20 - YigK7cDNAH5V/saf8lY8S/8AX1c/+lC1+pnifV5NB0G91eGLzntYnkCZxu2K - TjPPpXj/AMOP2evCHw11+98QaIMT3ru7/f6u4c/edh1HpXvksaTRtFINyOCC - PUGgD4q8IftOfD34lane+EvFlktrNDLJCyHzGB2EKfmCr3Y96+W/2svD3wc0 - 6KGTwTEINalkiKqglIOZDk7mJFfZfxB/ZD+GvjvU59Ylg+z3FwSzlWl5ZiWJ - 4kXuay/Bn7F/wy8J38OomI3MkRDDc0vUY9ZT6UAU/A0OrwfsvQR60SbkWibs - 465PpXA/sFx+d8PtQi/vFR/49LX3XrPhjTtY8Py+HGXy7WRduBngD8Qa4f4T - /B7w78I9Ml0rw8MRSkE/e7Fj/Ezf3qAPzgs9cuP2bPj3fX2sxldM1dl3yDnH - lQEDhQx6vX3brv7THw20zww2urflty5UeW+ScgH+H3rtvid8HfCPxUsBZeIb - cOy/dfLAjlT/AAsv90V802/7CHw3iu/OkcvGDnaTLj/0bQB4D8BdD1L4v/H2 - f4oiLZp+nyI8Tk/e2Oy9DtI4PpXT/tdrs+OfgpfSSyH/AI9JX6JeB/Aug+AN - Fi0PQYBDBH7k5J6/eJP61wHxC+BPhb4jeK9O8WazzdaaYjH9/rESR91lHf0o - A9S8Kf8AIt6Z/wBe8X/oIr80fjV/ydT4Y/7Z/wDpYa/UOws49PsoLKL7kCKg - +ijFeK+JfgL4V8T+O7Hx9ff8f9jt2ff/AIZPM7MB19qAOt8dfEvwv8MfDya7 - 4pnNvajauQjOct04UE1a+HvxH8NfEzRI9f8AC8zT2kiq6syMmQ2ccMAe1fFX - 7el4z+GdJ8N27YfULi3hA93lCD+frX1h8AvBDfD74TeG/DM64urK0WOU+rKW - PqR39aAPY6+Ev28v+SYN/uN/6Mir7tryz4qfCjQfizon9h+IObcggj5u7K38 - LKeqjvQBx/7Mv/JKNK+kn/oZr4i/a4/5Lx4T/wCvu1/lX6ZeCfB+n+B9Bg8P - 6Z/qIM7evc57kn9a8y+IP7P3hP4ieKrDxZrHN1p8kckf3+sfT7rgfpQB6n4d - /wCRQ07/AK84v/QBX5g/DP8A5PF1z6z/APpatfqxZ2EVnp0OnR/6uGNYx9FG - BXh2ifs9+EtD+Itz8SbX/kI3Rbd9/wDjk809XI6j0oA+Sv2wfBl3o3jvRPik - IftFtZmKOUZxhRK0rdyeg9K9s+G/xf8Agr4o8MwXkyLFcRR5lUpLweT3Azx6 - V9T+J/DGleLdIn0bV4hLBOrKQcj7wK9iD3r461b9hX4a39813CTErnJUGX/4 - 6KAKsf7Qfw3v/iHbeEPCGjrfMxbdKTLHtwoYcFcHv3r0H9rqxmvPg/fR26ZO - E4H/AF1jrs/hb+zv4D+FchudGtg1x/z0JcnoR0Z27GvZta0Ww1/TpdL1KPzY - JgAw5HQ57fSgD4D/AGK/iz4UsvAOn+B7u4Md/b+aNu1uS8sj9cY6Vjft9Or+ - GoHXoXP/AKLr2rT/ANjT4a6X4otvFGnqYZrZy6AGU8ldp6yY7+lepfFD4F+F - /ipp0Wma/wAxRdB8/wDd2/wstAHR/CD/AJJ1oX/XpB/6LWvgX9uv/kdPDP8A - 13tP/Qnr9K/Duh2vhzR7XRrP/U2kaxr16KAB1J9K8o+KXwH8K/FbU7LVNfGZ - LFo2T7/WMkj7rr60AfOXx6+Heo+NP2dvDF7o6b7rTbW1uG5A/dxWzk9SO5qv - +y9+0d4St/Bdv4L8Tzm01TSVWHbsdgyxIqlshcDntX3Zpmg2WmaBbeHUXda2 - 8C24Bzyirtx69K+VfHH7Gfw38YavPrQT7PNcOXbBl5LEk9JAO9AHgX7Xvx/0 - HxXo0Xw98FSG7vJ5Y2kbaybSj9PmXByD617J8Nvgvf6f+y9F4OvUA1K5iLzL - kdY5ncchsdDXWfDv9kT4ceAtSXVooftNwoIBZpe/1kYV9YKiqoRRhR2oA/ID - 9kv4taX8GfEes+B/GebU3TRgHDPt2iR/4Qeu4d6+ov2if2kPC2neC7zQ/Dk5 - udUvUAjUIwAwyt1KkdM16L8Vv2XPh/8AFLVX13UIBDfSY3uDJ82AqjhXUDAW - ue8DfsefDfwdcG9WI3E3Ys0vHUdDIR3oA+ZP2AyG1PVn7uNx+pkya+lPHH7U - mieCvH8HgnxNp4jtbhUJny7cO5X7qoewz1r0r4UfAHwn8I7m5ufDwwboksPn - 7tu/idqv/FL4F+CvitAqa/bAyp0ky4OACB91l9aAPnr4y6b+zz4h8D3/AIju - YUW5lgkkjlUTFt5jZh8oI7n0rjP2FLbU4v7VeFidGM9x5GeMriLYcHkfLXb2 - H7CHwxtL5bqQs6owYKWmxwc/89a+vvB3gvQ/A+kRaNoUAhgiAHBJzhQufmJP - QCgDrK/P79vBNSk8FKIwfsn7nzCPTz17da/QGuY8WeEdG8Z6TLo+twiaCUAE - EkdDkdCD1oA+K/gdrHwA0z4f2l2IVFzEh85is2SSzY4J9PSvkL4o/EDw78QP - jjo1x4Xg8uytWmAbDDduhUdGAPBBr7Rm/YT+GUmofalLLHnO0NN/8dr0Kb9k - 74bnULDULaDyXsN+3mQ53jB/5aUAeT/tpf8AJI7P/rmP/Qoq+hP2cf8Akl2l - f7g/9BWug+JPwi8P/E3w/F4d1vm3iGB97/ZP8LA/wjvXXeDfCVj4L0ODQtOP - 7iAYXr6AdyfT1oA+CP8Agod/yI9t/v8A/tOSvQdc8HXfjX9kfRdOsl3ywaRD - MBwPu2hHcj1r3z4u/BXw18YtMTSvEYzChz/F/dK/wsvY16F4X8NWPhXw3YeG - LEf6Lp8Edug5+5GoUdST0HrQB+bH7I3x08P+BbO9+Hfi6Q2tzDOQnys3+rVI - 8fKuOoPeu7/al/aQ8OXPg258H+EZWutQujlvlZQEXIfkrjoa9b+I37Inw78f - atLrc0X2e5ndncgycl2LE8SKOpp3gv8AZD+G3hC3uVig86a5ieIuzS8K67Tw - ZD60AeVfsA/8iJf/APXVP/QK/QevI/hN8HvDvwi0ubSvD3+qmYMfvdQMfxM1 - euUAfHP7cX/JCdc/65J/6Pirs/2Sv+SF6F/vXH/o1q9O+J/w20T4p+Frrwnr - wza3ShW+92ZW/hKnqo71o/D/AME6b8PfC1r4V0j/AI9bQuV6/wAbFj1JPf1o - A+Xf20vAV/4p8DRatp0fmyaYzylcgcbQvc151+zf8Xfhfe+FofDHieBbfVLD - 90wKyNny1ROoAHXNfondWsF7A9tcoHjkGCD3FfHvjT9i74a+K9Xn1hIzbS3L - s7hWlOWYlj0kHc0Ac54+/aB+E/hrX7Hw5oOmLqV7dSxpj96gG9iuc7SOCBXt - 3ir4nyeA/hlbeMotKUxtGkjQhzhV2FjztJ4x6VzHw3/ZO+HPw71KPV7WD7Rd - REMrM0nDAqwPzSMOor6R1XRdO1nTJdIv4RJazIY2TkfKwIPTnoaAPkvwT8bf - hF8dNGZfENoiygfNE3mADgk84Wvgv46aD4GsPibpVr8IgYrvz5PNVA4CgMvG - ZCQflzX3N4o/Yh+GOvX0l9AhtvMbO1Wm/pKK774afss/Dn4b366pYW/nXKD5 - WZpeOCD952HegDxD9qv4a614k+Gthr9knm3enAswyB9+SMdz6D0rq/gB+0r4 - M1Hwnb6RrdybfULRSHUo56u2OdoHQV9p3dlb3ts9pcIHicYIr438WfsUfDbx - FqMmpRKbd5TkgGX0A/56igD58/an+Nuj/FdLb4aeCibmW4kKF9rJ99M/xKB1 - 96+pG8C3ml/s6T+HHX9/9glJHHV4h71q/DL9lj4efDXUk1ixg866jwVYmTgg - 5zhpGFfS0kEU0LW8i5jYbSPagD8uv2M/ip4d8AWut/D/AMRTGC6/tK6nU7WP - DsiAcAjt61037YHx38L33hU+FNDuDcXUpLONjABSkiHkrjr717P46/Y4+G/j - TVp9ZlQwTzsWbaZeSxJPSQdzUejfsY/DDSdGn0ryjKbjductLn5l2nrIf50A - Y/7Hv/JC5v8Arn/7QWvCf2Zv+TkPFX/Xab/0WtfoJ8PPhfofw58LP4U0b/j1 - YY/i6bQndieg9a5XwT8BPCngfxlfeNdM/wCP2/Zmc/P1ZQp6uR29KAPVPFmi - xeIPDt9pMwyJ4mA+uOPTvX5H/s7+Of8Ahmz4j6p4K+IObe2uXXMoBfbhHkGB - GGzneB1r9kq8E+LH7PXgb4tOlxrkAW5TP7wF887R0V17KKAOW+Jf7U/gDwZ4 - Zm1OxuTd3rAeRFscbzkZy2044PeqfwS+IXiv42+CtUutfshZwTq0cX7wPkhh - /sr2rjdF/YY+Gem3aXVxmfYc4Jm/+OmvsnQtA0zw5YJpukwiGBOigk/zJoA/ - Hn4e6rpvwH+M+p6X44tAbK/dl3/M2BNNvzhA3YV94+I/ix8ENC8MSeItiyJ5 - ZZF2S5Y7CwHAJGcV6L8VPgX4K+K9sI9eth5ykESAuDwpUcKy+tfP2mfsJ/DW - zvlup2aVEbIUtNjg5/560Ad78A/ito/xJjvdS0XRVsbeBpQjh2O8IFI4ZRjI - NcffftaeG7b4hX/w+8WacLWOGeSAS5d94VtoOAnGT719a+EfB+ieCtGi0PQo - BBbxADAJOSFC5yST0FeUfFD9nPwB8Up/tus2oW6248wNIO5borr3NAHzZ+0H - oP7Pl14WfWfJSG8mwUdBMxJOewbA59qm/YHttch8FTtdkixYp5IOOBukz79f - Wuo0f9hX4Y6defapt0wByFLTf/HTX2L4b8M6P4U0yLSdFgEFvEMBQSe5Pck9 - 6AN+iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooA//0f3JnrGuen51sz1jXPT86AMC66n8K5y7/wAa6O66 - n8K5y7/xoA5e77/SuWu/vfjXU3ff6Vy13978aAPt+iiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigDyf4j/Bvwb8TbUweILUO+MBwWUj - jH8JFeBw/sRfDKO4ErCVkH8PnTY/9Dr7UooA4HwL8OPDPw+09dP0C2ESgYzk - kngDqcntXfUUUAFFFFABRRRQAUUUUAFFFFABXz3rn7OfgjXvG0fjm8jJv45W - lB3uPmZ9/QNjqPSvoSigAooooAKKKKACiiigAooooAKKKKACvMvid8MtI+J+ - kLo+sOywjP3WZTyQeqsD2r02igDwj4Zfs+eBfhfcG80S3zcEY3szseDn+Imv - d6KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDx - 74ifBjwx8SdS07UtfQyNpsiSxjcw+aNw4+6R3FewABRhRgClooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//9L9yZ6x - rnp+dbM9Y1z0/OgDAuup/Cucu/8AGujuup/Cucu/8aAOXu+/0rlrv73411N3 - 3+lctd/e/GgD7fooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKAP//T/cmesa56fnWzPWNc9PzoAwLrqfwrnLv/ABro - 7rqfwrnLv/GgDl7vv9K5a7+9+NdTd9/pXLXf3vxoA+36KKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD//1P3JnrGu - en51sz1jXPT86AMC66n8K5y7/wAa6O66n8K5y7/xoA5e77/SuWu/vfjXU3ff - 6Vy13978aAPt+iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooA//9X9yZ6xrnp+dbM9Y1z0/OgDAuup/Cucu/8AGuju - up/Cucu/8aAOXu+/0rlrv73411N33+lctd/e/GgD7fooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP//W/cmesa56 - fnWzPWNc9PzoAwLrqfwrnLv/ABro7rqfwrnLv/GgDl7vv9K5a7+9+NdTd9/p - XLXf3vxoA+36KKKACiiigAooooAwrzxNoNhMbe8vY4pB1Vic1V/4TPwt/wBB - KL8z/hSah4Q0fU7k3V0rFz6Y+vpVH/hAPD/9xv8Ax3/CgC//AMJn4W/6CUX5 - n/Cj/hM/C3/QSi/M/wCFUP8AhAPD/wDcb/x3/Cj/AIQDw/8A3G/8d/woAv8A - /CZ+Fv8AoJRfmf8ACj/hM/C3/QSi/M/4VQ/4QDw//cb/AMd/wo/4QDw//cb/ - AMd/woAv/wDCZ+Fv+glF+Z/wo/4TPwt/0EovzP8AhVD/AIQDw/8A3G/8d/wo - /wCEA8P/ANxv/Hf8KAL/APwmfhb/AKCUX5n/AAo/4TPwt/0EovzP+FUP+EA8 - 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 - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD//0P3JnrGuen51 - sz1jXPT86AMC66n8K5y7/wAa6O66n8K5y7/xoA5e77/SuWu/vfjXU3ff6Vy1 - 3978aAPt+iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooA//9H9yZ6xrnp+dbM9Y1z0/OgDAuup/Cucu/8AGujuup/C - ucu/8aAOXu+/0rlrv73411N33+lctd/e/GgD7fooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP//S/cmesa56fnWz - PWNc9PzoAwLrqfwrnLv/ABro7rqfwrnLv/GgDl7vv9K5a7+9+NdTd9/pXLXf - 3vxoA+36KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii - gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA - CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK - KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo - ooAKKKKACiiigD//0/3JnrGuen51sz1jXPT86AMC66n8K5y7/wAa6O66n8K5 - y7/xoA5e77/SuWu/vfjXU3ff6Vy13978aAPt+iiigAooooAKKKKAILm5t7SF - p7qRYo0BJZiAAB7mvI9c+PHwz8P3LWt/rdorqcH/AEiIfzavFvjb4t8Q+J/G - Nn8L/DE7W32jabiRGZWCeYY35Unse4rtfDH7MfgGwsETxJaJrN0R88l0kcxJ - +rJmt1CKV5GLnJtqJrf8NNfCL/oPWn/gVD/8XR/w018Iv+g9af8AgVD/APF1 - o/8ADOXwd/6Fiw/8BYf/AIij/hnL4O/9CxYf+AsP/wARVfuvMn975Gd/w018 - Iv8AoPWn/gVD/wDF0f8ADTXwi/6D1p/4FQ//ABdaP/DOXwd/6Fiw/wDAWH/4 - ij/hnL4O/wDQsWH/AICw/wDxFH7rzD975Gd/w018Iv8AoPWn/gVD/wDF0f8A - DTXwi/6D1p/4FQ//ABdaP/DOXwd/6Fiw/wDAWH/4ij/hnL4O/wDQsWH/AICw - /wDxFH7rzD975Gd/w018Iv8AoPWn/gVD/wDF0f8ADTXwi/6D1p/4FQ//ABda - P/DOXwd/6Fiw/wDAWH/4ij/hnL4O/wDQsWH/AICw/wDxFH7rzD975Gd/w018 - Iv8AoPWn/gVD/wDF0f8ADTXwi/6D1p/4FQ//ABdaP/DOXwd/6Fiw/wDAWH/4 - ij/hnL4O/wDQsWH/AICw/wDxFH7rzD975Gd/w018Iv8AoPWn/gVD/wDF0f8A - DTXwi/6D1p/4FQ//ABdaP/DOXwd/6Fiw/wDAWH/4ij/hnL4O/wDQsWH/AICw - /wDxFH7rzD975Gd/w018Iv8AoPWn/gVD/wDF0f8ADTXwi/6D1p/4FQ//ABda - P/DOXwd/6Fiw/wDAWH/4ij/hnL4O/wDQsWH/AICw/wDxFH7rzD975Gd/w018 - Iv8AoPWn/gVD/wDF0f8ADTXwi/6D1p/4FQ//ABdaP/DOXwd/6Fiw/wDAWH/4 - ij/hnL4O/wDQsWH/AICw/wDxFH7rzD975Gd/w018Iv8AoPWn/gVD/wDF0f8A - DTXwi/6D1p/4FQ//ABdaP/DOXwd/6Fiw/wDAWH/4ij/hnL4O/wDQsWH/AICw - /wDxFH7rzD975Gd/w018Iv8AoPWn/gVD/wDF0f8ADTXwi/6D1p/4FQ//ABda - P/DOXwd/6Fiw/wDAWH/4ij/hnL4O/wDQsWH/AICw/wDxFH7rzD975Gd/w018 - Iv8AoPWn/gVD/wDF0f8ADTXwi/6D1p/4FQ//ABdaP/DOXwd/6Fiw/wDAWH/4 - ij/hnL4O/wDQsWH/AICw/wDxFH7rzD975Gd/w018Iv8AoPWn/gVD/wDF0f8A - DTXwi/6D1p/4FQ//ABdaP/DOXwd/6Fiw/wDAWH/4ij/hnL4O/wDQsWH/AICw - /wDxFH7rzD975Gd/w018Iv8AoPWn/gVD/wDF0f8ADTXwi/6D1p/4FQ//ABda - P/DOXwd/6Fiw/wDAWH/4ij/hnL4O/wDQsWH/AICw/wDxFH7rzD975Gd/w018 - Iv8AoPWn/gVD/wDF0f8ADTXwi/6D1p/4FQ//ABdaP/DOXwd/6Fiw/wDAWH/4 - ij/hnL4O/wDQsWH/AICw/wDxFH7rzD975Gd/w018Iv8AoPWn/gVD/wDF0f8A - DTXwi/6D1p/4FQ//ABdaP/DOXwd/6Fiw/wDAWH/4ij/hnL4O/wDQsWH/AICw - /wDxFH7rzD975Gd/w018Iv8AoPWn/gVD/wDF1bsv2jfhTfzrb2+uWjMxx/x8 - wnr9Gqb/AIZy+Dv/AELFh/4Cw/8AxFUdQ/Zr+FNzbPFZaJbWUhBxJBBDG4Pq - CEpfuvMF7XrY9q0nWtM1u1S80u5juYnAIaNgw5GeoJ9a1K+BtM1DXfgH8S7T - w1eXcl1oGryJHCZXZ9rzS7VUZ2KMKnQA195Wtwl3bR3Mf3JVDD6Gs6kLGlOd - yeiiiszQKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK - ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA - KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo - oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii - igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK - ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA - KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo - oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii - igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK - ACiiigAooooAKKKKAP/U/cmesa56fnWzPWNc9PzoAwLrqfwrnLv/ABro7rqf - wrnLv/GgDl7vv9K5a7+9+NdTd9/pXLXf3vxoA+36KKKACiiigAooooA+IPD4 - E/7Ul+so3BLW5IzzjE619v18Q+Gf+TpdS/69Ln/0etfb1b1+noc+H6+oUUUV - gdAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF - ABRRRQAUUUUAFFFFABRRRQB8I/tn4t7j4e3EXyyP4k05Cw6lSZOK+z/CpJ8N - 6aT1MEf8q+L/ANtb73w6/wCxn03/ANq19n+FP+Ra0z/r3j/lXRU/hx+ZzU/4 - k/kdBRRRXOdIUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA - UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR - RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF - FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU - AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA - UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR - RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF - FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU - AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA - UUUUAFFFFABRRRQAUUUUAf/V/cmesa56fnWzPWNc9PzoAwLrqfwrnLv/ABro - 7rqfwrnLv/GgDl7vv9K5a7+9+NdTd9/pXLXf3vxoA+36KKKACiiigAooooA+ - IfDP/J0upf8AXpc/+j1r7er4h8M/8nS6l/16XP8A6PWvt6uiv09DDD9fUKKK - K5zcKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii - igAooooAKKKKACiiigAooooA+EP21vvfDr/sZ9N/9q19n+FP+Ra0z/r3j/lX - xh+2t974df8AYz6b/wC1a+z/AAp/yLWmf9e8f8q6an8OPzOan/El8joKKKK5 - jpCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigD/9b9yZ6xrnp+dbM9Y1z0/OgDAuup/Cucu/8AGujuup/Cucu/ - 8aAOXu+/0rlrv73411N33+lctd/e/GgD7fooooAKKKKACiiigD4h8M/8nS6l - /wBelz/6PWvt6viHwz/ydLqX/Xpc/wDo9a+3q6K/T0MMP19QooornNwooooA - immjt4nnmbakYJY+gFecT/GH4c21xJbT6zGkkZKsNr8EHBH3a6jxhkeFtVx/ - z7yfyr8avhD8KrH4x/GbxR4d1aZxDa/aJ1/eSLyJ9v8AAQe9dFGkpJtvY561 - ZxaSW5+uFv8AF34d3Uohg1mNnbgDa/f/AIDXoNrd297AlzauJIpACpHcGvzr - 8RfsMWkFhLceGL7yLqNWZcyzvlgCQAC3riuJ/Zi+KnibwJ8QdW+EPiidp1tJ - pVwQoxJGyRDk5b8M1ToRavBkfWGmlNWP1Sorkde8e+D/AAvdQ2Wv6rDZT3H+ - rSQkFuccYB71i+Ifi18P/DGoHSdX1mCC8BCmJiQwLYI7ehFc6i2dLkkekUVQ - TU7F7IaiJl+zkZ39sV5bc/Hr4VWt2LSTxBbbjwfmPH6UlFvYbkluew0Vj6Nr - +jeILQX2jXaXcByN6cjI61i3HxC8F2urJodxq0KX0mNsRJ3HJwO3rRZhdHZU - U1HV1DocqwyD7VyOpfEDwbpGrxaDqWrQ2+oTY2QsTuO5to7evFCQNnDeN/jp - 4J8B67b+H9auRHdXG3ap3fxNs7KR1HrXrun30Gp2UN/atuimXcp9q+Z/ip8O - Pg14q8VWGseL7uOLUU2GINNKhbEhYYCnHLV9JaRa2dlptva2H/HtEuE5J4+p - q5qNlYiLd3fY0qK898TfFPwH4RlNvr2rwWsw/gckHt7e9L4Y+KXgTxfJ5Gg6 - vDdTf3EJJ7+3sanle9iuZbHoNFVru8trG3e7u5BFDHyzHoM1haD4y8MeJ3lj - 0DUYr1oSQ4jJO0g4Ocj1pWHc6aiql/fWmmWc2oX8ogtrdC8jt0VV5JNY/h7x - d4b8VwyT+HdQiv44mKMYySAwxkc49RRYLnR0VzHiTxn4Y8IwifxFqEVirdDI - SM9fTPpXI6R8bPhjrVx9ksdftnmLbVUMSWJ9OKai9xOSPVaKarK6hlOQehp1 - SUFFFFABRRRQB8Iftrfe+HX/AGM+m/8AtWvs/wAKf8i1pn/XvH/KvjD9tb73 - w6/7GfTf/atfZ/hT/kWtM/694/5V01P4cfmc1P8AiS+R0FFFFcx0hRRRQAUU - UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR - QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA - BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF - FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU - UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR - QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA - BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF - FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU - UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR - QB//1/3JnrGuen51sz1jXPT86AMC66n8K5y7/wAa6O66n8K5y7/xoA5e77/S - uWu/vfjXU3ff6Vy13978aAPt+iiigAooooAKKKKAPiHwz/ydLqX/AF6XP/o9 - a+3q+IfDP/J0upf9elz/AOj1r7eror9PQww/X1Ciiiuc3CiiigDm/GH/ACK2 - q/8AXvJ/Kvy1/ZM1nSdE/aD8Y3WsXcVnE0NyoaVgoLfaQcAnvX6leMP+RW1X - /r3k/lX4vfCr4WXPxb+MfijQLbUJdOa2NxPvilMROJ9uMgH1rtwqTjJM4MW2 - pRaP14174w/DjQNPmvrzxBZ/u0ZgvnJuYgE4GT1OK/Lb4XrefEz9pvXfFGhw - mSxlnuJlZF/gMyNyVyOhr35f2F5LiZP7U8RXVzECMq10zcfQoa+ufhP8GPCH - wk0o2Wg24a4l5knkCtISQAQHCqcHHSmpwpp8ru2EoTqNcyskfn7+3hLex+Of - DsVnM8cjQuF2sRz5ox0r03wD+yZeeJoIPGHxGvJpdUuSsjKs8qYKEgZUj0Ar - zj9uT/kpfhT6f+11r9VIFC2yKowNo4H0p1KjjTjYIUlKpK5+b/7Vfj/WtPbT - /g74QmeN7ncsjITu+Xy5RhlO4d+1aegfsR6XN4f87XLyV9UcZDLdShRz3BXP - SvB/2pNMv7z47w2yXTWTztiOXcU24gjzhq98i/Zn+MUkSSR+PL8qwBGL+4x/ - KrfuxVnYztzTldXPPfg5rniv4HfFxPhxr90ZbK+8vaGLNjzCW4MhHYelbv7W - ehXnhXxx4W+JunmQQtcW0cgjZsBV3yEkcLj3zWnpf7J3iW38bab4l1/xOb26 - s5FbM1y7yMACAPmXNfUfx78CxeKvhRf6eUElxZ2jtGxGSHWIqCDgnNTKpFTT - T9So0pODT+R3vg7xPb6n4BsteMg2CzjkZiRx+7DGvzl8LW+pfFn9p671h2kl - sNJkliVlJCZguQw6ZHRq6/4f/FYaT8Bte0K4nzqGnJc2yqW+f91DtGAWz1Fe - t/sfeCFsPC9x4xu4z9q1ad58uOcTpG/cZ6+9Qo8iky3L2jivmeQftPmW2+Ju - gwRSMiqYBgMR/wAvBr6u+JnxDPw8+Ff9sRNicRIF6E/M+3oSPWvlL9qj/kqe - h/70H/pQa9D/AGqba6k+EtrPECYo4od2M4/1wqnG6gmNyac2jwb4N/AbWvjx - FL4+8dXkrW96QyIJpYjgbkPABHVR0NM+MnwN1v4BmDxz4DvZUgt87laaWX72 - 2PkEAfxHvX2n+ynf6df/AAk0p9PK7QjZC44/eP6VT/azvtPs/hdeC+K/NswG - x/z1j9aXtpe05ehH1ePs+br3IfCPxKPxN+BU/iB2xcFNrjAUgpLt6An0rxT9 - iiWaTVvEvmSM+JpvvEn/AJbn1qL9mm1uj+z9qUoVjHIW2cHnFw2cU39iiRY9 - d8TW7nbJ5spwev8Arz2pyilGaQ4yblBs+zPjSWX4TeLWUlSNNucEdfuGvkL9 - h28ni8E+I7l3aVor25YbiWPEcR719bfHC4gt/hJ4sM8ipv064C7jjJ2HgV8m - /sG+XJ4R17fgo1/cZz0xsirKn/Dka1P4sT5v127m+MH7Qt14T8Yaq1hpcEsy - qHmaBW23G0IpBPzEMcV9BeP/ANjCwt9ETUPhZezQamjI6NLcyyKQDnoort/i - v+yj4f8AHOvSeJPCmonT9W3NITHKI8OWLk/IuepHevnfxP4f/aV+AkP/AAkD - azJremwsBtL3M+1c45yQBgCulVOa3I7eRySp2vzq/mfoL8ENK8a6H4E0/SPH - Uqz6jawojuoYbmycn5ufTrXsNfPX7Ovxjj+MHhH7fIAL2zSIXAXAAeTd23MR - 0719C1wVU+Z3PRpNcqsFFFFZmgUUUUAfCH7a33vh1/2M+m/+1a+z/Cn/ACLW - mf8AXvH/ACr4w/bW+98Ov+xn03/2rX2f4U/5FrTP+veP+VdNT+HH5nNT/iS+ - R0FFFFcx0hRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR - RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF - ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA - FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU - UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR - RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF - ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA - FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU - UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR - RQAUUUUAFFFFABRRRQB//9D9yZ6xrnp+dbM9Y1z0/OgDAuup/Cucu/8AGuju - up/Cucu/8aAOXu+/0rlrv73411N33+lctd/e/GgD7fooooAKKKKACiiigD4h - 8M/8nS6l/wBelz/6PWvt6viHwz/ydLqX/Xpc/wDo9a+3q6K/T0MMP19Qooor - nNwooooA57xbHJL4Z1SOFGkdreQKqjJJx0AFfmt+yHoHirTf2hPGN5rGgahp - tpJBcCO4ubaSKKQm5BAV2AByORjtX6lUVtTq8sXG25hUo80oyvsFFFFYm5+X - H7bHh7xVqnxG8LXGiaDqGqQxj55LS2kmRP3yn5igIHHPNfqFDkQxg8fKP5VL - RW1SrzRUbbGNOlyylK+58ZftTfs+6j8SdOTxN4OYReIbDmMsdqtuManO1Sx+ - VTjBr5H0X9oj9pXwpZNoN14S1O9kj4Ej2N3ITk54bcK/YWoWt4HcSOgLDoSO - a0p4iy5ZK5lUwt5c0XY/Ov4E+C/jZ4+8Vx+PPiBqF/pdlCw22bSzQ7thIO6K - UHgg+tfoXeWMV3p0mnzDekkZQ55yMY5q/RWVSrzO5tSpcqsfip8Qfhl490j4 - 3DwxpWjapLo2rXYkkmt7eVrUJPMQ291XYML1z2r9evAPh+Lwx4R0vRooxH9n - t4kIAxyqBeeBzxXY0Vdau5pKxFHD8jbvufnF+1BoPiW/+JuiXWlaLfX8CtBu - kt7d5UX9+ScsoIGBz9K+ytf8CWPjrwAvhzVoyoliAIIAIKnI+8D39q9ToqZV - m0l2KVHVt9T8d8/Hv9mXW7jQPDulXmtaOxHkiCG4uY1AGT/q9qjJc0nl/Hn9 - p3XodD8R6Xe6JpCE+aZobi2Q5XcMeZuU/Mg/Ov2GkijlXbIoYehojjjiXZGo - VR2FbfW+vLqc/wBTe3Np2PPfAvw40PwR4Ng8H2Ef+ixg7gQvJZtx6ADr7V+Z - 3jHQ/i7+zz8SrzX/AATpF3q1hqD7itvDNOgBYvyIgoHWv12prorqUcblPUGs - qddptvW5vVoKSSTtY/IzXPFv7Rfx68N6vbXGh3ejWWm2sk7xtb3Nu9xsG0xo - rFg5YNwvevcv2H/DniPTvAuvadrul3ujzS3dwq/aoXgcgxxAMu8A/Q+1foAk - aRrtjUKPQU+rnibxcUrGcMK1JScrn5TfE3S/2ifgn8RZ/F2hT6l4l0y9eRo7 - aJrm7jRJJSy5SPABCrj2zXMeKPjL+0N8ZbOLwN/wh97p0d4yh5nsbqFFGcHc - 5LAcHuK/X8gMMEZBpkcUUWRGoXPXFVHFLrHUiWDd9JaHgP7OvwdT4P8AgyPT - Ztp1C6ji+1MuCC8e7GDtUng96+gqKK5ZycndnZCCirIKKKKkoKKKKAPhD9tb - 73w6/wCxn03/ANq19n+FP+Ra0z/r3j/lXxh+2t974df9jPpv/tWvs/wp/wAi - 1pn/AF7x/wAq6an8OPzOan/El8joKKKK5jpCiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD//R/cmesa56fnWz - PWNc9PzoAwLrqfwrnLv/ABro7rqfwrnLv/GgDl7vv9K5a7+9+NdTd9/pXLXf - 3vxoA+36KKKACiiigAooooA+IfDP/J0upf8AXpc/+j1r7er4h8M/8nS6l/16 - XP8A6PWvt6uiv09DDD9fUKKKK5zcKKKKACiiigAooooAKKKKACiiigAooooA - KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA+EP21vvfDr/s - Z9N/9q19n+FP+Ra0z/r3j/lXxh+2t974df8AYz6b/wC1a+z/AAp/yLWmf9e8 - f8q6an8OPzOan/El8joKKKK5jpCiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigD/9L9yZ6xrnp+dbUwzmsW56fn - QBgXXU/hXOXf+NdJdd6526Gf1oA5W77/AErlrv73411d4Bg/SuWugM/jQB9u - 0UUUAFFFFABRRRQB8QeGf+TpdS/69Ln/ANHrX2/Xwp4zuz8M/j1beLNRXbZa - mhgMh6AzT59z0HpX2vpOs6drdnHfadMJYpRkEen41vW1sznoaXXmalFJketG - R61gdAtFJketGR60ALRSZHrRketAC0UmR60ZHrQAtFJketGR60ALRSZHrRke - tAC0UmR60ZHrQAtFJketGR60ALRSZHrRketAC0UmR60ZHrQAtFJketGR60AL - RSZHrRketAC0UmR60ZHrQAtFJketGR60ALRSZHrRketAC0UmR61FNcQwRmWV - wqrySaAPhb9tYZb4df8AYzab/wC1a+z/AAp/yLWmf9e8f8q+HvjdqcXxb+Jv - hrwVof79NE1C1vpXHRTBKyMOcf3vU193aNaNYaVaWTdYY1Q/gK6KvwRRzUvj - kzTooornOkKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKAP/9P9y5e9Ylz0/OtuXvWPcDigDnrrvXPXXT866S6H - JrnboZ/WgDlbwZB+lcvd8H8a6y7Xg1y92Pm/GgD7XooooAKKKKACiiigDz74 - jfDzRviNoE+iaqCBIpCup2lSVIByOe9fIdp8BPjP8PGex+Gmu20dln5RdQvc - EDp1JFfftFawquOhlOipas+Ef+EP/a8/6GLSv/Be3/xVH/CH/tef9DFpX/gv - b/4qvu6ir+sPsvuI+rru/vZ8I/8ACH/tef8AQxaV/wCC9v8A4qj/AIQ/9rz/ - AKGLSv8AwXt/8VX3dRR9YfZfcP6uu7+9nwj/AMIf+15/0MWlf+C9v/iqP+EP - /a8/6GLSv/Be3/xVfd1FH1h9l9wfV13f3s+Ef+EP/a8/6GLSv/Be3/xVH/CH - /tef9DFpX/gvb/4qvu6ij6w+y+4Pq67v72fCP/CH/tef9DFpX/gvb/4qj/hD - /wBrz/oYtK/8F7f/ABVfd1FH1h9l9wfV13f3s+Ef+EP/AGvP+hi0r/wXt/8A - FUf8If8Atef9DFpX/gvb/wCKr7uoo+sPsvuD6uu7+9nwj/wh/wC15/0MWlf+ - C9v/AIqj/hD/ANrz/oYtK/8ABe3/AMVX3dRR9YfZfcH1dd397PhH/hD/ANrz - /oYtK/8ABe3/AMVR/wAIf+15/wBDFpX/AIL2/wDiq+7qKPrD7L7g+rru/vZ8 - I/8ACH/tef8AQxaV/wCC9v8A4qj/AIQ/9rz/AKGLSv8AwXt/8VX3dRR9YfZf - cH1dd397PhH/AIQ/9rz/AKGLSv8AwXt/8VR/wh/7Xn/QxaV/4L2/+Kr7uoo+ - sPsvuD6uu7+9nwj/AMIf+15/0MWlf+C9v/iqP+EP/a8/6GLSv/Be3/xVfd1F - H1h9l9wfV13f3s+Ef+EP/a8/6GLSv/Be3/xVH/CH/tef9DFpX/gvb/4qvu6i - j6w+y+4Pq67v72fCP/CH/tef9DFpX/gvb/4qj/hD/wBrz/oYtK/8F7f/ABVf - d1FH1h9l9wfV13f3s+Ef+EP/AGvP+hi0r/wXt/8AFUf8If8Atef9DFpX/gvb - /wCKr7uoo+sPsvuD6uu7+9nwj/wh/wC15/0MWlf+C9v/AIqj/hD/ANrz/oYt - K/8ABe3/AMVX3dRR9YfZfcH1dd397PhH/hD/ANrz/oYtK/8ABe3/AMVVe6+F - 37S/iaI6Z4n8QWDWcvyv5Nm8TYPBwwbjivvaij6w+y+4X1dd397PCPg38EtJ - +Ftm8odrm/uctLIzFvmYLnG7kcrXu9FFYyk27s2jFJWQUUUVJQUUUUAFFFFA - BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF - FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU - UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR - QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA - BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF - FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU - UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR - QAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA - BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAf - /9T9zphmsW45H51ty96yLgcHFAHP3I6iueuh1/GuluR1rn7lf60Actdr1rmL - pfm/Gutu16/SuauU+b8aAPsiiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo - oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig - AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC - iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK - KKACiiigAooooAKKKKACiiigAooooA//1f3SlHWsm4HHFbMq9ayphQBgXKnm - sG4X+tdLcDJNYdwnX8aAOVu14Nc3cx/Nn3rr7lMZrnblPm/GgD6xooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi - iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK - KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo - AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA - ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/ - 1v3YkHWsyZeDWxIKzpUFAGFcL1rGuF4/OuhnXqKyJ0/rQBzFynBrAuIst+Nd - ZcRg5rEuIufxoA+kaKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo - oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii - igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK - ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA - KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo - oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii - igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK - ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA - KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo - oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii - igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK - ACiiigAooooAKKKKACiiigD/1/3hkWqEq1quBVKReKAMWZck1lzRn0rfkSs+ - WOgDmp4utY88VdVNEDWTNDQBXl8X+Jl+7d4/7Zx//E1my+NvFi9L3H/bKP8A - +Jp09uKyZragB8nj3xivS/8A/IUX/wARWe/xE8bjpqH/AJBi/wDiKjltB3FZ - stmOwoAtyfEnx0vTUf8AyDD/APEVVb4m+PR01L/yBD/8RVCSyB7VTexHoKAN - Rvih4/HTU/8AyBD/APEVA3xS+IQ6an/5Ag/+IrJexHoKgNiPQUAbJ+KnxE/6 - Cn/kCD/4imf8LV+Iv/QU/wDIEH/xFYZsRjoKZ9gHtQBu/wDC1viL/wBBT/yB - B/8AEUf8LW+Iv/QU/wDIEH/xFYX2Bfaj7AvtQBu/8LW+Iv8A0FP/ACBB/wDE - Uf8AC1viL/0FP/IEH/xFYX2Bfaj7AvtQBu/8LW+Iv/QU/wDIEH/xFH/C1viL - /wBBT/yBB/8AEVhfYF9qPsC+1AG7/wALW+Iv/QU/8gQf/EUf8LW+Iv8A0FP/ - ACBB/wDEVhfYF9qPsC+1AG7/AMLW+Iv/AEFP/IEH/wARR/wtb4i/9BT/AMgQ - f/EVhfYF9qPsC+1AG7/wtb4i/wDQU/8AIEH/AMRR/wALW+Iv/QU/8gQf/EVh - fYF9qPsC+1AG7/wtb4i/9BT/AMgQf/EUf8LW+Iv/AEFP/IEH/wARWF9gX2o+ - wL7UAbv/AAtb4i/9BT/yBB/8RR/wtb4i/wDQU/8AIEH/AMRWF9gX2o+wL7UA - bv8Awtb4i/8AQU/8gQf/ABFH/C1viL/0FP8AyBB/8RWF9gX2o+wL7UAbv/C1 - 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 - F9gX2o+wL7UAbv8Awtb4i/8AQU/8gQf/ABFH/C1viL/0FP8AyBB/8RWF9gX2 - o+wL7UAf/9D97HFVHUmr7DsKrsooAzZEzVGSPNa7qKpyJQBiyRZrOlhzxit+ - SPNU5IvWgDmJYKzpLf2rqJYfaqMlvmgDl5Lf2rPktfb9K6x7f2qq9t7UAcm9 - r7fpVV7T2/Suse19qrm29qAOTa0z2/SoWsz6fpXWNa+1Rm09qAOSNnnt+lN+ - x+36V1f2T2/WmG09v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/O - K6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7 - H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7fr - R9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9 - v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA - 5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F - /nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH - 2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/O - K6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7 - H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7fr - R9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9 - v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA - 5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F - /nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH - 2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/O - K6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7 - H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7fr - R9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9 - v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA - 5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F - /nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH - 2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/O - K6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7 - H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7fr - R9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9 - v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA - 5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F - /nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH - 2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/O - K6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7 - H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7fr - R9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9 - v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA - 5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F - /nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH - 2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/O - K6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7 - H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7fr - R9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9 - v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA - 5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F - /nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH - 2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/O - K6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7 - H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7fr - R9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9 - v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA - 5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F - /nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH - 2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/O - K6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7 - H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7fr - R9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9 - v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA - 5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F/nFH2L/OK6r7H7frR9j9v1oA5X7F - /nFL9jPp+ldR9j9v1pfsft+tAHLfYz6fpR9jPp+ldT9j9v1o+x+360Act9jP - p+lH2M+n6V1P2P2/Wj7H7frQB//R/fQioGAqyRUbDNAFJ1qBlBq+VqFloAzX - jGKqPFWs6VA0dAGHJFmqrxVuNFUBi5oAwXgqs0FdA8NQmHtQBz7W49Kha2Ho - K6EwZ4qIwEetAHPG27YFR/Zx6CuiMB96jNuTQBz5tu+Kb9n9hXRfZz7002/1 - oA5/7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+zn3o+zn3oAwfs/sKPs/sK - 3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+zn3o+zn3oAw - fs/sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+z - n3o+zn3oAwfs/sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegDB+z+ - wo+z+wre+zn3o+zn3oAwfs/sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct77Ofej - 7OfegDB+z+wo+z+wre+zn3o+zn3oAwfs/sKPs/sK3vs596Ps596AMH7P7Cj7 - P7Ct77Ofej7OfegDB+z+wo+z+wre+zn3o+zn3oAwfs/sKPs/sK3vs596Ps59 - 6AMH7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+zn3o+zn3oAwfs/sKPs/sK - 3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+zn3o+zn3oAw - fs/sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+z - n3o+zn3oAwfs/sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegDB+z+ - wo+z+wre+zn3o+zn3oAwfs/sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct77Ofej - 7OfegDB+z+wo+z+wre+zn3o+zn3oAwfs/sKPs/sK3vs596Ps596AMH7P7Cj7 - P7Ct77Ofej7OfegDB+z+wo+z+wre+zn3o+zn3oAwfs/sKPs/sK3vs596Ps59 - 6AMH7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+zn3o+zn3oAwfs/sKPs/sK - 3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+zn3o+zn3oAw - fs/sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+z - n3o+zn3oAwfs/sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegDB+z+ - wo+z+wre+zn3o+zn3oAwfs/sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct77Ofej - 7OfegDB+z+wo+z+wre+zn3o+zn3oAwfs/sKPs/sK3vs596Ps596AMH7P7Cj7 - P7Ct77Ofej7OfegDB+z+wo+z+wre+zn3o+zn3oAwfs/sKPs/sK3vs596Ps59 - 6AMH7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+zn3o+zn3oAwfs/sKPs/sK - 3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+zn3o+zn3oAw - fs/sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+z - n3o+zn3oAwfs/sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegDB+z+ - wo+z+wre+zn3o+zn3oAwfs/sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct77Ofej - 7OfegDB+z+wo+z+wre+zn3o+zn3oAwfs/sKPs/sK3vs596Ps596AMH7P7Cj7 - P7Ct77Ofej7OfegDB+z+wo+z+wre+zn3o+zn3oAwfs/sKPs/sK3vs596Ps59 - 6AMH7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+zn3o+zn3oAwfs/sKPs/sK - 3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+zn3o+zn3oAw - fs/sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+z - n3o+zn3oAwfs/sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegDB+z+ - wo+z+wre+zn3o+zn3oAwfs/sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct77Ofej - 7OfegDB+z+wo+z+wre+zn3o+zn3oAwfs/sKPs/sK3vs596Ps596AMH7P7Cj7 - P7Ct77Ofej7OfegDB+z+wo+z+wre+zn3o+zn3oAwfs/sKPs/sK3vs596Ps59 - 6AMH7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+zn3o+zn3oAwfs/sKPs/sK - 3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+zn3o+zn3oAw - fs/sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+z - n3o+zn3oAwfs/sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegDB+z+ - wo+z+wre+zn3o+zn3oAwfs/sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct77Ofej - 7OfegDB+z+wo+z+wre+zn3o+zn3oAwfs/sKPs/sK3vs596Ps596AMH7P7Cj7 - P7Ct77Ofej7OfegDB+z+wo+z+wre+zn3o+zn3oAwfs/sKPs/sK3vs596Ps59 - 6AMH7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+zn3o+zn3oAwfs/sKPs/sK - 3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+zn3o+zn3oAw - fs/sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegDB+z+wo+z+wre+z - n3o+zn3oAwfs/sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct37Ofel+zn3oAwfs/ - sKPs/sK3vs596Ps596AMH7P7Cj7P7Ct77Ofej7OfegD/0v34qM96kqM96AIj - 0qJulSnpUbdKAIm61C9TN1qF6AK7d6hap271A1AETAZqIgZqZutRHrQBFgUw - gZp9MPWgBjAU3ApzU2gAwKjwKkqOgAwKMCiigAwKMCiigAwKMCiigAwKMCii - gAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwK - MCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCii - gAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwK - MCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCii - gAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwK - MCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCii - gAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwK - MCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCii - gAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwK - MCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCii - gAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwK - MCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCii - gAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwK - MCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCii - gAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwKMCiigAwK - MCiigAwKMCiigAwKMCiigAwKMCiigD//2Q== - - type - public.jpeg - - ApplicationVersion - - com.omnigroup.OmniGraffle7 - 205.27.2 - - CreationDate - 2024-01-16 21:15:25 +0000 - Creator - Glenn Rodgers - FileType - flat - GraphDocumentVersion - 16 - GuidesLocked - NO - GuidesVisible - YES - ImageCounter - 2 - Images - - - Extension - png - ID - 1 - RawData - - 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 - R94xQA1sDWIMZhhsM2gzGDA0Mgw2FBmuNzxt2GekY+RnlG202uiE - Ua8xzdjHWGC82rjZ+Dldm86k59LX0Vvp/SYGJiEmEpOtJu0mn02t - TONNi033md43o5gxzDLMVpu1mPWbG5uPM59pXmN+x4JswbDIslhr - cc7ivaWVZaLlQst6yx4rXSu2VZFVjdU9a6q1r/UU6yrr6zZEG4ZN - js1Gmyu2qK2rbZZthe1lO9TOzU5gt9GuYxRhlMco4aiqUZ32KvZM - +0L7GvuHDjoO4Q7FDvUOL0ebj04ZvWL0udHfHF0dcx23O94dozkm - dEzxmKYxr51snbhOFU7XnanOQc5znBucX7nYufBdNrnccqW5jnNd - 6Nri+tXN3U3sVuvW627unuZe6d7J0GJEMZYwznsQPPw95ngc8/jo - 6eZZ4HnQ8y8ve68cr91ePWOtxvLHbh/72NvUm+O91bvLh+6T5rPF - p8vXxJfjW+X7yM/Mj+e3w+8Z04aZzdzDfOnv6C/2P+L/nuXJmsU6 - GYAFBAeUBrQHagbGB24IfBBkGpQZVBPUH+waPCP4ZAghJCxkRUgn - 25DNZVez+0PdQ2eFtoaphMWGbQh7FG4bLg5vGoeOCx23aty9CIsI - YUR9JIhkR66KvB9lFTUl6mg0MToquiL6acyYmJkx52JpsZNid8e+ - i/OPWxZ3N946XhLfkqCWkJpQnfA+MSBxZWJX0uikWUmXkvWTBckN - KaSUhJQdKQPjA8evGd+d6ppaknpzgtWEaRMuTNSfmDvx+CS1SZxJ - h9IIaYlpu9O+cCI5VZyBdHZ6ZXo/l8Vdy33B8+Ot5vXyvfkr+c8y - vDNWZvRkemeuyuzN8s0qz+oTsAQbBK+yQ7I3Z7/PiczZmTOYm5i7 - L08pLy2vUagpzBG2TjaaPG1yh8hOVCLqmuI5Zc2UfnGYeEc+kj8h - v6FAC/7It0msJb9IHhb6FFYUfpiaMPXQNI1pwmlt022nL57+rCio - 6LcZ+AzujJaZJjPnzXw4izlr62xkdvrsljlmcxbM6Z4bPHfXPMq8 - nHm/FzsWryx+Oz9xftMCwwVzFzz+JfiXmhLVEnFJ50KvhZsX4YsE - i9oXOy9ev/hbKa/0YpljWXnZlyXcJRd/HfPrul8Hl2YsbV/mtmzT - cuJy4fKbK3xX7FqpsbJo5eNV41bVraavLl39ds2kNRfKXco3r6Ws - laztWhe+rmG9+frl679syNpwo8K/Yl+lQeXiyvcbeRuvbvLbVLvZ - cHPZ5k9bBFtubQ3eWldlWVW+jbitcNvT7Qnbz/3G+K16h/6Osh1f - dwp3du2K2dVa7V5dvdtg97IatEZS07sndc+VvQF7G2rta7fu09lX - th/sl+x/fiDtwM2DYQdbDjEO1R62OFx5hHaktA6pm17XX59V39WQ - 3NDRGNrY0uTVdOSow9Gdx0yOVRzXPr7sBOXEghODzUXNAydFJ/tO - ZZ563DKp5e7ppNPXW6Nb28+EnTl/Nujs6XPMc83nvc8fu+B5ofEi - 42L9JbdLdW2ubUd+d/39SLtbe91l98sNVzyuNHWM7Thx1ffqqWsB - 185eZ1+/dCPiRsfN+Ju3OlM7u27xbvXczr396k7hnc93594j3Cu9 - r36//IHBg6o/bP7Y1+XWdfxhwMO2R7GP7j7mPn7xJP/Jl+4FT6lP - y58ZP6vuceo51hvUe+X5+OfdL0QvPveV/KnxZ+VL65eH//L7q60/ - qb/7lfjV4Oslb/Te7Hzr8rZlIGrgwbu8d5/fl37Q+7DrI+PjuU+J - n559nvqF9GXdV5uvTd/Cvt0bzBscFHHEHNmvAAYbmpEBwOudAFCT - AaDB/RllvHz/JzNEvmeVIfCfsHyPKDM3AGrh/3t0H/y76QRg/3a4 - /YL6aqkARFEBiPMAqLPzcBvaq8n2lVIjwn3Aloiv6Xnp4N+YfM/5 - Q94/n4FU1QX8fP4Xwf18T5R9ewoAAACKZVhJZk1NACoAAAAIAAQB - GgAFAAAAAQAAAD4BGwAFAAAAAQAAAEYBKAADAAAAAQACAACHaQAE - AAAAAQAAAE4AAAAAAAAAkAAAAAEAAACQAAAAAQADkoYABwAAABIA - AAB4oAIABAAAAAEAAASYoAMABAAAAAEAAAHQAAAAAEFTQ0lJAAAA - U2NyZWVuc2hvdPzJhcsAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAHX - aVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8eDp4bXBtZXRhIHht - bG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29y - ZSA2LjAuMCI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDov - L3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+ - CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAg - ICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5j - b20vZXhpZi8xLjAvIj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGlt - ZW5zaW9uPjQ2NDwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAg - ICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4xMTc2PC9leGlmOlBp - eGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6VXNlckNvbW1l - bnQ+U2NyZWVuc2hvdDwvZXhpZjpVc2VyQ29tbWVudD4KICAgICAg - PC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94Onht - cG1ldGE+CjKc1CMAAAAcaURPVAAAAAIAAAAAAAAA6AAAACgAAADo - AAAA6AAALWGXocChAAAtLUlEQVR4AezdeZxXdb0/8PcwDPuiCCqg - ophXJQ1JTcsFUzPTNOuWml68hYZeF7B+dSUzxV1bzNzFypuamft2 - 3TfCLUFDUVmSTdYBWQdZBmbO75xjIDAEjt+B73y5z/N4DPOdcz6f - cz6f5+f4h6/H5/P5liXpEQ4CBAgQIECAAAECBAgQIECAAAECn1Kg - TMD0KeVUI0CAAAECBAgQIECAAAECBAgQyAUETF4EAgQIECBAgAAB - AgQIECBAgACBggQETAXxqUyAAAECBAgQIECAAAECBAgQICBg8g4Q - IECAAAECBAgQIECAAAECBAgUJCBgKohPZQIECBAgQIAAAQIECBAg - QIAAAQGTd4AAAQIECBAgQIAAAQIECBAgQKAgAQFTQXwqEyBAgAAB - AgQIECBAgAABAgQICJi8AwQIECBAgAABAgQIECBAgAABAgUJCJgK - 4lOZAAECBAgQIECAAAECBAgQIEBAwOQdIECAAAECBAgQIECAAAEC - BAgQKEhAwFQQn8oECBAgQIAAAQIECBAgQIAAAQICJu8AAQIECBAg - QIAAAQIECBAgQIBAQQICpoL4VCZAgAABAgQIECBAgAABAgQIEBAw - eQcIECBAgAABAgQIECBAgAABAgQKEhAwFcSnMgECBAgQIECAAAEC - BAgQIECAgIDJO0CAAAECBAgQIECAAAECBAgQIFCQgICpID6VCRAg - QIAAAQIECBAgQIAAAQIEBEzeAQIECBAgQIAAAQIECBAgQIAAgYIE - BEwF8alMgAABAgQIECBAgAABAgQIECAgYPIOECBAgAABAgQIECBA - gAABAgQIFCQgYCqIT2UCBAgQIECAAAECBAgQIECAAAEBk3eAAAEC - BAgQIECAAAECBAgQIECgIAEBU0F8KhMgQIAAAQIECBAgQIAAAQIE - CAiYvAMECBAgQIAAAQIECBAgQIAAAQIFCQiYCuJTmQABAgQIECBA - gAABAgQIECBAQMDkHSBAgAABAgQIECBAgAABAgQIEChIQMBUEJ/K - BAgQIECAAAECBAgQIECAAAECAibvAAECBAgQIECAAAECBAgQIECA - QEECAqaC+FQmQIAAAQIECBAgQIAAAQIECBAQMHkHCBAgQIAAAQIE - CBAgQIAAAQIEChIQMBXEpzIBAgQIECBAgAABAgQIECBAgMBGCZiW - LFkS06ZNiyZNmsTWW28dLVq0IE+AAAECBAgQIECAAAECBAgQILCJ - CGyUgGny5MkxYMCA6L7jZ+LsAf1jm2222UT4dIMAAQIECBAgQIAA - AQIECBAgQGCjBEwTJ06M7xz3H/HZHv8Wgy64ILbfvht5AgQIECBA - gAABAgQIECBAgACBTURgowVMx333pNh1153SgOn82L6bgGkTeX90 - gwABAgQIECBAgAABAgQIECAQjSJgSpIksp9sj6ZVj9ra2li8eHEs - XVodLVu2SH9arno5/5zVy46ysrL895r/rO/6muX9TYAAAQIECBAg - QIAAAQIECBAgUD+BogZMy5cvjxEjRsTYsWNj2bLlceSRR0THjh3z - HlRWzozhw4fHpPcnxcKqhdG+ffvYofsOse8++0S7du3yMuPHT4hh - w16LJuXlcVDv3nndVYOmmpqa+Mvdd0dtTW0cdthXYsstt6yfjtIE - CBAgQIAAAQIECBAgQIAAAQLrFShawLRs2bJ49dVX48abbo5xaVB0 - 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 - AQIECBAgQIAAgQYQKPmAaerUqXH2D38YI996Kw79ylfiogsvjA6+ - Oa4BXg23IECAAAECBAgQIECAAAECBAh8MoGSD5hqa2tjwYIF+abf - 2cbfTZs2/WQ9V4oAAQIECBAgQIAAAQIECBAgQKBBBEo+YGoQBTch - QIAAAQIECBAgQIAAAQIECBD41AICpk9NpyIBAgQIECBAgAABAgQI - ECBAgEAmIGDyHhAgQIAAAQIECBAgQIAAAQIECBQkIGAqiE9lAgQI - ECBAgAABAgQIECBAgAABAZN3gAABAgQIECBAgAABAgQIECBAoCAB - AVNBfCoTIECAAAECBAgQIECAAAECBAgImLwDBAgQIECAAAECBAgQ - IECAAAECBQkImAriU5kAAQIECBAgQIAAAQIECBAgQEDA5B0gQIAA - AQIECBAgQIAAAQIECBAoSEDAVBCfygQIECBAgAABAgQIECBAgAAB - AgIm7wABAgQIECBAgAABAgQIECBAgEBBAgKmgvhUJkCAAAECBAgQ - IECAAAECBAgQEDB5BwgQIECAAAECBAgQIECAAAECBAoSEDAVxKcy - AQIECBAgQIAAAQIECBAgQICAgMk7QIAAAQIECBAgQIAAAQIECBAg - UJCAgKkgPpUJECBAgAABAgQIECBAgAABAgQETN4BAgQIECBAgAAB - AgQIECBAgACBggQETAXxqUyAAAECBAgQIECAAAECBAgQICBg8g4Q - IECAAAECBAgQIECAAAECBAgUJCBgKohPZQIECBAgQIAAAQIECBAg - QIAAAQGTd4AAAQIECBAgQIAAAQIECBAgQKAgAQFTQXwqEyBAgAAB - AgQIECBAgAABAgQICJi8AwQIECBAgAABAgQIECBAgAABAgUJCJgK - 4lOZAAECBAgQIECAAAECBAgQIEBAwOQdIECAAAECBAgQIECAAAEC - BAgQKEhAwFQQn8oECBAgQIAAAQIECBAgQIAAAQIbPWBKkiRW/OAn - QIAAAQIECBAgQIAAAQIECBDY8AJlZWX5Q7LfKz435FM3WsBUW1sb - VVVVMXny5KisrIxFixblQVNDdsa9CBAgQIAAAQIECBAgQIAAAQIE - 6gqUl5dHu3btYptttonOnTtHixYt6hYq4MxGCZiycGnKlCnx9NNP - x+zZs6OioiKaNGlSQLNVJUCAAAECBAgQIECAAAECBAgQ+KQC2Wqy - mpqaWLp0afTs2TMOPPDAaNu27Setvt5yGzxgyjqQhUv33ntv3on9 - 9tsvevToEe3bt19v4xQgQIAAAQIECBAgQIAAAQIECBAoXCALl2bM - mBHDhw+PN954I3r16hVHHnlktGzZsvCbp3fY4AFTtizukUceiVmz - ZuUN7969u9lLDTJ0bkKAAAECBAgQIECAAAECBAgQqJ9AdXV1DB06 - NF566aX46le/Gl/4whcaZE+mDR4wjRo1Kp588snYc889I5u9ZGlc - /QZeaQIECBAgQIAAAQIECBAgQIBAQwosWLAg7rnnnsi2NOrTp0+D - 7Me0wQOmF198MYYNGxbHHntsdO3atSE93IsAAQIECBAgQIAAAQIE - CBAgQKCeAtlyuZdffjmfEDRw4MBo06ZNPe9Qt/gGD5ieeeaZGDly - ZPTt29e+S3X9nSFAgAABAgQIECBAgAABAgQIbHSBESNGxK233hqX - XnqpgGmj63sgAQIECBAgQIAAAQIECBAgQGATEHjzzTfj97//fR4w - NcS3yZnBtAm8FLpAgAABAgQIECBAgAABAgQIEKiPgICpPlrKEiBA - gAABAgQIECBAgAABAgQI1BEQMNUhcYIAAQIECBAgQIAAAQIECBAg - QKA+AgKm+mgpS4AAAQIECBAgQIAAAQIECBAgUEdAwFSHxAkCBAgQ - IECAAAECBAgQIECAAIH6CAiY6qOlLAECBAgQIECAAAECBAgQIECA - QB0BAVMdEicIECBAgAABAgQIECBAgAABAgTqIyBgqo+WsgQIECBA - gAABAgQIECBAgAABAnUEBEx1SJwgQIAAAQIECBAgQIAAAQIECBCo - j4CAqT5ayhIgQIAAAQIECBAgQIAAAQIECNQREDDVIXGCAAECBAgQ - IECAAAECBAgQIECgPgICpvpoKUuAAAECBAgQIECAAAECBAgQIFBH - QMBUh8QJAgQIECBAgAABAgQIECBAgACB+ggImOqjpSwBAgQIECBA - gAABAgQIECBAgEAdAQFTHRInCBAgQIAAAQIECBAgQIAAAQIE6iMg - YKqPlrIECBAgQIAAAQIECBAgQIAAAQJ1BARMdUicIECAAAECBAgQ - IECAAAECBAjUX2DRkpqYs3B5jK9cHLMWVEents2ie+eW0aFNRbRq - 3mTlDUdOWhjPvv5BbLN1y/j2l7Zaeb6UPwiYSnn0tJ0AAQIECBAg - QIAAAQIECBAoukCStmDmvOr488sz4/XR82P2wtpY2qQsmtcmsUWb - JtFrl/Zx0v5bRsd2zfK23j98Tlx596T4Qo/2ce33uhe9/Q3RAAFT - Qyi6BwECBAgQIECAAAECBAgQIPB/VmDpstq49ulpcc+QmdFj21bx - tZ6bRdMWTaO2uib+8ursmFS5JE46eOs47bDO0TQNnh5IA6Zf3Dcp - 9tm5fVwtYFrre1OWpMdarzTQyWeeeSZGjhwZffv2jfbt2zfQXd2G - AAECBAgQIECAAAECBAgQIPDpBOYsXBYnXzcmqpZHDP7BjtF9q5Yr - bzRm2qL43o3/iCQpiyfP+2y0b1G+WsB01X92j5qaJBYvr42WFU2i - vCyiSRpCrXmkk6GiJv0nK1ueXi9Li6z4nZXNrmVlytOVeE2yi+mR - JTTZ+exYtWx2fnl6PntM9qy6T8ur1OsfM5jqxaUwAQIECBAgQIAA - AQIECBAgQGB1gcp0eVyfq0bFlp1axC2n7ZQHRStKLE8Dob+NnR/T - 5lTHN/bpFM2a/nMG0/3vR6/ubeKw3TeLIW/OicVLlke7thXxhV3a - xeG9OkabNIhacVQtXh5P/X1OvDG+Kualz2paURZdO7eKQ3tsHp/b - oU1e7IWRc+K5kfPi6L22iH133Sw/N2t+ddzxwvRYtrQmTjy4S3Tt - 2CIPnSbOWBR/eGJqfHHX9tE7fVbrVfaHWvHM+v4WMK1FLJuEVfbP - tG8tl1eeauhyK29cwh8+qUkJd1HTCRAgQIAAAQIECBAgQIDAagJz - sxlM6SylGWn48+OvbR29dtostu3YPJpm05HSY1kaMtWmM4aapTOU - sjP5Erk0YGqdhkgdWpdHj64to0UaPA0duzCq0+V2/Y/sEkft1TGv - uzANl/4ypDJuf/GD6LR5Rey2Tcv4cEltjJy6OLZK6551RNfYY8e2 - abg0Ny69b0r0/dLmcdLh2+Z1/zG5Kv7zxnHRulmT+PHRXeMrvbaI - LPB6+o0P4pK7p8SFx3aNg/fqlC/byysU8I+AaRW8qVOnxl//+teY - PXt27LLLLrH//vtHixYtVinx0ccZM2bE888/H7NmzYoddtghDj30 - 0GjZ8uPpbysqzJkzJ7IlfTNnzoztttsuDjnkkGjduvWKyyt/f/DB - B/HYY4/Fhx9+GLvuumv07t17rQFXVu7xxx/Py+22226x3377rbXc - 9OnT4+mnn15Zbt99942KioqVz8s+ZEHQ+PHjY8iQIbFs2bLYY489 - Ys8994ymTZuuVi77Y+LEifHCCy/EokWL4rOf/WwccMAB6RS6j3e/ - X1Hh3XffjaFDh6b/0dRG9sxevXqtuOQ3AQIECBAgQIAAAQIECBDY - ZAWy0OYvr8yM6/93WixfnsTnd2gVPTu3iI4dWsTndmofO3dZPTNY - ETBli9cuOW67+OIu6Z5N6f9mP/XO3Lj4nsmxTzqz6dqTP5Mvbxv6 - 7tw497ZJ0WOb5nHWUdvGZ7q0TkOomnhqxJy46anK2G/HlnHOsd1j - 4aJlcdpN78Ve2zWP07+5fbRrWR4vpGV+8seJUZF+Pn7/LeLsI7eN - xelspt8+NjWGjqqKK7+7XfTcsV2DjEtDB0xZcLFBjzQ4Sa666qpk - 3rx5DfqcBQsWJFdffXXSvHnzJA1Pks985jPJK6+8UucZaciS/PrX - v04222yzvFyXLl2SRx99NElDldXKZn/ffPPNyRZbbJGX23zzzZMH - H3wwqUkXS656pKFSMnDgwCSdMZWXS4OZ5MUXX1y1SP557ty5yUUX - XZS9e3m5L33pS8lrr71Wp1wajiWXXXbZynJ77bXXWsuloVcyYMCA - pFWrVvn90rAqSfe2qnO/qqqqvFy7du3ycmnAlAwfPrxOfxcvXpwc - dthhK/tx4IEHJlOmTKlzPycIECBAgAABAgQIECBAgMCmKLBoSU2S - zgxKjr52dHLgT/+e7POT15O9z3kjOeEXbydX3jMhGTP1w/T/pT/q - +f3DZif7/vSN5OCLRybpXkgrj6lzlibH/mZUctzlb+Xn0tlMyaAH - 3k/2Scv+eci0leWyD/MXVien3jQmOfaKt5M3J1Tlf59863vJMZeP - zP+evaA6GXjHuOTU695Njr/qneScW/+RzF+0LJmzYGly6g2jk5+k - f1fOW7raPQv5Y8SIEclZZ52VZPlKQxwlGzCls3SSE044ISkvL0/S - WUZJOuMnD4jWDISyYOaoo45K0pk+eblmzZolF1xwQVJdXb2a3/I0 - sszul13PQpx0hlNy4YUXJgsXLlytXBYcdejQIb9fVi4LkO68887V - ymR/pLOrknQWVB7yZPfKQrCHHnqoTrlJkyYlWUiVXc/ul/XngQce - qFNuwoQJSRYCpTO08rZlAdh9991Xp1w6aypJZ1TlwVvmkv3cdNNN - dYKyNKnM2571NyuTtfHJJ5+scz8nCBAgQIAAAQIECBAgQIDApiqQ - fptcUvVhdTLq/arkLy9XJuffNSH591++k+z1/15PTkrDoEXVH006 - yQOmgW8k/W4esxrFrDQUOuXGscm3L34zP5/ONkrO/N17ydcGvZm8 - Mmb14Ca79vN7Jyb7nzcieeK1Wcni9N73vjQj2aP/8OT5N2Ylk2cu - Sr48aGRy2xOTk989My056bfvJiPGL0jbtjD5zi/eSW55fHKSbgDe - YIeA6Z+UWZBy9tln50FPFspkM4qyYGbNmUnZjJ4f/OAHeYCThVBZ - kPPb3/62TuCS1TvvvPPy69n9srAnK5cuR1tt8LJk71vf+lb+vKxc - FjCtLThKl+MlJ5544spybdu2TbLZXGse6fK95NRTT11ZLguO1hb0 - TJ48OUmX9uXty/rQo0ePJF3etubtkiwAO/LII1f2o2vXrskTTzxR - xyWbOZW1PetD9tOmTZtk1KhRde7nBAECBAgQIECAAAECBAgQ2NQF - suCmOp2atDQNfUZOWpgcftnbyefOHJaMnvZh3vUVAVP/W8etRvFB - GjD1uykNmC76OGA6/eaxydcvfDMZ/l7VamWzgOlnD0xKvnDu35NH - X6nMZ0eNTYOt3U8bltz25OTkmXQ2Ve8LRyZDRszKA69vpG146m+V - yaPDP0i+lYZej6e/G/IQMP1TMwuExowZk/Tr1y/ZcsstkyuuuOJf - TusaN25c0qdPn3ymzrnnnvsvl+tls4m+//3vJ1kYNGjQoCQLYdY8 - sueOHj06OeaYY5Lu3bsnt9xyS5Itm1vzyGZSjR07Nn/uTjvtlAwe - PDjJluuteWTl0r2QkpNPPjnp1q1bcv3116+1H9kMq5dffjk56KCD - ks6dOyd33333v7zf3/72t2TvvffOZzvdcccday2XtSMLvHr27JmH - Vc8991ydEGrNtvqbAAECBAgQIECAAAECBAhsCgKvjp6fXP3gxOTd - NExa88hmNV2cLnPb/b9eS555e25+eUXANGA9AVO2RO5Hd01MDkhn - KT06bPVAaNGS5UlW/+hL3kpeHTM/v++MOUuSY371bnLW4LHJj/84 - LjnrptHJP6YtSmbOXZIcf82o5IaHJiWXpsv1/jOdzTR+Rt1MYc22 - 1+fvhg6YyrKHpzNZNtiRbZqd7hUUffv2jfbt2zfoc9KwJ9/IOvud - LvVa6wbf2QOz6+meQ+nGXcvzcmvb4HvVcmnok2+enc5iWmt76/Pc - bKPtrHy6V1T+s7YbZs/L2reiH1nZtX0rXtb+rFw2ZNlm5lmf13as - Wm5dz83KZe3Ljqyva9swfG33d44AAQIECBAgQIAAAQIECJSywBsT - FsaPfj8uPr9T2+h/RJfYZov0G+SalEW693eMm74oLnxgcrydbqr9 - 7OV7RMe2TT/6Frn7JsU+O7ePq7/XfWXXZ1cti3PvnBhzZi6Oe37+ - ufwb3+5/7YP45b2T45Dd28UZ6SbfXTZvHunkqHh1zLy44sGpsdMW - FfGzE7rHVu0qYtHS2rhv6PS4/rmZUZ5+Ode/f7599D+mWyxJN/a+ - I/0mukdfn5PWjejZrVX8/Nvdok2rul/0tbIx9fzQ0Jt8l3TAVE87 - xQkQIECAAAECBAgQIECAAAECsXBJTZzz54kxfNT82G2H1nHwv7WN - 1hVlkU4yisdHV8U74xbGnrttHtf02SGaNy37xAFTNoVn5vzquOqh - KfH8m3Nj393axxe3bxUfpkHS0+8uiLkLl8cPj+wSX92rY2Tf9Z7N - +HnrvfnR96Zx0Sr95rizvrpVHLv/1vm30f197Pw47Zbx0Tw9f8rB - W8Z3998qWjSr+w3xn3Y4BUyfVk49AgQIECBAgAABAgQIECBAgEAq - kAVB0+dVxw1PTYtHXpgVTcrKokk6Oag2DZhqasviywd1jPOO6Bqd - 0llG2XF7Oivpqtsmxec+1y7+2G+n/Fz2zwfpDKb//v34mDJjUTx1 - Ra/8/IqQ6fr03o+/Pi+WLVgW6TKl2CqdhXRmGhQdtkeHaF7xcVA0 - KZ39dMbg8VFRUxsXf2+H2K1bm/w+49OZVH0Gj4sm85bFNWfsGD13 - bJ+2M7/UIP8ImBqE0U0IECBAgAABAgQIECBAgACB/+sCS6prY9my - mhg/c0lMnVOdLpVrFjt0yrakKV8tBKpelsTSZcvzIKp1y4+XqWVb - 2CxeUhvpHuF1lq+leznlS91mL1wWLdOZR+1aVUTz9He2FG/VI93q - OdINwNNTZdGieXm6VO6jq+nG4x+dT8Owltn58tXrrXqPT/NZwPRp - 1NQhQIAAAQIECBAgQIAAAQIECPwLgTTLSfdFTqJJGv6skf/8ixqf - /HS2DK5ho6FP/ux1lRQwrUvHNQIECBAgQIAAAQIECBAgQIAAgfUK - CJjWS6QAAQIECBAgQIAAAQIECBAgQIDAugQETOvScY0AAQIECBAg - QIAAAQIECBAgQGC9AgKm9RIpQIAAAQIECBAgQIAAAQIECBAgsC4B - AdO6dFwjQIAAAQIECBAgQIAAAQIECBBYr4CAab1EChAgQIAAAQIE - CBAgQIAAAQIECKxLQMC0Lh3XCBAgQIAAAQIECBAgQIAAAQIE1isg - YFovkQIECBAgQIAAAQIECBAgQIAAAQLrEhAwrUvHNQIECBAgQIAA - AQIECBAgQIAAgfUKCJjWS6QAAQIECBAgQIAAAQIECBAgQIDAugQE - TOvScY0AAQIECBAgQIAAAQIECBAgQGC9AgKm9RIpQIAAAQIECBAg - QIAAAQIECBAgsC4BAdO6dFwjQIAAAQIECBAgQIAAAQIECBBYr4CA - ab1EChAgQIAAAQIECBAgQIAAAQIECKxLQMC0Lh3XCBAgQIAAAQIE - CBAgQIAAAQIE1isgYFovkQIECBAgQIAAAQIECBAgQIAAAQLrEii5 - gOn555+PESNGRJ8+faJjx47r6ptrBAgQIECAAAECBAgQIECAAAEC - G1ggSZJ4/fXX46677opBgwZFmzZtCn5iWXrTpOC7rOMGWYOHDh0a - hxxySOy+++7rKOkSAQIECBAgQIAAAQIECBAgQIDAhhZYunRpPPbY - YzF+/Pg4/fTTo2XLlgU/coMHTJWVlXHPPfdE+/bt45vf/GaDpGIF - 99oNCBAgQIAAAQIECBAgQIAAAQL/RwXGjRsXt99+e+y9995x+OGH - R3l5ecESGzxgWr58eQwfPjyeeOKJ2G233eKAAw6IDh06RNOmTQtu - vBsQIECAAAECBAgQIECAAAECBAisXyBbwFZdXR1TpkyJBx98MCoq - KuLYY4+Nzp07r7/yJyixwQOmrA2LFy+OYcOGxbPPPhvt2rWLbt26 - 5TOZysrKPkETFSFAgAABAgQIECBAgAABAgQIEPi0Aln+kk0Amj17 - dowZMya23HLLOOKII2LHHXeMhspmNkrAlAFkKdn7778fb731VkyY - MCGqqqpiA2//9Gnd1SNAgAABAgQIECBAgAABAgQIbFIC2TK47MvX - dt5553yP7E6dOjVYuJRBbbSAacWoZKHSip8V5/wmQIAAAQIECBAg - QIAAAQIECBDYsALZbKUVPw39pI0eMDV0B9yPAAECBAgQIECAAAEC - BAgQIECguAICpuL6ezoBAgQIECBAgAABAgQIECBAoOQFBEwlP4Q6 - QIAAAQIECBAgQIAAAQIECBAoroCAqbj+nk6AAAECBAgQIECAAAEC - BAgQKHkBAVPJD6EOECBAgAABAgQIECBAgAABAgSKKyBgKq6/pxMg - QIAAAQIECBAgQIAAAQIESl5AwFTyQ6gDBAgQIECAAAECBAgQIECA - AIHiCgiYiuvv6QQIECBAgAABAgQIECBAgACBkhcQMJX8EOoAAQIE - CBAgQIAAAQIECBAgQKC4AgKm4vp7OgECBAgQIECAAAECBAgQIECg - 5AUETCU/hDpAgAABAgQIECBAgAABAgQIECiugICpuP6eToAAAQIE - CBAgQIAAAQIECBAoeQEBU8kPoQ4QIECAAAECBAgQIECAAAECBIor - IGAqrr+nEyBAgAABAgQIECBAgAABAgRKXkDAVPJDqAMECBAgQIAA - AQIECBAgQIAAgeIKCJiK6+/pBAgQIECAAAECBAgQIECAAIGSFxAw - lfwQ6gABAgQIECBAgAABAgQIECBAoLgCAqbi+ns6AQIECBAgQIAA - AQIECBAgQKDkBQRMJT+EOkCAAAECBAgQIECAAAECBAgQKK6AgKm4 - /p5OgAABAgQIECBAgAABAgQIECh5AQFTyQ+hDhAgQIAAAQIECBAg - QIAAAQIEiisgYCquv6cTIECAAAECBAgQIECAAAECBEpeQMBU8kOo - AwQIECBAgAABAgQIECBAgACB4goImIrr7+kECBAgQIAAAQIECBAg - QIAAgZIXEDCV/BDqAAECBAgQIECAAAECBAgQIECguAICpuL6ezoB - AgQIECBAgAABAgQIECBAoOQFBEwlP4Q6QIAAAQIECBAgQIAAAQIE - CBAoroCAqbj+nk6AAAECBAgQIECAAAECBAgQKHkBAVPJD6EOECBA - gAABAgQIECBAgAABAgSKKyBgKq6/pxMgQIAAAQIECBAgQIAAAQIE - Sl5AwFTyQ6gDBAgQIECAAAECBAgQIECAAIHiCgiYiuvv6QQIECBA - gAABAgQIECBAgACBkhcQMJX8EOoAAQIECBAgQIAAAQIECBAgQKC4 - AgKm4vp7OgECBAgQIECAAAECBAgQIECg5AUETCU/hDpAgAABAgQI - ECBAgAABAgQIECiugICpuP6eToAAAQIECBAgQIAAAQIECBAoeQEB - U8kPoQ4QIECAAAECBAgQIECAAAECBIorIGAqrr+nEyBAgAABAgQI - ECBAgAABAgRKXkDAVPJDqAMECBAgQIAAAQIECBAgQIAAgeIKCJiK - 6+/pBAgQIECAAAECBAgQIECAAIGSFxAwlfwQ6gABAgQIECBAgAAB - AgQIECBAoLgCAqbi+ns6AQIECBAgQIAAAQIECBAgQKDkBQRMJT+E - OkCAAAECBAgQIECAAAECBAgQKK6AgKm4/p5OgAABAgQIECBAgAAB - AgQIECh5AQFTyQ+hDhAgQIAAAQIECBAgQIAAAQIEiisgYCquv6cT - IECAAAECBAgQIECAAAECBEpeQMBU8kOoAwQIECBAgAABAgQIECBA - gACB4goImIrr7+kECBAgQIAAAQIECBAgQIAAgZIX2OABU2VlZcya - NSvKyspKHksHCBAgQIAAAQIECBAgQIAAAQKbikBtbW3ssssuUVFR - UXCXNnjANG3atJg+fbqAqeChcgMCBAgQIECAAAECBAgQIECAQMMJ - 1NTURM+ePaNZs2YF33SDB0xJkkT24yBAgAABAgQIECBAgAABAgQI - EGhcAk2aNGmQBm3wgKlBWukmBAgQIECAAAECBAgQIECAAAECjVZA - wNRoh0bDCBAgQIAAAQIECBAgQIAAAQKlISBgKo1x0koCBAgQIECA - AAECBAgQIECAQKMVEDA12qHRMAIECBAgQIAAAQIECBAgQIBAaQgI - mEpjnLSSAAECBAgQIECAAAECBAgQINBoBQRMjXZoNIwAAQIECBAg - QIAAAQIECBAgUBoCAqbSGCetJECAAAECBAgQIECAAAECBAg0WgEB - U6MdGg0jQIAAAQIECBAgQIAAAQIECJSGgICpNMZJKwkQIECAAAEC - BAgQIECAAAECjVZAwNRoh0bDCBAgQIAAAQIECBAgQIAAAQKlISBg - Ko1x0koCBAgQIECAAAECBAgQIECAQKMVEDA12qHRMAIECBAgQIAA - AQIECBAgQIBAaQgImEpjnLSSAAECBAgQIECAAAECBAgQINBoBQRM - jXZoNIwAAQIECBAgQIAAAQIECBAgUBoCAqbSGCetJECAAAECBAgQ - IECAAAECBAg0WgEBU6MdGg0jQIAAAQIECBAgQIAAAQIECJSGgICp - NMZJKwkQIECAAAECBAgQIECAAAECjVZAwNRoh0bDCBAgQIAAAQIE - CBAgQIAAAQKlISBgKo1x0koCBAgQIECAAAECBAgQIECAQKMVEDA1 - 2qHRMAIECBAgQIAAAQIECBAgQIBAaQgImEpjnLSSAAECBAgQIECA - AAECBAgQINBoBQRMjXZoNIwAAQIECBAgQIAAAQIECBAgUBoCAqbS - GCetJECAAAECBAgQIECAAAECBAg0WgEBU6MdGg0jQIAAAQIECBAg - QIAAAQIECJSGgICpNMZJKwkQIECAAAECBAgQIECAAAECjVZAwNRo - h0bDCBAgQIAAAQIECBAgQIAAAQKlISBgKo1x0koCBAgQIECAAAEC - BAgQIECAQKMVEDA12qHRMAIECBAgQIAAAQIECBAgQIBAaQgImEpj - nLSSAAECBAgQIECAAAECBAgQINBoBQRMjXZoNIwAAQIECBAgQIAA - AQIECBAgUBoCAqbSGCetJECAAAECBAgQIECAAAECBAg0WgEBU6Md - Gg0jQIAAAQIECBAgQIAAAQIECJSGgICpNMZJKwkQIECAAAECBAgQ - IECAAAECjVZAwNRoh0bDCBAgQIAAAQIECBAgQIAAAQKlISBgKo1x - 0koCBAgQIECAAAECBAgQIECAQKMVEDA12qHRMAIECBAgQIAAAQIE - CBAgQIBAaQgImEpjnLSSAAECBAgQIECAAAECBAgQINBoBf4/AAAA - //9Rzg1eAABAAElEQVTsnQWcVVXXhxcMnYKgIiIoiooioCCCha34 - KmF3d+er2IXd3R1gd2BgYWM3KpJKd8P51rN99/3OXO7AhQkY5r9/ - v+HOnLvPjmcHd/3v2utUSjyZkgiIgAiIgAiIgAiIgAiIgAiIgAiI - gAiIgAgsIYFKEpiWkJxuEwEREAEREAEREAEREAEREAEREAEREAER - CAQkMGkiiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIFIuABKZi4dPN - IiACIiACIiACIiACIiACIiACIiACIiACEpg0B0RABERABERABERA - BERABERABERABERABIpFQAJTsfDp5mWRwLx586xSpUpWuXLlZbF5 - apMIiIAIiIAIiIAIiIAIiIAIiIAILHcElguBaf78+TZ06FAbPny4 - FRQUWKdOnSQuLOZU5WGC8Pvjjz+tWrWq1rlz58UsYdnIPm3aNPty - 0CCbPm26denS2erVq7dsNEytEAEREAEREAEREAEREAEREAEREIHl - mMBSE5gQAgYO/Nh+/OknW6fV2rbllltarVq1lgj1nDlz7IknnrBr - rrvBJk6Zbn/88r1VrVp1icqqqDch0t1xxx12eZ8rrFWrVjbg3XeW - WRSzZs0yvJQY4+xx/uijgXbJZZfZhx8MtKf6PW7bbbedC2bVltm+ - qGEiIAIiIAIiIAIiIAIiIAIiIAIisDwQWGoC008//WyXXnqZvf/h - R9Zh4/Z23bXXWsuWay4RUwSmvn372p1332MjRv1jv/743QLCwxIV - XIFuQmC6/fbb7YYbb7LVV1/d3n3n7WWy93haDRgwwJg/m266qbVv - 3y4ch4uN/fSzz+yWm2+x337/wy675CLr2rWr5kKEo1cREAEREAER - EAEREAEREAEREAERKCUCS0VgQhB6/fXX7YILL7aaNWvY+AkT7cbr - r7VtttlmibxN0gLTqH/G2M/ffyNRYTEnTBSYbnSBqdkyLDDNnTvX - rr/hBrvtttvtogsvtIMPPqjQcUg847766iub5kfkOnfe1OrWrVtI - gFpMLMt09qlTp4ZjjQiCS+r9t0x3UI0TAREQAREQAREQAREQAREQ - AREoNwSWisA0atQoFwhus9def9MFgDo21UWBzTfrYr1797aVGjde - KDw8WPiJiUDORQlM6XwEfc6VFpUH4YU81FNUGZQby4l5+Dt9LV7P - 1YZ4rTj3cC915BPYOtaTvqckBKZYbuzPwtpCXlLkkr6Xa/F6LItX - 8nA07trrrrObbr7NLnUPpcMOPSTkTefPLjtdRvw9jKv/EWdFUW2N - ZXFfrCOftsZ6eF3c/Ol7F/b7d999Z3369LHtt9/edt11V2vUqFGm - jQu7T++JgAiIgAiIgAiIgAiIgAiIgAiIQEkTKHOBCcMeD5Ozzj7b - 5s6ZZ0ccfqg9/exz9vvg3+2Rhx+0DTfcMATqzu4o902ZMsVGjBhh - I12gmjljhjVo2NBWb9bMGvrrc88/b3fddbeN/J8HE0b9L7/8EsSn - xi5arbbaagsY35RJeaNHjwnCTLt2bTN5xo4da+PGjbe///7bJk6c - YCuttJKtvPLK1qBBg/CTbt+4cePsr7/+sjp16lrz5qvb5MmT/b5/ - gndJlSpVrEmTVaxp06YL3BfLIKYQ9Y0cOdLGjB1jBZWr2Kqrrmor - rtgw3FOzZs2YNfOKJ8/EiRNtmAfmHv3PaJs9Z7bVc2+dFi1aBKGh - du3ambzxF5jQtuHDR9ioUSODl0+jxo1sNW/bKqusYvfee6/dcMON - i+3BNGvWbBs7bqwNGzbMxjuz+fPn2QorNLDVmjW1Ris2MtqSFmdo - w+DBg61GjRrOq7nNddFo5IiR3v8RNtNZrOjj2czHlXGrXr16aD6M - hg0b7t5u4+3JJ/u6OPm67b/ffrbTjjtaZMwYzZ49237//XebPn2G - bbDB+qGOdP+nT59uY8aMCeM+YcKEMO6MKV5AzKNs1gQ+/8f51qlT - O+ThHn4IKl/Vg6GvvPIqgV/9+vUXEPeYX2OYR/4zwsd2jrdtZee8 - UuOVvG+NCrUttnFxXkePHm0PPPCAPe9zv0OHDu7NdbD3eYNil7s4 - bVBeERABERABERABERABERABERABEYBAmQtMHGHq27ef3epHnLbZ - pqt7oBxq/fo9ZU+4aHDSiSeEI0916tShbYXS0KHD7JVXXrEPPvww - CCszXGCq4kGemzVdzXr26mGjRo6yRx59NCMwIcD07n2u/fTzz9bF - j0qdccYZCxwjoi3XXHONDfz4E2vbdkO76sorXRyZb99//30QrD7/ - YpCLArNs6tTpVqdubWvoQgTHrvbYY48gKsQG9u/f3wNLX27bbbut - 7bjD9vasG/yDBn1tM2fOtFp+BBABo/Omnf69z4WumHDimTJlshGY - +qWXX3bRYpgLI9Nsjre9ft161nS1prbzTjuGQNVpJvTt66+/tpdf - fsW+/vYbmzplmos0c72umqGubjvvbDvttFMQqGJdvCIsPffcc/bR - wIFBaJrmYks1Z4j4tsceuwfR59bb7vC+rZp3DCaEn7fffttefuXV - IKjBdJ4zrO0B2xs2XNF22H7b0H4ELEQm+P7444921FFH2dqt1nGB - 8TDDE+eN/m/ZlMlTXKSpFEQehLLu3XcLT7OjLEShW269zQa8/74V - eDmwrVmzls13iJUssRNOON56dO/uouC4EKj8k08+sZdfejGIVJEB - ZTBWb739jouKo11gmxbaVKt2rSD67NKtm3sDbVfoyXMPPPSgPfbo - Ey58trFduu1sDzz0iItzo4x+1/b76vpcZU7stedezrFpRkjDqw4h - ta/P7R9++NEmTpoUPJkarFA/iGe7/mcX23zzzYOoFdu3uK+wRKx7 - 4403QgwyxNLTTz89xJ1CnIui3uKWq/wiIAIiIAIiIAIiIAIiIAIi - IAIisLgEylxgwiPo4ksutRdfetnuuftO67rVVvbOO+/amWf919Zr - vZ7dfNON1tS9d9LGMd4od955pz3/wgvuKTPOVnYPkE4u2Ex1j6Y3 - 33rL6tdfwdq22SCISX+PGRdiMOHVcrs/Fe3BBx9yz5Nmdr0fq8Jb - Jp3wTjns8CNs/PjxduaZZ9jee+3lXk+/2vEnnmiT3DsIz5t2HkR6 - zTXWcA+rP+zjTz+xyi5uIHwccfjhGfHiJe8LHlnrrtPKPYGa2Lff - fW+bdOzgXkj8/p396AIDXjpHHXmE7b///raCe7uQEClee+01u8M9 - r8a6+FGteg3r3KmTrdJkZReQvgkeWHjGHH7YYaHOKDIhyCC2kGeG - Cy0cL2zYoKEN+mpQ8LZB+CA20UEHHpiJaYXnzrXXXmeven2TXchp - 3GhF22LLLYJY95SLII3dO2sLFzw+/+KLIJrkE+QboYvyrrvu+uBd - VrVqNevSpbPVrFHTPv/yiyDE4I20e69edthhh7oXUJ1wxO3bb7+1 - 3Xr0srVarmnrOLP33v/QmvsYbbTRRkFIog0FBQXBG+y0U0/1/m0W - BJo333zTfv31V/vmm29syJC/bP31W7tI1cqq+lhv5fOoo3vx/PPP - P3bWf892Ie1ZH7PBwesM1gg+d3sQ+Cc9GDxzCG+nzTp3tlkuIL75 - 5tvuKVU1CJBHMkbuGRWPzN1888127/0PePtWD3MST6Stu27l/Brb - l4MG2c8uYNarVy/08fjjjwu8Ocb35ZeDPMbYRWFc11prLdtii83D - ebwvPv8iPDmR/v33rLNcCNwx46VFO5ck4bX1559/Bg+0xx9/PHgy - HerC7dprr70kxekeERABERABERABERABERABERABEVhsAmUuML33 - 3nt2tQsd7s4RRB8EBjyGLrroYj8mNs69js4Owb4RiEgc60JYuN6D - T//jx872228f69Wzpx/BWiF4w3DPlVdd5U8V+ykE9v5n7PhMkG8E - pAMPOtj+9iNON7lwtcN22xYC9Oqrr9rRRx9j66y7nj337NPBc+ae - e+6zBx96yFZt2sSOO+YYa9euXRAAEGhox2133OkCV2PrfW5v29TF - INJL7knU+9zzgrcSYtSxxx5j6623XmgP4tVjjz9h1FXXhYgbr7/O - WrduHe77/vsf7Bp/eh7979RpkyBacTSsqnsVTfDA5/369bNnn3s+ - eDU91a+vizHr2GQX1XhKGh5PiFnnndc7HBNEsMCr5z4XQ2hnQZUC - u+euu6yVCzCk57ycq91ba6YfZ+u+26528EEHuTBXLwg+MNx11/9Y - XRfqavqxNY6uLUpgwnvmt99+s8OPOMrmzp3jglpHO8Z5NXLhqnLl - gnCMDI+zhx5+OBwPPMlFux3cuwvxBYGpR689bFU/Oki7EXSon3oR - 4n71o4333HtfEOe29zE74/QzXBBq7BymB0Ht9ttut4ceedS9dU61 - fVwULPC5wr01/Dgd3kVnn93bnn32GffI+i0ITHiK9X+rv1111TVB - XNpzj1623777BmGI+YUn08UXX2I/uGcV5TzkXktruAcV6eZbbvFj - aA8G4aiJ87788stCWxgjvIfuctHqZR8LxubGG64PRxsZh7NcMP3A - n5CIdxPCIiITCc8p7nn9zf62q3tEHXfcseGe8GYx/+Ho3lNPPWW3 - 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 - IiACIiACIiACIiACIiACIiACIiACIlCmBCQwlSluVSYCIiACIiAC - IiACIiACIiACIiACIiACyx8BCUxFjOn8+fOtcuXKmXfnzZsXfi8o - KMhc0y/FJwBn2FatWrX4hVWQEubMmWPMw/T8rCBdVzdFQAREQARE - QAREQAREQAREQASWUQJLRWDCQB4+fLgNGTLEpk+fbo0bN7bWrVtb - nTp1liqmCRMmWL9+/ezDDz+0uXPn2oEHHmg777yz/frrr3bKKafY - brvtZgcddJDVrl17qbazPFY+fvx4u++++2zEiBF28skn2xprrGEz - Z860l19+2Z544gk79thjbauttpLQtIjB/eyzz+z666+37bbbzg44 - 4ACrUaPGIu7Q22kCzL9HH33U3n//fbv77rtt1VVXtUqVKqWzlOrv - SZLY0KFD7dBDD7WePXva/vvvbw0bNizVOsuq8GHDhtmZZ55pHTp0 - sBNPPNGqV69eVlWrHhEQAREQAREQAREQAREQgWWAQJkKTAhLX3zx - hT355JP2+++/BzEBLwzEnEmTJtkhhxxiu+66azC4ytLoYxzwpLn6 - 6qvt008/tXr16gXDHQNwm222sXvuucfeffdda968uZ1zzjnWqFGj - ZWDoylcTxowZYzfffLNNmTLFjjvuOGvVqpVNnjzZbr31Vvvyyy9t - 0003DeLdyiuvXL46Voathddzzz1nzz//vLVv396OPPJIa9KkSRm2 - oHxUxT7DfjJ79mxbaaWVrEqVKpmGI2rff//99uOPP9o111xjLVq0 - KHOB6bfffrPTTjvNNt98czvssMNCGzMNLMe/DB482M477zxbf/31 - 7YwzzrCaNWuW496o6SIgAiIgAiIgAiIgAiIgAotLoMwEpmnTpgWR - BuOY35s2bRp+EJjwHMKzYOrUqdamTZvgmbH66qsvbl+KlX/GjBnW - q1ev0KZddtnFNtpooyAkYSRhlD799NO29tpr20477STDaQlIIzDd - csstQVSKAhMCAN5iCExdu3a1du3ayYNpIWzxfvnpp5/spZdesrZt - 2wbxs1q1agu5o2K+hXh944032p9//ml33XVXWNORBGv5gQceyAhM - iMZlKWYzhghMp59+ehCY8GRCBFsekgSm5WEU1QcREAEREAEREAER - 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 - AogdxJzih6NdeLQpiYAIiIAIiIAIiIAIiIAIiIAIiECagASmNI3F - +J1vhTneMMDjpuDNFOPw8I0yR1+Iw0OsoPQxn8Uovkyz4m1FPzga - Qqyp8pT4Np/gu8STQWzi+A8BejkStTheXOWpz2XdVuY2nmEcf+II - oriW9QioPhEQAREQAREQAREQAREQARFY9glIYCrmGBHzhKNwHHHg - yB9xSIhvQayL7Pguxayq1G4nrg9xS4gNRCyP8pQQlYhhQpBfxD24 - E6NFIkjJjSJHiDj2iScTsXaUREAEREAEREAEREAEREAEREAERCCb - gASmbCJL+DdCBz8SNpYQYDFugzsp3/g2xahKt4qACIiACIiACIiA - CIiACIiACIiACOQgIIEpBxRdEgEREAEREAEREAEREAEREAEREAER - EAERyJ+ABKb8WSmnCIiACIiACIiACIiACIiACIiACIiACIhADgIS - mHJA0SUREAEREAEREAEREAEREAEREAEREAEREIH8CUhgyp+VcoqA - CIiACIiACIiACIiACIiACIiACIiACOQgIIEpBxRdEgEREAEREAER - EAEREAEREAEREAEREAERyJ+ABKb8WSmnCIiACIiACIiACIiACIiA - CIiACIiACIhADgISmHJA0SUREAEREAEREAEREAEREAEREAEREAER - EIH8CUhgyp+VcoqACIiACIiACIiACIiACIiACIiACIiACOQgIIEp - BxRdEgEREAEREAEREAEREAEREAEREAEREAERyJ+ABKb8WSmnCIiA - CIiACIiACIiACIiACIiACIiACIhADgISmHJA0SUREAEREAEREAER - EAEREAEREAEREAEREIH8CUhgyp+VcoqACIiACIiACIiACIiACIiA - CIiACIiACOQgIIEpBxRdEgEREAEREAEREAEREAEREAEREAEREAER - yJ+ABKb8WSmnCIiACIiACIiACIiACIiACIiACIiACIhADgISmHJA - 0SUREAEREAEREAEREAEREAEREAEREAEREIH8CUhgyp+VcoqACIiA - CIiACIiACIiACIiACIiACIiACOQgIIEpBxRdEgEREAEREAEREAER - EAEREAEREAEREAERyJ+ABKb8WSmnCIiACIiACIiACIiACIiACIiA - CIiACIhADgISmHJA0SUREAEREAEREAEREAEREAEREAEREAEREIH8 - CUhgyp+VcoqACIiACIiACIiACIiACIiACIiACIiACOQgIIEpBxRd - EgEREAEREAEREAEREAEREAEREAEREAERyJ+ABKb8WSmnCIiACIiA - CIiACIiACIiACIiACIiACIhADgISmHJA0SUREAEREAEREAEREAER - EAEREAEREAEREIH8CUhgyp+VcoqACIiACIiACIiACIiACIiACIiA - CIiACOQgIIEpBxRdEgEREAEREAEREAEREAEREAEREAEREAERyJ+A - BKb8WSmnCIiACIiACIiACIiACIiACIiACIiACIhADgISmHJA0SUR - EAEREAEREAEREAEREAEREAEREAEREIH8CUhgyp+VcoqACIiACIiA - CIiACIiACIiACIiACIiACOQgIIEpBxRdEgEREAEREAEREAEREAER - EAEREAEREAERyJ+ABKb8WSmnCIiACIiACIiACIiACIiACIiACIiA - CIhADgISmHJA0SUREAEREAEREAEREAEREAEREAEREAEREIH8CUhg - yp+VcoqACIiACIiACIiACIiACIiACIiACIiACOQgIIEpBxRdEgER - EAEREAEREAEREAEREAEREAEREAERyJ+ABKb8WSmnCIiACIiACIiA - CIiACIiACIiACIiACIhADgISmHJA0SUREAEREAEREAEREAEREAER - EAEREAEREIH8CUhgyp+VcoqACIiACIiACIiACIiACIiACIiACIiA - COQgIIEpBxRdEgEREAEREAEREAEREAEREAEREAEREAERyJ+ABKb8 - WSmnCIiACIiACIiACIiACIiACIiACIiACIhADgISmHJA0SUREAER - EAEREAEREAEREAEREAEREAEREIH8CZS6wDR8+HAbNWqUVapUKf9W - KacIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiECpEpg3b561b9/eqlWr - Vux6Sl1gGj9+vE2YMMEqV65c7MaqABEQAREQAREQAREQAREQAREQ - AREQAREQgZIhMH/+fGvevLlVqVKl2AWWusBU7BaqABEQAREQAREQ - AREQAREQAREQAREQAREQgRInkCRJiZ04k8BU4sOjAkVABERABERA - BERABERABERABERABESgYhGQwFSxxlu9FQEREAEREAEREAEREAER - EAEREAEREIESJyCBqcSRqkAREAEREAEREAEREAEREAEREAEREAER - qFgEJDBVrPFWb0VABERABERABERABERABERABERABESgxAlIYCpx - pCpQBERABERABERABERABERABERABERABCoWAQlMFWu81VsREAER - EAEREAEREAEREAEREAEREAERKHECEphKHKkKFAEREAEREAEREAER - EAEREAEREAEREIGKRUACU8Uab/VWBERABERABERABERABERABERA - BERABEqcgASmEkeqAkVABERABERABERABERABERABERABESgYhGQ - wFSxxlu9FQEREAEREAEREAEREAEREAEREAEREIESJyCBqcSRqkAR - EAEREAEREAEREAEREAEREAEREAERqFgEJDBVrPFWb0VABERABERA - BERABERABERABERABESgxAlIYCpxpCpQBERABERABERABERABERA - BERABERABCoWAQlMFWu81VsREAEREAEREAEREAEREAEREAEREAER - KHECEphKHKkKFAEREAEREAEREAEREAEREAEREAEREIGKRUACU8Ua - b/VWBERABERABERABERABERABERABERABEqcgASmEkeqAkVABERA - BERABERABERABERABERABESgYhGQwFSxxlu9FQEREAEREAEREAER - EAEREAEREAEREIESJyCBqcSRqkAREAEREAEREAEREAEREAEREAER - EAERqFgEJDBVrPFWb0VABERABERABERABERABERABERABESgxAlI - YCpxpCpQBERABERABERABERABERABERABERABCoWAQlMFWu81VsR - EAEREAEREAEREAEREAEREAEREAERKHECEphKHKkKFAEREAEREAER - EAEREAEREAEREAEREIGKRUACU8Uab/VWBERABERABERABERABERA - BERABERABEqcgASmEkeqAkVABERABERABERABERABERABERABESg - YhGQwFSxxlu9FQEREAEREAEREAEREAEREAEREAEREIESJyCBqcSR - qkAREAEREAEREAEREAEREAEREAEREAERqFgEJDBVrPFWb0VABERA - BERABERABERABERABERABESgxAlIYCpxpCpQBERABERABERABERA - BERABERABERABCoWAQlMFWu81VsREAEREAEREAEREAEREAEREAER - EAERKHECEphKHKkKFAEREAEREAEREAEREAEREAEREAEREIGKRUAC - U8Uab/VWBERABERABERABERABERABERABERABEqcgASmEkeqAkVA - BERABERABERABERABERABERABESgYhGQwFSxxlu9FQEREAEREAER - EAEREAEREAEREAEREIESJyCBqcSRqkAREAEREAEREAEREAEREAER - EAEREAERqFgEylRgmjt3rv0zZqxNmjzZ5syZW7FIV+DeVrJKVq1a - VVuhwQrWuGEDKygoqMA01HUREAEREAEREAEREAEREAERqFgEksRs - zJTZNnrcTJs9a64lXFAqcwKVKrltXr2KrdSwhq1Uv1qJ118mAtP8 - +YmNGTfePvz0c/v2p8E2ZNRoGzttms2fX+L9UYHLIIGqBZVt5Xp1 - rWWzVaxjuw2sQ7s2Vr9u3WWwpWqSCIiACIiACIiACIiACIiACIhA - SRKYPnOeDfxlkr351Xj7bMh0mzRxjs2fJ4GpJBnnW1alymb1Vqhm - HVvUtO3bNrSt1l/BalYvOQeQUheYUCZH/jPannv9Hft18B/WtvU6 - /rOuNVyhrqGeKS3/BObNm++ea+Psy+9/tCHDR1mXjdvaTttsYXVq - 1Vr+O68eioAIiIAIiIAIiIAIiIAIiEAFJTBz9nx78csxdt+AMTZm - zCyrVODnWyQDLNXZgPNY4gJfgwbV7ICtVrK9N2lktWqUjMhU6gLT - tGnT7alX3rDvf/7deuy4tbVdfz2rVbOGH5Ny6UypwhCYO3eeTZk6 - 1QYM/Mze9p+ePhe26tLJqui4XIWZA+qoCIiACIiACIiACIiACIhA - xSHgB5ns898m2blPDbMJE2dLWFrGhh6hqW7dqnZ+r9Vsm/UblMj4 - lLrA9OOvg+2Rp1+yjdqsa7267ShhaRmbVGXdnHETJtp9TzxrM6ZP - s8P338tWa7JyWTdB9YmACIiACIiACIiACIiACIiACJQygcnT59oN - Lw2z5z8ZbwVV5bZUyriXqPh5cxLbYaMGdvE+LaxG1eI7AZW6wNT/ - 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 - Z+B4v7/3sHWbej7gay0s+nDhIm3aHqd+552jgZeeb+1wlRW/P0lP - vviqtsXtU78Leurs9mcoMDDQriFOU9+d5xnm7WcDvJ+4Lz9gWrx0 - uWenun3WAjj8pmt12skneaqedlm45UKxZat+8qxz/eXFh5oXXngp - fEPAVAqILIEAAggggAACCCCAAAIIVGCB8giY8qxiqP3J1fT0lQ1t - B/YA/WfGZs34MdkT+BSlyc2W3r+/pYU3lbXA5iA9MWeHFY3kFQuY - 1u1K19gFcYqzodqRFhSde1oN9T0zfyf5IRYuLbUd5irZJJ7Rg5ur - q7XIuSMxNVuPTI7V3swcVbXd63qdEq7+nevY5mN5evLd7RZ4xSvS - hng/6OZDHTWDyb3f4gP1ah2ux69u6vneBV3bbUj50DdjtDc5q8yr - l9w1EDA5haOOgoAp6XCL3PFWMLnlXQvZt8tX6Tbbaa6ZVQZVCwtT - aNUqyrRB4vsSElXZqpNuuOJidevUobDSyL3voFUJvTHtv1r03TIF - Vw7SFRf2VO/uXWxQeH4/qHtNQcAUn5yioTbQ21UwuSPRfp46Z57m - frpINatVVbXwcM+HKtkCoT2JKbro3K66vl8fhdl1uMMFWlPefV/v - f/KV/eSnyMgIq0ryU7xdX7WqoUqycCzH7qMgYIpPTLbwy6qk1m+0 - iqwqVvFUwwKpANtJL90TRtWrG6XH7r7J5k4Vn//kOVkp/YeAqZQg - WQYBBBBAAAEEEEAAAQQQqKAC5REwZafl6dWbm+pMG+69eutBjZwR - q50Jvwxmci3wGWbzlK7qUluJabkaOWmzVmxJ00s3NVe7pmFavS1V - ra1SKc1mH8UfyFZEqL/CQ/K3h7vZWuq+s1DKVSm5FMgFTG4G07Z9 - mYquESRrYlK8BU1VgmxzsSoBNvLmkF79co8mfLjLxntLNS2s+tWA - yV7bLKqyRl7eSK0ahCrbArNFqxJ05/itCqicP1e6rB8vAVMJwh9+ - 9qWGj51o4U6G1n8w0VPFU8LLiv1qhw3NvuLex5Rku6n99P6kYn8r - +MEFOBtiYvXg6HGKscqkEAtj3C51p53YVHdeP0CtWliF0VFNka6d - bZnNNOp/zyjViY7U2w/doZNObFawpOfrjrg9etra17bsjtdTdw/R - KS2aF/49PSNT09+fr7etRS89I0v+VqKXZy1tgy7urasuOd8qjvLD - pYI3pBxMtWqlDzVp3qfKzclWqg0Ta9uqhV4aeZeuu/dRrbGqp5nP - PqxTDodY7n0vTZiqyfM+U55dq79df6Kdp+85nXTXDVepZkS1gqXL - 5CsBU5mwsigCCCCAAAIIIIAAAgggUGEEyjpgctU/gRbozLn9REXV - qKwPbIbRg7N2WhvbL4MZ99rstEP6YXQbBQdV0pNTNmvOsuTCgGn0 - Bzu0PSNPT9uucW53N3dYB5yesJBo7uc2G8la69zhWuc8AVOLcE1c - tEcrYlL1/KAmh7cYy69ImrFsv0Z7dorLb9NzAdNIG9zd2Sqt3ltp - u9XZkPHcwy1ybs3cbNutrkekBl3YQHuTMnX3dNuIa+MBTyeT+3tZ - HwRMZS1cwvouaDpoLWyuja26tcVVDi6+W1sJbznuX7nd3pIPHPRU - KVUPD/tdc6XiE5OssipYVUND/uf53T25mUzZFkrVrF79f76+tF5A - wFRakqyDAAIIIIAAAggggAACCFRMgbIOmNxd5wdHecrLOeSp+HFD - uH/tcK91YYqblRQU6ucZCF4wg2ns/F02mylOeRb2NLBKIn8LmWK3 - pXn+LV50zcKAySqY3lm8V6NnbbeNsg6pRp3KnnlK23ak2bXkyd9C - roI6FHfeHAuv3K50bq1if7PAKqSyVTj1iVav9pH6eWuKbn49Ruku - 3Sqng4CpnKA5TdkIEDCVjSurIoAAAggggAACCCCAAAIVRaA8Aqbj - udcAS4CKBkwTvthtiVV+aOW+unlLRx9HB0wvvLfD0wbnQqRfe8/R - axT8HBDgZ5VXQbqkTYSu7BJl3UV5GjNvh/77fULxHewL3lBGXwmY - ygiWZctHgICpfJw5CwIIIIAAAggggAACCCDgLQFfCJhe+mcztbUZ - TC8v2KXxn+cHTL/lVTRgmmIVTGMOB0y/9Z6S/uYqrgZ1qakBPU5Q - tRB/BQf6acnGFD02e7viEjILq59Kem9p/46AqbRFWa9cBQiYypWb - kyGAAAIIIIAAAggggAAC5S5Q0QMmN4v43kvrqW3jML31+R59tDzB - U4X0W1CuUmnYRfXU1WYwzV6aoOk2zNsVLx3r4QKmqzrX0KXdT5Cf - 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 - Aggg4PsC/w+xoIuIOI3E9gAAAABJRU5ErkJggg== - - - - LinksVisible - NO - MagnetsVisible - NO - MasterSheets - - ModificationDate - 2024-01-16 21:20:14 +0000 - Modifier - Glenn Rodgers - MovementHandleVisible - NO - NotesVisible - NO - OriginVisible - NO - PageBreaks - NO - PrintInfo - - NSBottomMargin - - float - 40 - - NSHorizonalPagination - - coded - BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG - - NSLeftMargin - - float - 18 - - NSPaperSize - - size - {612, 792} - - NSPrintReverseOrientation - - coded - BAtzdHJlYW10eXBlZIHoA4QBQISEhAhOU051bWJlcgCEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAFxlwCG - - NSRightMargin - - float - 18 - - NSTopMargin - - float - 18 - - - ReadOnly - NO - Sheets - - - ActiveLayerIndex - 0 - AutoAdjust - 15 - AutosizingMargin - 0 - BackgroundGraphic - - Bounds - {{-10639.999999999998, -8726.6666666666661}, {3967.7777777777774, 2392.2222222222217}} - Class - GraffleShapes.CanvasBackgroundGraphic - ID - 0 - Style - - shadow - - Draws - NO - - stroke - - Draws - NO - - - Text - - TextAlongPathGlyphAnchor - center - - - BaseZoom - 0 - CanvasDimensionsOrigin - {-9311, -7912} - CanvasOrigin - {0, 0} - CanvasSize - {608, 252} - CanvasSizingMode - 2 - ColumnAlign - 1 - ColumnSpacing - 36 - DisplayScale - 1.0 pt = 1.0 px - GraphicsList - - - Bounds - {{-9301, -7904}, {588, 232}} - Class - ShapedGraphic - ID - 4 - ImageID - 1 - ManualSizeImage - YES - Opacity - 0.99999995529651686 - Scaling - 1 - StretchImage - - Style - - fill - - Draws - NO - - shadow - - Beneath - YES - Fuzziness - 20 - - stroke - - Draws - NO - - - Text - - TextAlongPathGlyphAnchor - center - - - - GridInfo - - GridSpacing - 1 - MajorGridColor - - a - 0.1 - archive - - YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25Z - JGFyY2hpdmVyVCR0b3BYJG9iamVjdHMSAAGG - oF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290 - gAGmCwwXHR4lVSRudWxs1Q0ODxAREhMUFRZc - TlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JT - cGFjZV8QEk5TQ3VzdG9tQ29sb3JTcGFjZVYk - Y2xhc3NJMCAwIDAgMC4xSjAgMCAwIDAuMQAQ - AYACgAXTGBEZGhscVU5TSUNDWU5TU3BhY2VJ - RIADgAQQDk8RDEgAAAxITGlubwIQAABtbnRy - UkdCIFhZWiAHzgACAAkABgAxAABhY3NwTVNG - VAAAAABJRUMgc1JHQgAAAAAAAAAAAAAAAAAA - 9tYAAQAAAADTLUhQICAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAABFjcHJ0AAABUAAAADNkZXNjAAAB - hAAAAGx3dHB0AAAB8AAAABRia3B0AAACBAAA - ABRyWFlaAAACGAAAABRnWFlaAAACLAAAABRi - WFlaAAACQAAAABRkbW5kAAACVAAAAHBkbWRk - AAACxAAAAIh2dWVkAAADTAAAAIZ2aWV3AAAD - 1AAAACRsdW1pAAAD+AAAABRtZWFzAAAEDAAA - ACR0ZWNoAAAEMAAAAAxyVFJDAAAEPAAACAxn - VFJDAAAEPAAACAxiVFJDAAAEPAAACAx0ZXh0 - AAAAAENvcHlyaWdodCAoYykgMTk5OCBIZXds - ZXR0LVBhY2thcmQgQ29tcGFueQAAZGVzYwAA - AAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAA - AAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAWFlaIAAA - AAAAAPNRAAEAAAABFsxYWVogAAAAAAAAAAAA - AAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQ - WFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAA - AAAAJKAAAA+EAAC2z2Rlc2MAAAAAAAAAFklF - QyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAA - AAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAA - AC5JRUMgNjE5NjYtMi4xIERlZmF1bHQgUkdC - IGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAA - AAAAAC5JRUMgNjE5NjYtMi4xIERlZmF1bHQg - UkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAZGVzYwAAAAAA - AAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0 - aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAA - AAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRp - dGlvbiBpbiBJRUM2MTk2Ni0yLjEAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAHZpZXcAAAAA - ABOk/gAUXy4AEM8UAAPtzAAEEwsAA1yeAAAA - AVhZWiAAAAAAAEwJVgBQAAAAVx/nbWVhcwAA - AAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAo8A - AAACc2lnIAAAAABDUlQgY3VydgAAAAAAAAQA - AAAABQAKAA8AFAAZAB4AIwAoAC0AMgA3ADsA - QABFAEoATwBUAFkAXgBjAGgAbQByAHcAfACB - AIYAiwCQAJUAmgCfAKQAqQCuALIAtwC8AMEA - xgDLANAA1QDbAOAA5QDrAPAA9gD7AQEBBwEN - ARMBGQEfASUBKwEyATgBPgFFAUwBUgFZAWAB - ZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJ - AdEB2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgC - QQJLAlQCXQJnAnECegKEAo4CmAKiAqwCtgLB - AssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08D - WgNmA3IDfgOKA5YDogOuA7oDxwPTA+AD7AP5 - BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgE - tgTEBNME4QTwBP4FDQUcBSsFOgVJBVgFZwV3 - BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgG - WQZqBnsGjAadBq8GwAbRBuMG9QcHBxkHKwc9 - B08HYQd0B4YHmQesB78H0gflB/gICwgfCDII - RghaCG4IggiWCKoIvgjSCOcI+wkQCSUJOglP - CWQJeQmPCaQJugnPCeUJ+woRCicKPQpUCmoK - gQqYCq4KxQrcCvMLCwsiCzkLUQtpC4ALmAuw - C8gL4Qv5DBIMKgxDDFwMdQyODKcMwAzZDPMN - DQ0mDUANWg10DY4NqQ3DDd4N+A4TDi4OSQ5k - Dn8Omw62DtIO7g8JDyUPQQ9eD3oPlg+zD88P - 7BAJECYQQxBhEH4QmxC5ENcQ9RETETERTxFt - EYwRqhHJEegSBxImEkUSZBKEEqMSwxLjEwMT - IxNDE2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTO - FPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZsFo8W - shbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiK - GK8Y1Rj6GSAZRRlrGZEZtxndGgQaKhpRGnca - nhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyj - HMwc9R0eHUcdcB2ZHcMd7B4WHkAeah6UHr4e - 6R8THz4faR+UH78f6iAVIEEgbCCYIMQg8CEc - IUghdSGhIc4h+yInIlUigiKvIt0jCiM4I2Yj - lCPCI/AkHyRNJHwkqyTaJQklOCVoJZclxyX3 - JicmVyaHJrcm6CcYJ0kneierJ9woDSg/KHEo - oijUKQYpOClrKZ0p0CoCKjUqaCqbKs8rAis2 - K2krnSvRLAUsOSxuLKIs1y0MLUEtdi2rLeEu - Fi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDb - MRIxSjGCMbox8jIqMmMymzLUMw0zRjN/M7gz - 8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbp - NyQ3YDecN9c4FDhQOIw4yDkFOUI5fzm8Ofk6 - Njp0OrI67zstO2s7qjvoPCc8ZTykPOM9Ij1h - PaE94D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA - 50EpQWpBrEHuQjBCckK1QvdDOkN9Q8BEA0RH - RIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BI - BUhLSJFI10kdSWNJqUnwSjdKfUrESwxLU0ua - S+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lP - k0/dUCdQcVC7UQZRUFGbUeZSMVJ8UsdTE1Nf - U6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RX - klfgWC9YfVjLWRpZaVm4WgdaVlqmWvVbRVuV - W+VcNVyGXNZdJ114XcleGl5sXr1fD19hX7Ng - BWBXYKpg/GFPYaJh9WJJYpxi8GNDY5dj62RA - ZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg/aJZo - 7GlDaZpp8WpIap9q92tPa6dr/2xXbK9tCG1g - bbluEm5rbsRvHm94b9FwK3CGcOBxOnGVcfBy - S3KmcwFzXXO4dBR0cHTMdSh1hXXhdj52m3b4 - d1Z3s3gReG54zHkqeYl553pGeqV7BHtje8J8 - IXyBfOF9QX2hfgF+Yn7CfyN/hH/lgEeAqIEK - gWuBzYIwgpKC9INXg7qEHYSAhOOFR4Wrhg6G - cobXhzuHn4gEiGmIzokziZmJ/opkisqLMIuW - i/yMY4zKjTGNmI3/jmaOzo82j56QBpBukNaR - P5GokhGSepLjk02TtpQglIqU9JVflcmWNJaf - lwqXdZfgmEyYuJkkmZCZ/JpomtWbQpuvnByc - iZz3nWSd0p5Anq6fHZ+Ln/qgaaDYoUehtqIm - opajBqN2o+akVqTHpTilqaYapoum/adup+Co - UqjEqTepqaocqo+rAqt1q+msXKzQrUStuK4t - rqGvFq+LsACwdbDqsWCx1rJLssKzOLOutCW0 - nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1 - uy67p7whvJu9Fb2Pvgq+hL7/v3q/9cBwwOzB - Z8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/ - yD3IvMk6ybnKOMq3yzbLtsw1zLXNNc21zjbO - ts83z7jQOdC60TzRvtI/0sHTRNPG1EnUy9VO - 1dHWVdbY11zX4Nhk2OjZbNnx2nba+9uA3AXc - it0Q3ZbeHN6i3ynfr+A24L3hROHM4lPi2+Nj - 4+vkc+T85YTmDeaW5x/nqegy6LzpRunQ6lvq - 5etw6/vshu0R7ZzuKO6070DvzPBY8OXxcvH/ - 8ozzGfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5 - x/pX+uf7d/wH/Jj9Kf26/kv+3P9t///SHyAh - IlokY2xhc3NuYW1lWCRjbGFzc2VzXE5TQ29s - b3JTcGFjZaIjJFxOU0NvbG9yU3BhY2VYTlNP - YmplY3TSHyAmJ1dOU0NvbG9yoiYkAAgAEQAa - ACQAKQAyADcASQBMAFEAUwBaAGAAawB4AH4A - iwCgAKcAsQC8AL4AwADCAMkAzwDZANsA3QDf - DSsNMA07DUQNUQ1UDWENag1vDXcAAAAAAAAC - AQAAAAAAAAAoAAAAAAAAAAAAAAAAAAANeg== - - b - 0 - g - 0 - r - 0 - - MajorGridSpacing - 4 - - HPages - 2 - KeepToScale - - Layers - - - Artboards - - Lock - - Name - Layer 1 - Print - - View - - - - LayoutInfo - - Animate - NO - LayoutTarget - 1 - circoMinDist - 18 - circoSeparation - 0.0 - layoutEngine - dot - neatoLineLength - 0.20000000298023224 - neatoSeparation - 0.0 - twopiSeparation - 0.0 - - Orientation - 2 - OutlineStyle - Blank.gtemplate - OutlineStyleURL - - Ym9va1AEAAAAAAQQMAAAANidwh982FwuaK/4HTEmYl/nZldMX2kJ - ANTqG/BfL/YwTAMAAAQAAAADAwAAAAgAKAUAAAABAQAAVXNlcnMA - AAANAAAAAQEAAGdsZW5uLnJvZGdlcnMAAAAHAAAAAQEAAExpYnJh - cnkACgAAAAEBAABDb250YWluZXJzAAAaAAAAAQEAAGNvbS5vbW5p - Z3JvdXAuT21uaUdyYWZmbGU3AAAEAAAAAQEAAERhdGETAAAAAQEA - AEFwcGxpY2F0aW9uIFN1cHBvcnQADgAAAAEBAABUaGUgT21uaSBH - cm91cAAACwAAAAEBAABPbW5pR3JhZmZsZQAJAAAAAQEAAFRlbXBs - YXRlcwAAAAkAAAABAQAAVVggYW5kIFVJAAAADwAAAAEBAABCbGFu - ay5ndGVtcGxhdGUANAAAAAEGAAAQAAAAIAAAADgAAABIAAAAXAAA - AIAAAAA4AAAAjAAAAKgAAADAAAAA1AAAAOgAAAD8AAAACAAAAAQD - AACEXAAAAAAAAAgAAAAEAwAAmtkDAAAAAAAIAAAABAMAAKHZAwAA - AAAACAAAAAQDAAB/2wMAAAAAAAgAAAAEAwAATgs/AAAAAAAIAAAA - BAMAAE8LPwAAAAAACAAAAAQDAABSCz8AAAAAAAgAAAAEAwAAVAs/ - AAAAAAAIAAAABAMAAMcLPwAAAAAACAAAAAQDAADICz8AAAAAAAgA - AAAEAwAAegw/AAAAAAAIAAAABAMAAFcNPwAAAAAACAAAAAQDAABl - DT8AAAAAADQAAAABBgAAUAEAAGABAABwAQAAgAEAAJABAACgAQAA - sAEAAMABAADQAQAA4AEAAPABAAAAAgAAEAIAAAgAAAAABAAAQcR/ - w36AAAAYAAAAAQIAAAIAAAAAAAAADwAAAAAAAAAAAAAAAAAAAAgA - AAAEAwAACwAAAAAAAAAEAAAAAwMAAPYBAAAIAAAAAQkAAGZpbGU6 - Ly8vDAAAAAEBAABNYWNpbnRvc2ggSEQIAAAABAMAAABQoRtzAAAA - CAAAAAAEAABBxZZOyIAAACQAAAABAQAANkZENkJGMDYtOUU0NS00 - NDBFLThCRTktOUZGNUZBQjAzNjI3GAAAAAECAACBAAAAAQAAAO8T - AAABAAAAAAAAAAAAAAABAAAAAQEAAC8AAAAAAAAAAQUAAMwAAAD+ - ////AQAAAAAAAAAQAAAABBAAABQBAAAAAAAABRAAACACAAAAAAAA - EBAAAGwCAAAAAAAAQBAAAFwCAAAAAAAAAiAAADgDAAAAAAAABSAA - AKgCAAAAAAAAECAAALgCAAAAAAAAESAAAOwCAAAAAAAAEiAAAMwC - AAAAAAAAEyAAANwCAAAAAAAAICAAABgDAAAAAAAAMCAAAEQDAAAA - AAAAAcAAAIwCAAAAAAAAEcAAACAAAAAAAAAAEsAAAJwCAAAAAAAA - ENAAAAQAAAAAAAAA - - PrintOnePage - - RowAlign - 1 - RowSpacing - 36 - SheetTitle - Canvas 1 - UniqueID - 1 - VPages - 1 - VisibleVoidKey - 1 - - - SmartAlignmentGuidesActive - YES - SmartDistanceGuidesActive - YES - UseEntirePage - - WindowInfo - - CurrentSheet - 0 - Frame - {{2291, -12}, {1512, 861}} - ShowInfo - - ShowRuler - - Sidebar - - SidebarWidth - 246 - Sidebar_Tab - 1 - VisibleRegion - {{-9482.2222222222208, -8242.2222222222226}, {1328.8888888888887, 815.55555555555657}} - WindowInfo_InspectorTab - - com.omnigroup.OmniGraffle.inspectorGroup.object - - ZoomValues - - - Canvas 1 - 0.90000000000000002 - 1 - - - - compressOnDiskKey - - copyLinkedImagesKey - - createSinglePDFKey - 1 - exportAreaKey - 4 - exportQualityKey - 100 - exportSizesKey - - 1 - - - fileFormatKey - 0 - graffleDocumentFormatKey - 0 - htmlImageTypeKey - 0 - includeBackgroundGraphicKey - - includeNonPrintingLayersKey - - lastExportTypeKey - 7 - marginWidthKey - 0.0 - readOnlyKey - - resolutionForBMPKey - 1 - resolutionForGIFKey - 1 - resolutionForHTMLKey - 1 - resolutionForJPGKey - 1 - resolutionForPNGKey - 2 - resolutionForTIFFKey - 1 - resolutionUnitsKey - 0 - useArtboardsKey - - useMarginKey - - useNotesKey - - - diff --git a/pdk/1.1/modules/ROOT/assets/images/more-options-menu.png b/pdk/1.1/modules/ROOT/assets/images/more-options-menu.png deleted file mode 100644 index 7d1ce1f75..000000000 Binary files a/pdk/1.1/modules/ROOT/assets/images/more-options-menu.png and /dev/null differ diff --git a/pdk/1.1/modules/ROOT/assets/images/pdk-dev-asset.png b/pdk/1.1/modules/ROOT/assets/images/pdk-dev-asset.png deleted file mode 100644 index 847263a9f..000000000 Binary files a/pdk/1.1/modules/ROOT/assets/images/pdk-dev-asset.png and /dev/null differ diff --git a/pdk/1.1/modules/ROOT/assets/images/sensitive-data.png b/pdk/1.1/modules/ROOT/assets/images/sensitive-data.png deleted file mode 100644 index 5256659a6..000000000 Binary files a/pdk/1.1/modules/ROOT/assets/images/sensitive-data.png and /dev/null differ diff --git a/pdk/1.1/modules/ROOT/nav.adoc b/pdk/1.1/modules/ROOT/nav.adoc deleted file mode 100644 index 9b1495bde..000000000 --- a/pdk/1.1/modules/ROOT/nav.adoc +++ /dev/null @@ -1,33 +0,0 @@ -* xref:policies-pdk-overview.adoc[PDK Overview] -* xref:policies-pdk-release-notes.adoc[Release Notes] -* xref:policies-pdk-architecture.adoc[Architecture Overview] -* xref:policies-pdk-prerequisites.adoc[] -* xref:policies-pdk-upgrade-pdk.adoc[] -* xref:policies-pdk-configure-network-proxy.adoc[] -* xref:policies-pdk-develop-custom-policies.adoc[] -** xref:policies-pdk-create-project.adoc[] -** xref:policies-pdk-create-schema-definition.adoc[] -** xref:policies-pdk-configure-features.adoc[] -*** xref:policies-pdk-configure-features-logging.adoc[] -*** xref:policies-pdk-configure-features-headers.adoc[] -*** xref:policies-pdk-configure-features-inject-parameters.adoc[] -*** xref:policies-pdk-configure-features-http-request.adoc[] -*** xref:policies-pdk-configure-features-jwt.adoc[] -*** xref:policies-pdk-configure-features-dataweave.adoc[] -*** xref:policies-pdk-configure-features-share-data.adoc[] -*** xref:policies-pdk-configure-features-libraries.adoc[] -*** xref:policies-pdk-configure-features-caching.adoc[] -*** xref:policies-pdk-configure-features-metadata.adoc[] -*** xref:policies-pdk-configure-features-streamproperties.adoc[] -*** xref:policies-pdk-configure-features-authentication.adoc[] -*** xref:policies-pdk-configure-features-timer.adoc[] -*** xref:policies-pdk-configure-features-stop.adoc[] -** xref:policies-pdk-compile-policies.adoc[] -** xref:policies-pdk-debug-local.adoc[] -** xref:policies-pdk-integration-tests.adoc[] -** xref:policies-pdk-publish-policies.adoc[] -* xref:policies-pdk-policy-templates.adoc[] -* xref:policies-pdk-apply-policies.adoc[] -* xref:policies-pdk-debug-deployed-policies.adoc[] -* xref:policies-pdk-troubleshooting.adoc[Troubleshooting] - diff --git a/pdk/1.1/modules/ROOT/pages/_partials/pdk-spotlight-video.html b/pdk/1.1/modules/ROOT/pages/_partials/pdk-spotlight-video.html deleted file mode 100644 index 80eca170a..000000000 --- a/pdk/1.1/modules/ROOT/pages/_partials/pdk-spotlight-video.html +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/pdk/1.1/modules/ROOT/pages/policies-pdk-apply-policies.adoc b/pdk/1.1/modules/ROOT/pages/policies-pdk-apply-policies.adoc deleted file mode 100644 index 282f738ad..000000000 --- a/pdk/1.1/modules/ROOT/pages/policies-pdk-apply-policies.adoc +++ /dev/null @@ -1,109 +0,0 @@ -= Applying Custom Policies -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Applying custom policies is the same as applying xref:gateway::policies-included-directory.adoc[included policies]. - -When applying custom policies, the configuration parameters are defined in `definition/gcl.yaml`. - -To learn more about defining configuration parameters, see xref:policies-pdk-create-schema-definition.adoc[]. - -== Before You Begin - -* xref:policies-pdk-compile-policies.adoc[Compile your custom policy]. -* If applying your custom policy to Flex Gateway running in Connected Mode, xref:policies-pdk-publish-policies.adoc[upload your custom policy to Exchange]. - -== Apply Policies in Connected Mode - -When you apply a custom policy in Connected Mode, the configuration parameters and metadata defined in `gcl.yaml` appear in the API Manager UI. - -To apply a custom policy in Connected Mode, see xref:gateway::flex-gateway-secure-conn.adoc[]. - -=== Update Policies in Connected Mode - -To update a custom policy in API Manager: - -. Go to *Anypoint Platform > API Manager*. -. In *API Administration* click the name of the API to which to apply a policy. -. From the left navigation menu, click *Policies*. -. Click the more options button (image:more-options-menu.png[1%,1%]) of the policy you want to update, and then click *Edit configuration*. -. Select the *latest* version for *Policy version* configuration parameter. -. Click *Save*. -. Click the more options button (image:more-options-menu.png[1%,1%]) of the policy you want to update, and then click *Check for implementation updates*. -+ -For more information about implementation updates, see xref:exchange::manage-versions.adoc#update-policy-implementations[Update Policy Implementations]. -. In the confirmation dialog box, click *Update all*. - - - -[[apply-policies-in-local-mode]] -== Apply Policies in Local Mode - -For Flex Gateway running in Local Mode, you apply custom policies using xref:gateway::flex-local-configuration-reference-guide.adoc[local declarative configuration files]. You specify the location of these configuration files when you first run Flex Gateway. - -To create the local declarative files: - -. In the `target/wasm32-wasi/release` PDK directory, copy both of the following files: -+ -* `_definition.yaml` -* `_implementation.yaml` -+ -. Paste the two files in the `/etc/mulesoft/flex-gateway/conf.d/` Flex Gateway configuration directory. -+ -. Create a policy binding configuration file with a `.yaml` file extension to bind the policy to an API instance: -+ -* Give the file a custom name. -* Save the file in the Flex Gateway configuration directory `/etc/mulesoft/flex-gateway/conf.d/custom`. This directory can contain multiple configuration files. -. Copy and paste the following YAML snippet into the file, substituting your values where indicated: -+ -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: PolicyBinding -metadata: - name: -spec: - targetRef: - kind: ApiInstance - name: - policyRef: - kind: Extension - name: --impl - config: - : "your parameter" ----- -+ -* `metadata.name`: The custom policy instance name. -* `spec.targetRef.name`: The name of the API instance of which to apply the custom policy. The API instance must already have been defined and applied. -* `spec.policyRef.name`: The custom policy implementation ID. To get the policy ID, run the `make show-policy-ref-name` command from the policy's root directory. -* `spec.config`: Your policy configuration data. -+ -. Save the file. The gateway automatically refreshes the configuration. - -=== Update Policies in Local Mode - -To update a custom policy for Flex Gateway running in Local Mode: - -* If you did not edit the configuration parameters, replace your old `_implementation.yaml` in your Flex Gateway configuration directory with the implementation file from your `target/wasm32-wasi/release` PDK directory. -* If you did edit the configuration parameters, repeat the steps in <> to update your configuration parameters. - -== Reorder Custom Policies - -Reordering custom policies is the same as reordering included policies. - -To reorder policies, see xref:gateway::policies-reorder.adoc[]. - -Polices execute in order on the request and then in inverse order on the response. However, some policies do not execute on both the request and the response. - -For example, policies ordered: - -. Policy X -. Policy Y - -Execute Policy X then Policy Y on the request, and Policy Y then Policy X on the response. - -== See Also - -* xref:gateway::flex-local-configuration-reference-guide.adoc[] \ No newline at end of file diff --git a/pdk/1.1/modules/ROOT/pages/policies-pdk-architecture.adoc b/pdk/1.1/modules/ROOT/pages/policies-pdk-architecture.adoc deleted file mode 100644 index 35b260274..000000000 --- a/pdk/1.1/modules/ROOT/pages/policies-pdk-architecture.adoc +++ /dev/null @@ -1,47 +0,0 @@ -= Policy Development Kit Architecture Overview -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Flex Gateway Policy Development Kit (PDK) consists of: - -* <>: Generates and distributes the policy to Exchange -* <>: Scaffolds new custom policies -* <>: Simplifies the development process - -== Anypoint CLI PDK Plugin - -The Anypoint CLI PDK plugin creates the PDK project and uploads policy assets to Exchange (for Connected Mode only). After creating the project, PDK provides a simplified set of commands in a `Makefile` to complete all following development steps. - -== Policy Template - -PDK generates some simple scaffolding when creating the policy. - -All generated files contain the required information to properly compile the policy. - -For more information about the included files, see xref:policies-pdk-create-project.adoc#project-structure[Project Structure]. - -== SDK Building Tools - -Flex Gateway is built on Envoy which requires developed policies to be compatible with the event-driven https://github.com/proxy-wasm/spec[proxy-wasm^] architecture. - -`proxy-wasm`'s event-driven architecture requires users to manage the different events that handle a single request. This causes the following drawbacks that make developing and maintaining event-driven code costly: - -* High complexity of the code due to the coupling of business logic with the entry points -* Inability to modularize common logic which creates monolithic code -* Verbose non-linear control flow that creates difficult function callbacks and error propagation - -PDK provides building tools that abstract the developer from the event-oriented coding approach by using reactor and executor patterns. PDK provides the developer a way to code each incoming request in a linear method that results in: - -* Fewer compile and runtime errors from using methods in the incorrect context -* Reduced learning curve -* Improved debugging by minimizing call stacks -* Reduced code duplication -* Improved parameter injection -* Reduced use of dynamic memory that decreases indeterminism and the need for custom memory management - -== See Also - -* xref:policies-pdk-prerequisites.adoc[] - diff --git a/pdk/1.1/modules/ROOT/pages/policies-pdk-compile-policies.adoc b/pdk/1.1/modules/ROOT/pages/policies-pdk-compile-policies.adoc deleted file mode 100644 index 02acebbf7..000000000 --- a/pdk/1.1/modules/ROOT/pages/policies-pdk-compile-policies.adoc +++ /dev/null @@ -1,46 +0,0 @@ -= Compiling Custom Policies -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Compile your custom policy to create the policies binary target files by using the `make build` command. You must compile your custom policy after every time you edit the policy's source code before you can deploy the policy to a Flex Gateway. - -== Before You Begin - -Ensure you have completed all the steps in xref:policies-pdk-create-project.adoc[]. - -== Compile Using Build Command - -To compile the policy, run the `make build` command from the policy's root folder: - -[source,ssh] ----- -make build ----- - -The `make build` command preforms the following actions: - -. Runs the `make build-asset-files` script -. Runs the `make build` command to compile the policy to a `WebAssembly` binary file -. Generates additional configuration files that are not generated by the `make build-asset-files` script and are required to execute the policy - -The `make build` command outputs the generated files to the `target` directories. - -You can execute the `make build` command as many times as necessary to generate compiled artifacts. You must compile the custom policy for your source code and configuration edits to be present in the compiled artifacts. - -[NOTE] -==== -When compiling your policy the first time, Rust fetches the latest version dependencies. If a dependency requires a Rust version later than {rust-ver-max-var}, pin the latest compatible version of the dependency with this command: - ----- -cargo update -p --precise ----- - -==== - -== See Also - -* xref:policies-pdk-debug-local.adoc[] -* xref:policies-pdk-apply-policies.adoc[] -* xref:policies-pdk-troubleshooting.adoc[] diff --git a/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-authentication.adoc b/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-authentication.adoc deleted file mode 100644 index c3442b4d2..000000000 --- a/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-authentication.adoc +++ /dev/null @@ -1,76 +0,0 @@ -= Accessing Request Authentication Information -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -The `Authentication` injectable provides an interface to: - -* Propagate authentication data for consumption by other policies. -* Consume authentication data already set by another policy. - -To share data, `Authentication` implements the `AuthenticationHandler` trait: - -[source,Rust] ----- -pub trait AuthenticationHandler { - fn authentication(&self) -> Option; - fn set_authentication(&self, authentication: Option<&AuthenticationData>); -} ----- - -The `AuthenticationData` struct contains the following authentication data: - -[source,Rust] ----- -pub struct AuthenticationData { - pub principal: Option, - pub client_id: Option, - pub client_name: Option, - pub properties: Value, -} ----- - -For example, the following code reads the `Authentication` data and modifies it by overriding the `client_id` and `client_name`: - -[source,Rust] ----- -async fn request_filter(state: RequestState, authentication: Authentication) -> Flow<()> { - let state = state.into_headers_state().await; - let header_handler = state.handler(); - - let auth = authentication.authentication().unwrap_or_default(); - - let properties = auth.properties.as_object().cloned().unwrap_or_default(); - - let client_id = header_handler - .header("custom_client_id_header") - .unwrap_or_default(); - let client_name = header_handler - .header("custom_client_name_header") - .unwrap_or_default(); - - let auth = AuthenticationData::new( - auth.principal, - Some(client_id), - Some(client_name), - properties - ); - - authentication.set_authentication(Some(&auth)); - - Flow::Continue(()) -} - -#[entrypoint] -async fn configure(launcher: Launcher) -> Result<()> { - let filter = on_request(|rs, auth| request_filter(rs, auth)); - launcher.launch(filter).await?; - Ok(()) -} - ----- - -== See Also - -* xref:policies-pdk-configure-features-inject-parameters.adoc[] \ No newline at end of file diff --git a/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-caching.adoc b/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-caching.adoc deleted file mode 100644 index 5cb806fe0..000000000 --- a/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-caching.adoc +++ /dev/null @@ -1,46 +0,0 @@ -= Sharing Data Between Workers and Configuring Caching -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -NOTE: To view an example policy project that uses caching, see https://github.com/mulesoft/pdk-custom-policy-examples/blob/{template-policies-url-ver-var}/data-caching/README.md[Data Caching Policy Example^]. - -Envoy spawns many workers to increase the policy's capability of handling requests. A single worker handles all the stages of a specific request, including outgoing connections and the response flow. This enables you to track internal status for a specific request, and to create a sequential execution flow despite the underlying event-driven implementation. - -Each worker processes a single request at a given time. To share a global state in a specific worker, use a `RefCell` without any risk of concurrent modification. - -Use the provided `Cache` mechanism to create a shared global state for all workers. - -After injecting the cache builder, provide an ID for the cache and the maximum number of elements the cache can support. - -The following example configures a cache that can hold ten elements: - -[source,Rust] ----- -#[entrypoint] -async fn configure( - launcher: Launcher, - cache_builder: CacheBuilder, -) -> Result<()> { - let cache = cache_builder.new(String::from("caching")).max_entries(10); - ... ----- - -The cache has the following interface: - -[source,Rust] ----- -pub trait Cache { - fn save(&self, key: &str, value: Vec) -> Result<(), CacheError>; - fn get(&self, key: &str) -> Option>; - fn delete(&self, key: &str) -> Option>; - fn purge(&self); -} ----- - -IMPORTANT: Because different workers write to the cache concurrently, there is no guarantee that the value overwritten when saving the cache is the same as when it was retrieved. - -== See Also - -* xref:policies-pdk-configure-features.adoc[] \ No newline at end of file diff --git a/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-dataweave.adoc b/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-dataweave.adoc deleted file mode 100644 index 1c0cf046b..000000000 --- a/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-dataweave.adoc +++ /dev/null @@ -1,136 +0,0 @@ -= Using DataWeave Expressions -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -NOTE: To view an example policy project that uses DataWeave expressions, see https://github.com/mulesoft/pdk-custom-policy-examples/blob/{template-policies-url-ver-var}/query/README.md[Query Policy Example^]. - -If the input DataWeave expression parameter is valid, the policy parses the expression and transforms it into a `pdk::script::Script` expression. To obtain the result of the script: - -. Create an evaluator. -. Call the binding function for each parameter defined in the schema definition: -+ -* `vars`: Call the `bind_vars` method for each of the policy's `vars`. After all of `vars` are bound, the evaluator tries to solve the expression. If the expression contains `vars` other than the ones defined in the schema, they resolve to `null`. -* `attributes`: Call the `bind_attributes` method with an implementation of the `AttributesBinding` trait. Flex Gateway Policy Development Kit (PDK) provides an implementation of this trait by instantiating a new `HandlerAttributesBinding` for each `RequestHeaderState`, `RequestHeaderState`, and response of an xref:policies-pdk-configure-features-http-request.adoc[HTTP call]. -* `authentication`: Call the `bind_authentication` method with an implementation of the trait `AuthenticationBinding`. PDK provides an implementation of this trait for `AuthenticationData`. To inject authentication information into your policy, see xref:policies-pdk-configure-features-inject-parameters.adoc#authentication[Inject Authentication Inforamaion]. -* `payload`: Call the `bind_payload` method with an implementation of the trait `PayloadBinding`. PDK provides an implementation of this trait for `RequestBodyState`, `ResponseBodyState`, and the response of an xref:policies-pdk-configure-features-http-request.adoc[HTTP call]. -+ -[NOTE] -==== -Call only the methods for the bindings defined in the schema definition. For example, if the `attributes` binding is not used, don't call the `bind_attributes` method. - -To learn more about defining DataWeave expressions, see xref:policies-pdk-create-schema-definition.adoc#dataweave-expressions[DataWeave Expressions]. -==== - -. After you bind all expression variables, obtain the result by calling the `eval` method. - -[[example-evaluator-code]] -== Evaluate DataWeave Expressions - -For example, to evaluate the `tokenExtractor` DataWeave expression in the following policy schema definition: - -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: Extension -metadata: - labels: - title: jwt-auth - category: Custom -spec: - extends: - - name: extension-definition - namespace: default - properties: - tokenExtractor: - type: string - format: dataweave - default: "#[vars.myVar]" - bindings: - payload: - mimeType: text - attributes: true - authentication: true - vars: - - myVar - required: - - tokenExtractor - ----- - -Use the following Rust snippet: - -[source,rust] ----- -// Copyright 2024 Salesforce, Inc. All rights reserved. -mod generated; - - -use anyhow::Result; - - -use crate::generated::config::Config; -use pdk::authentication::{Authentication, AuthenticationHandler}; -use pdk::logger::info; -use pdk::hl::*; -use pdk::script::{Evaluator, HandlerAttributesBinding, Value}; - - -async fn request_filter( - state: RequestState, - stream: StreamProperties, - auth: Authentication, - mut evaluator: Evaluator<'_>, -) { - evaluator.bind_vars("myVar", "myVal"); - - evaluator.bind_authentication(&auth.authentication()); - - let state = state.into_headers_state().await; - evaluator.bind_attributes(&HandlerAttributesBinding::new(state.handler(), &stream)); - - let state = state.into_body_state().await; - evaluator.bind_payload(&state); - - if let Ok(value) = evaluator.eval() { - match value { - Value::Null => info!("value was null!"), - Value::Bool(val) => info!("value was Bool: {val}"), - Value::Number(val) => info!("value was Number: {val}"), - Value::String(val) => info!("value was String: {val}"), - Value::Array(val) => info!("value was Array: {val:?}"), - Value::Object(val) => info!("value was Object: {val:?}"), - } - } -} - - -#[entrypoint] -async fn configure(launcher: Launcher, Configuration(bytes): Configuration) -> Result<()> { - let config: Config = serde_json::from_slice(&bytes)?; - - - launcher - .launch(on_request(|request, stream, auth| { - request_filter(request, stream, auth, config.token_extractor.evaluator()) - })) - .await?; - Ok(()) -} ----- - -== Validate the Expression was Resolved - -You can resolve some expressions before all values are bound. For example, the expression `#[vars.myVar]` does not require the `attributes`, `payload`, no `authentication` to be resolved. - -After one of the binding methods is called, you can confirm the expression was completely resolved by calling the method: - -[source,rust] ----- -evaluator.is_ready() ----- - -== See Also - -* xref:policies-pdk-configure-features.adoc[] diff --git a/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-headers.adoc b/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-headers.adoc deleted file mode 100644 index a10fd46fb..000000000 --- a/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-headers.adoc +++ /dev/null @@ -1,170 +0,0 @@ -= Reading and Writing Request Headers and Bodies -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -With Flex Gateway Policy Development Kit (PDK), you can read and write to request and response headers and bodies. - -[[event-flow]] -== Event Flow - -When filtering requests and responses, Proxy Wasm splits handling the headers and body into two main events that must happen in a specific order. Before the policy can handle the body, the header event has to fully propagate through all policies. For example, the event flow for an API with two policies applied is: - -. Policy 1 handles the request header event. -. Policy 2 handles the request header event. -. The backend service receives the request headers. -. Policy 1 handles the request body event. -. Policy 2 handles the request body event. -. The backend receives the request body. -. The backend sends the response. -. Policy 2 handles the response header event. -. Policy 1 handles the response header event. -. The client receives the response headers. -. Policy 2 handles the response body event. -. Policy 1 handles the response body event. -. The client receives the response body. - -This order creates the following limitations: - -* Policies can’t modify headers after reading the body. -* All policies must fully process the header event before reading the body. Saving data of the body on one policy and then modifying the headers using that body data in a different policy isn’t possible. -* When all policies process the header event, it reaches the backend service. To ensure no data from a rejected request reaches the backend service, you must reject the headers based on only the request headers. When rejecting requests based on their body, most servers and clients can detect interrupted requests and discard the headers of the request. - -In the policy source code, reading the body separates the header and body event. For example, if the declaration `let body_state = headers_state.into_body_state().await;` is used to read the body, everything prior to the declaration occurs in the header event, and everything after occurs in the body event. - -[[read-and-write-headers]] -== Read and Write Request Headers - -To access the headers in both the request and the response, transform the `RequestState` or `ResponseState` to a header state by calling the method `into_headers_state()` and awaiting it. After calling the method, access and manipulate the headers by calling the functions of the `HeadersHandler` trait. - -[source,Rust] ----- -pub trait HeadersHandler { - fn headers(&self) -> Vec<(String, String)>; - fn header(&self, name: &str) -> Option; - fn add_header(&self, name: &str, value: &str); - fn set_header(&self, name: &str, value: &str); - fn set_headers(&self, headers: Vec<(&str, &str)>); - fn remove_header(&self, name: &str); -} ----- - -You can access headers in `on_request` or `on_response` wrapped functions by implementing the following code: - -[source,Rust] ----- -async fn request_filter(request_state: RequestState, _config: &Config) { - let headers_state = request_state.into_headers_state().await; - let headers_handler = headers_state.handler(); - let old_value = headers_handler.header("request-header").unwrap_or_default(); - - let new_value = "--replaced--"; - logger::info!("Old request header value: {old_value}, New value: {new_value}"); - headers_handler.set_header("request-header", new_value); -} - -async fn response_filter(response_state: ResponseState, _config: &Config) { - let headers_state = response_state.into_headers_state().await; - let headers_handler = headers_state.handler(); - let old_headers = headers_handler.header("request-header").unwrap_or_default(); - - let new_value = vec![("response-header1", "--replaced--"), ("response-header2", "--replaced--")]; - logger::info!("Old request header value: {old_headers:?}, New value: {new_value:?}"); - headers_handler.set_headers(new_value); -} ----- - -Envoy handles the method, scheme, path, authority, and status codes as headers. PDK provides the following methods to access and modify the request's `:method`, `:scheme`, `:path`, `:authority`, and `:status` Envoy headers: - -[source,Rust] ----- -async fn request_filter(request_state: RequestState, _config: &Config) { - let headers_state = request_state.into_headers_state().await; - let method = headers_state.method(); - let scheme = headers_state.scheme(); - let authority = headers_state.authority(); - let path = headers_state.path(); - ... -} - -async fn response_filter(response_state: ResponseState, _config: &Config) { - let headers_state = response_state.into_headers_state().await; - let status = headers_state.status_code(); -} ----- - -[[read-and-write-request-bodies]] -== Read and Write Request Bodies - -NOTE: Reading and writing bodies is limited to payloads of size 1MB or smaller. - -To access the body in both the request and the response, transform the `RequestState` or `ResponseState` to a body state by calling the method `into_body_state()` and awaiting it: - -[source,Rust] ----- -let body_state = request_state.into_body_state().await; ----- - -NOTE: The previous `.await` introduces a cancellation point. During a request, a xref:policies-pdk-configure-features.adoc#flow-cancellation[Flow Cancellation] might cause the `.await` to never resume. - -If the original state was already transformed into a header state, transform the state into a body state by calling the same function, for example: - -[source,Rust] ----- -let headers_state = request_state.into_headers_state().await; -let body_state = headers_state.into_body_state().await; ----- - -After calling `into_body_state()`, access and manipulate the headers by calling the functions of the `BodyHandler` trait. - -[source,Rust] ----- -pub trait BodyHandler { - fn body(&self) -> Vec; - fn set_body(&self, body: &[u8]) -> Result<(), BodyError>; -} ----- - -Because Envoy uses the same buffer to share data from the headers and the body, the policy cannot access the headers and the body at the same time. If the policy must read both: - -. Read the headers and save the necessary values in a variable. -. Read the body. - -You can read the headers and then the body in both the response and request. However, you cannot modify headers after reading the body. Complete all header modification before reading the body, for example: - -[source,Rust] ----- -async fn request_filter(request_state: RequestState) { - let headers_state = request_state.into_headers_state().await; - let headers_handler = headers_state.handler(); - - let agent = headers_handler.header("User-Agent").unwrap_or_else(|| "Undefined".to_string()); - - // Removing old content length header before manipulating body - headers_handler.remove_header("content-length"); - - let body_state = headers_state.into_body_state().await; - let body_handler = body_state.handler(); - let body = body_handler.body(); - - logger::info!("User: {agent} sent: {}", String::from_utf8_lossy(body.as_slice())); - - let new_body = "new body".as_bytes(); - match body_handler.set_body(&new_body) { - Ok(_) => logger::info!("Body updated"), - Err(e) => logger::info!("Unable to set body. Reason: {e:?}), - } -} ----- - -NOTE: This code removes the `content-length` header. This is required to modify the body. - -`BodyHandler::set_body()` method returns a `Result<(), BodyError>` object. Body updating might fail due to: - -* `BodyError::BodyNotSent`: The current HTTP Flow doesn't have a body (for example, `GET` request). -* `BodyError::ExceededBodySize`: The new body exceeds the maximum body buffer size supported by Envoy. - -== See Also - -* xref:policies-pdk-configure-features.adoc[] \ No newline at end of file diff --git a/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-http-request.adoc b/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-http-request.adoc deleted file mode 100644 index e146df78d..000000000 --- a/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-http-request.adoc +++ /dev/null @@ -1,83 +0,0 @@ -= Performing an HTTP Call -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -NOTE: To view an example policy project that makes HTTP calls, see https://github.com/mulesoft/pdk-custom-policy-examples/blob/{template-policies-url-ver-var}/simple-oauth-2-validation/README.md[Simple OAuth 2.0 Validation Policy Example^]. - -To interact with external services, the policy must use HTTP calls. You can only make HTTP calls from the request filter or the response filter. - -To perform an HTTP call, either inject the `HTTPClient` into the `[entrypoint]` function or the wrapper functions: - -* Injecting the client parameters into the `[entrypoint]` function enables you to make calls in both the request and the response filter: -+ -[source,Rust] ----- -#[entrypoint] -async fn configure(launcher: Launcher, Configuration(bytes): Configuration, client: HttpClient) -> Result<()> { - let config: Config = serde_json::from_slice(&bytes).unwrap(); - - // Both request and the response handlers will use the client - let filter = on_request(|request_state| request_filter(request_state, &config, &client)) - .on_response(|response_state, request_data| { - response_filter(response_state, request_data, &config, &client) - }); - - launcher.launch(filter).await?; - Ok(()) -} ----- - -* Injecting the client parameters into one of the `on_request` or `on_response` wrapper functions enables you to only make calls in that function: -+ -[source,Rust] ----- -// Handler with the logic for incoming requests -​​async fn request_filter(state: RequestState, conf: &Config, client: HttpClient) { - ... -} - -#[entrypoint] -async fn configure(launcher: Launcher, Configuration(bytes): Configuration) -> Result<()> { - let config: Config = serde_json::from_slice(&bytes).unwrap(); - - // For incoming request events, using the on_request wrapper, inject the client and pass it to the request_filter handler - launcher - .launch(on_request(|request, client| { - request_filter(request, &config, client) - })) - .await?; - Ok(()) -} ----- - -You must define your service as a parameter in your schema definition to make HTTP requests. To learn more about defining parameters, see xref:policies-pdk-create-schema-definition.adoc[] - -The following code snippet provides an example schema definition for an external service: - -[source,yaml] ----- -properties: - externalService: - type: string - format: service - endpointPath: - type: string ----- - -In the policy's Rust source code, you can access the defined external service in the `Config` struct. To perform requests, call the HTTP client in your policy, for example: - -[source,rust] ----- -let response = client - .request(&config.external_service) - .path(&config.endpoint_path) - .headers(vec![("Content-Type", "application/json")]) - .body(r#"{"key": "value"}"#.as_bytes()) - .put().await?; ----- - -== See Also - -* xref:policies-pdk-configure-features.adoc[] diff --git a/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-inject-parameters.adoc b/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-inject-parameters.adoc deleted file mode 100644 index e03895b86..000000000 --- a/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-inject-parameters.adoc +++ /dev/null @@ -1,79 +0,0 @@ -= Injecting Parameters -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Flex Gateway Policy Development Kit (PDK) provides the following parameters that you can inject into the `#[entrypoint]` configuration function: - -* `Configuration`: Provides the policy's configuration parameters. For information about how to define configuration parameters, see xref:policies-pdk-create-schema-definition.adoc[]. -* `Metadata`: Provides metadata about the policy, the Flex Gateway instance, the API instance, and the Anypoint Organization. For more information about the metadata provided, see xref:policies-pdk-configure-features-metadata.adoc[]. -* `HttpClient`: Enables the policy to make HTTP calls. For more information about how to make HTTP calls from the policy, see xref:policies-pdk-configure-features-http-request.adoc[]. -* `CacheBuilder`: Provides the caching features of the policy. For more information about caching, see xref:policies-pdk-configure-features-caching.adoc[]. -* `StreamProperties`: Provides a structure to share properties with other policies that process the same request. For more information about sharing information between policies, see xref:policies-pdk-configure-features-streamproperties.adoc[]. - -You can also directly inject the `HttpClient` and `StreamProperties` parameter into the `on_request` or `on_response` wrapped functions. For example, if you need to perform an HTTP call inside the `on_request` function, inject `HTTPClient` directly into that function. - -For best practice, inject the parameters only where they must be used. However, if the parameters require initialization steps that need to be executed only one time when the policy is applied, it is best to inject the parameters into the `#[entrypoint]` to complete the configuration steps to increase the performance of the wrapped functions. - -== Inject Parameters into the on_request and on_response Wrapped Functions - -The wrapped functions accept the following parameters: - -* `HttpClient`: Enables the policy to make HTTP calls. For more information about how to make HTTP calls from the policy, see xref:policies-pdk-configure-features-http-request.adoc[]. -* `StreamProperties`: Provides a structure to share properties with other policies that process the same request. For more information about sharing information between policies, see xref:policies-pdk-configure-features-streamproperties.adoc[]. -* `RequestState`: Provides access to the different stages of request filtering to operate over the incoming requests headers and body. `RequestState` is only available in `on_request` functions. To read and write to the headers and body in the`RequestState`, see xref:policies-pdk-configure-features-headers.adoc[]. -* `ResponseState`: Provides access to the different stages of request filtering to operate over the upstream responses headers and body. `ResponseState` is only available in `on_response` functions. To read and write to the headers and body in the `ResponseState`, see xref:policies-pdk-configure-features-headers.adoc[]. -* `RequestData`: Share data between the `on_request` and`on_response` functions. `RequestData` is only available in `on_response` functions. To learn more about `RequestData`, see xref:policies-pdk-configure-features-share-data.adoc[]. -* `Authentication`: Provides access to read authentication data or share it with other policies. To learn more about `Authentication`, see xref:policies-pdk-configure-features-authentication.adoc[]. - -If your wrapped functions only receive these parameters, the lambda is not required in the wrapper. For example, if the signature of the function is: - -[source,Rust] ----- -async fn request_filter(state: RequestState) -> RequestData; -async fn response_filter(state: ResponseState, path: RequestData); ----- - -The following example demonstrates defining the lambda of a function definition: - -[source,Rust] ----- -let filter = on_request(|request_state| request_filter(request_state)) - .on_response(|response_state, request_data| response_filter(response_state, request_data)); ----- - -Instead of defining the lambda, you can use the following function definition: - -[source,Rust] ----- -let filter = on_request(request_filter) - .on_response(response_filter); ----- - -If your wrapped functions require other parameters, such as the configuration parameters defined in the `#[entrypoint]` function, inject the parameters into the wrapped functions. To pass the parameters, define the lambda and send a variable reference, for example: - -[source,Rust] ----- -async fn request_filter(state: RequestState, conf: &Config, tuple: &(u32, u32)) { -... -} - -#[entrypoint] -async fn configure(launcher: Launcher, Configuration(bytes): Configuration) -> Result<()> { - let config = serde_json::from_slice(&bytes)?; - let tuple: (u32, u32) = (10, 10); - - let filter = on_request(|request_state| request_filter(request_state, &config, &tuple)); - - launcher - .launch(filter) - .await?; - - Ok(()) -} ----- - -== See Also - -* xref:policies-pdk-configure-features.adoc[] diff --git a/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-jwt.adoc b/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-jwt.adoc deleted file mode 100644 index e12a8b19f..000000000 --- a/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-jwt.adoc +++ /dev/null @@ -1,339 +0,0 @@ -= Using JWT Library Functions -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -NOTE: To view an example policy project that uses Flex Gateway Policy Development Kit (PDK)'s JWT Library, see https://github.com/mulesoft/pdk-custom-policy-examples/blob/{template-policies-url-ver-var}/jwt-validation/README.md[JWT Validation Policy Example^]. - -JSON Web Token (JWT) is a URL-secure method of representing claims to be transferred between two parties. The JWT token contains claims encoded in a JSON object as either the payload of a JSON Web Signature (JWS) or as a JSON web encryption (JWE) structure in plain text, which enables the claims to be digitally signed and protected with a message authentication code (MAC). Because the token is signed, you can trust the information and its source. - -PDK's JWT library provides a set of tools to validate the JWT signatures and to extract and validate the claims of all incoming requests. - -[[extract-a-jwt-token]] -== Extract a JWT Token - -PDK provides a `TokenProvider` struct that has the `bearer` function to extract JWT tokens that have the format `Bearer ` in the authorization header. The following code demonstrates how to use the `bearer` function: - -[source,Rust] ----- -// [...] -use pdk::jwt::*; -// [...] - -async fn filter( - state: RequestState, -) -> Flow<()> { - let headers_state = state.into_headers_state().await; - - // Extract token - let token = TokenProvider::bearer(headers_state.handler())?; -// [...] ----- - -If you are using a JWT token from a different source or with a different format, you can implement Rust logic to get any other part of the request. Use a DataWeave parameter to configure extraction to create a policy where you can dynamically change the JWT source. - -[[signature-validation]] -== Validate a JWT Signature - -The JWT library provides a helper for performing signature validation of the incoming requests authorization tokens. Depending on the algorithm used by the policy, initialize a `SignatureValidator` with the corresponding configuration: - -[source,Rust] ----- -pub fn new(algorithm: SigningAlgorithm, key_length: SigningKeyLength, key: String) -> Result ----- - -PDK supports the following signing algorithms and key lengths: - -[%autowidth.spread,cols="a,a"] -|=== -| Signing Algorithm | Signing Key Length -| RSA | 256, 384 and 512 -| HMAC | 256, 384 and 512 -| ES | 256 and 384 -|=== - -The `SigningAlgorithm` enum defines the available signing algorithms: - -[source,Rust] ----- -pub enum SigningAlgorithm { - Rsa, - Hmac, - Es, -} ----- - -The `SigningKeyLength` enum defines the available signing key lengths: - -[source,Rust] ----- -pub enum SigningKeyLength { - Len256, - Len384, - Len512, -} ----- - -A `SignatureValidator` instance implements the `SignatureValidation` trait. This `SignatureValidation` trait exposes a `validate` function that accepts tokens as `String` parameters and returns a `Result` that contains the parsed `JWTClaims` or a `JWTError` in the event of an error: - -[source,Rust] ----- -pub trait SignatureValidation { - fn validate(&self, token: String) -> Result; -} ----- - -The following code example shows how to initialize the `SignatureValidator` and validate an incoming token signed with a 256-byte HMAC algorithm: - -[source,Rust] ----- -use anyhow::Result; -use pdk::hl::*; -use pdk::jwt::*; -// [...] - -async fn filter( - state: RequestState, - signature_validator: &SignatureValidator, -) -> Flow<()> { - let headers_state = state.into_headers_state().await; - - // Extract token - let token = TokenProvider::bearer(headers_state.handler())?; - - if token.is_err() { - return Flow::Break(Response::new(401).with_body("Bearer not found")); - } - - // Validating signature - let claims = signature_validator.validate(token.unwrap()); - - if claims.is_err() { - return Flow::Break(Response::new(401).with_body("Invalid token")); - } - // [...] -} - -#[entrypoint] -async fn configure(launcher: Launcher, Configuration(configuration): Configuration) -> Result<()> { - let config: Config = serde_json::from_slice(&configuration)?; - - let signature_validator = SignatureValidator::new( - model::SigningAlgorithm::Hmac, - model::SigningKeyLength::Len256, - config.secret.clone(), - )?; - - launcher - .launch(on_request(|request| { - filter(request, &signature_validator) - })) - .await?; - Ok(()) -} ----- - -Because, the `SignatureValidator` confirms that the policy configurations are correct during initialization, initializing the `SignatureValidator` in the `#[entrypoint]` function throws an early error when the policy is applied rather than when the API receives a request. - -After initialization, the policy passes the `SignatureValidator` to the `on_request` wrapped function to perform `validate` method on incoming requests. - - -[[access-claims]] -== Access Claims and Propagating to Headers - -After the <> executes, the result contains the parsed JWT claims from the JWT token. - -In case the signature is invalid or you choose not to validate the signature, PDK provides the `JWTClaimsParser` to parse claims. This structure provides a `parse` method that returns `Result`. - -[source,rust] ----- -// Being "token" a String that contains a JWT token -let parsed_claims = JWTClaimsParser::parse(token); - -if claims.is_err() { - return Flow::Break(Response::new(401).with_body("Invalid token")); -} ----- - -After you run the signature validation or the parsing method, use the following methods exposed by the `JWTClaims` struct to access the JWT claims: - -[source,rust] ----- -pub fn audience(&self) -> Option, JWTError>> - -pub fn not_before(&self) -> Option> - -pub fn expiration(&self) -> Option> - -pub fn issued_at(&self) -> Option> - -pub fn issuer(&self) -> Option - -pub fn jti(&self) -> Option - -pub fn nonce(&self) -> Option - -pub fn subject(&self) -> Option - -pub fn has_claim(&self, name: &str) -> bool - -pub fn get_claim(&self, name: &str) -> Option where T: ValueRetrieval, - -pub fn has_header(&self, name: &str) -> bool - -pub fn get_header(&self, name: &str) -> Option - -pub fn get_claims(&self) -> pdk_script::Value - -pub fn get_headers(&self) -> pdk_script::Value ----- - -The provided methods are designed to return each one of the standard JWT claims. - -The `get_claim` method can return any standard or custom claim. Because `get_claim` supports different target variable types, the user must specify the output type. `get_claim` supports `String`, `f64`, `Vec`, `chrono::DateTime`, and `serde_json::Value` output types. Because the claim might not exist in the token, you must wrap the type with an `Option`, for example: - -[source,rust] ----- -let some_custom_claim: Option = claims.get_claim("username"); ----- - -The following example shows how to parse a JWT token, get a custom claim, and propagate it to the request headers from a wrapped function: - -[source,rust] ----- -async fn filter( - state: RequestState, -) -> Flow<()> { - - let headers_state = state.into_headers_state().await; - - // Extract token - let token = TokenProvider::bearer(headers_state.handler())?; - - if token.is_err() { - return Flow::Break(Response::new(401).with_body("Bearer not found")); - } - - // Being "token" a String that contains a JWT token - let parsed_claims = JWTClaimsParser::parse(token.unwrap()); - - if claims.is_err() { - return Flow::Break(Response::new(401).with_body("Invalid token")); - } - - let claims = claims.unwrap(); - - let username: Option = claims.get_claim("username"); - - if let Some(custom_claim) = some_custom_claim { - headers_state - .handler() - .set_header("username", custom_claim.as_str()); - } - - Flow::Continue(()) -} ----- - -[[validate-claims]] -== Validate Claims - -JWT tokens typically contain a set of standard and non-standard claims that you can validate. Use the methods from <> to retrieve the claims present in the JWT tokens’s header or payload. Once retrieved, validate the value of the claims. - -The following code example validates that the JWT token: - -* Is not expired by validating the `exp` claim. -* Has the correct audience value by validating the `aud` claim. -* Has the correct custom `role` claim by using a custom validator configured as a DataWeave expression policy parameter. - -[source,Rust] ----- -use chrono::Utc; -use pdk::hl::*; -use pdk::jwt::*; -use pdk::logger::info; -use pdk::script::Evaluator; - -async fn filter( - state: RequestState, - mut custom_validator: Evaluator<'_>, -) -> Flow<()> { - let headers_state = state.into_headers_state().await; - let token = TokenProvider::bearer(headers_state.handler()); - - if token.is_err() { - return Flow::Break(Response::new(400).with_body("Bearer not found")); - } - - // Being "token" a String that contains a JWT token - let parsed_claims = JWTClaimsParser::parse(token.unwrap()); - - if claims.is_err() { - return Flow::Break(Response::new(401).with_body("Invalid token")); - } - - let claims = claims.unwrap(); - - // Validating token expiration - if let Some(exp) = claims.expiration() { - if exp < Utc::now() { - return Flow::Break(Response::new(400).with_body("token expired")); - } - } else { - return Flow::Break(Response::new(400).with_body("token missing exp claim")); - } - - // Validating audience - if let Some(aud) = claims.audience() { - if !aud_value.iter_mut().any(|a| a == "myAudience") { - return Flow::Break(Response::new(400).with_body("token does not have the expected audience")); - } - } - - // Custom claim validation - custom_validator.bind_vars("claimSet", claims.get_claims()); - let result = custom_validator_role_claim.eval(); - if !result.ok().and_then(|value| value.as_bool()).unwrap_or_default() { - return Flow::Break(Response::new(400).with_body("custom token validations failed.")); - } - - Flow::Continue(()) -} - -#[entrypoint] -async fn configure(launcher: Launcher, Configuration(configuration): Configuration) -> Result<()> { - let config: Config = serde_json::from_slice(&configuration)?; - - launcher - .launch(on_request(|request| { - filter(request, config.custom_validator_role.evaluator()) - })) - .await?; - Ok(()) -} ----- - -In the above example, the custom `role` claim is defined by a DataWeave expression configured as an input parameter in the `gcl.yaml` schema definition as follows: - -[source,yaml] ----- -# [...] -spec: - extends: - - name: extension-definition - namespace: default - properties: - customValidatorRole: - type: string - format: dataweave - default: "#[vars.claimSet.role == 'superRole']" - # [...] - required: - - customValidatorRole ----- - -== See Also - -* xref:policies-pdk-configure-features.adoc[] - diff --git a/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-libraries.adoc b/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-libraries.adoc deleted file mode 100644 index 4b3ce0991..000000000 --- a/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-libraries.adoc +++ /dev/null @@ -1,41 +0,0 @@ -= Using Third-Party Libraries -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -NOTE: To view an example policy project that uses third-party libraries, see https://github.com/mulesoft/pdk-custom-policy-examples/blob/{template-policies-url-ver-var}/crypto/README.md[Crypto Policy Example^]. - -Proxy Wasm defines a low level binary application interface (abi), that limits the system calls a library can make. All third-party libraries included in your policy must be compatible with the `wasm32-wasi` Rust compilation target. - -To define a library such as `serde_urlencoded`, add it to the dependency list in `cargo.toml`: - -[source,toml] ----- -[dependencies] -... -serde_urlencoded = "0.7.0" ----- - -Defining libraries enables you to use functions in `lib.rs` such as: - -[source,Rust] ----- -serde_urlencoded::to_string([("token", "myToken")]) ----- - -Libraries that interact with an external service like a database, or perform a system call like reading a file, are usually not compatible with the `wasm32-wasi` target. - -If your policy interacts with external services, use the Flex Gateway exposed `HttpClient`. For more information about performing an HTTP call, see xref:policies-pdk-configure-features-http-request.adoc[]. - -It is possible that some libraries compile properly to the `wasm32-wasi` target but don't work properly when deployed to Flex Gateway. Example errors include: - -* `Failed to load Wasm module due to a missing import: ...` -* `Wasm VM failed to initialize Wasm code` -* `Plugin configured to fail closed failed to load` - -In these cases, contact the owners of the third-party library, or use a different library. - -== See Also - -* xref:policies-pdk-configure-features.adoc[] \ No newline at end of file diff --git a/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-logging.adoc b/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-logging.adoc deleted file mode 100644 index aac846e75..000000000 --- a/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-logging.adoc +++ /dev/null @@ -1,36 +0,0 @@ -= Configuring Policy Logging -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Flex Gateway Policy Development Kit (PDK) provides a logging mechanism that generates a log message enriched with the API instance ID, policy ID, and request ID. - -Insert custom logs with the following macros by using the `pdk::logger;` package: - -* `logger::debug!` -* `logger::info!` -* `logger::warn!` -* `logger::error!` - -The macros behave the same as the https://doc.rust-lang.org/std/macro.format.html[Rust std::format! macro^]. The first parameter must be a format string literal. Use `{}` in the literal to pass parameters, for example: - -[source,Rust] ----- -use pdk::logger; - -// [...] - -let value = "there!"; -logger::debug!("Hello there!"); -logger::info!("Hello {}", value); -logger::warn!("Hello {value}"); -logger::error!("Hello {}", "there!"); into_headers_state().await ----- - -All examples appear in the Flex Gateway logs in the following format: ----- -[flex-gateway-envoy][] wasm log . main: [policy: ][api: ][req: ] Hello there! ----- - -For more information about viewing Flex Gateway logs, see xref:gateway::flex-gateway-monitor.adoc[]. \ No newline at end of file diff --git a/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-metadata.adoc b/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-metadata.adoc deleted file mode 100644 index d9fd7ae81..000000000 --- a/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-metadata.adoc +++ /dev/null @@ -1,120 +0,0 @@ -= Accessing Policy Metadata -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - - -PDK exposes a `Metadata` injectable that provides metadata about the policy, the Flex instance, the API instance, and the Anypoint Organization. The `Metadata` struct is as follows: - -[source,Rust] ----- -pub struct Metadata { - pub flex_metadata: FlexMetadata, - pub policy_metadata: PolicyMetadata, - pub api_metadata: ApiMetadata, - pub platform_metadata: PlatformMetadata, -} ----- - -The `Metadata` struct references the following structures: - -* `FlexMetadata`: -+ -[source,Rust] ----- -pub struct FlexMetadata { - pub flex_name: String, - pub flex_version: String, -} ----- - -* `PolicyMetadata`: -+ -[source,Rust] ----- -pub struct PolicyMetadata { - pub policy_name: String, - pub policy_namespace: String, -} ----- - -* `ApiMetadata`: -+ -[source,Rust] ----- -pub struct ApiMetadata { - pub id: Option, - pub name: Option, - pub version: Option, - pub slas: Option>, // API SLA tiers in the platform -} - -// Each ApiSla contains the limits for each SLA. -pub struct ApiSla { - pub id: String, - pub tiers: Vec, // Limits within an API SLA tier in the platform -} ----- - -* `PlatformMetadata`: -+ -[source,Rust] ----- -pub struct PlatformMetadata { - pub organization_id: String, - pub environment_id: String, - pub root_organization_id: String, -} ----- - -== Inject Metadata into the #[entrypoint] - -To inject metadata into the `#[entrypoint]` configuration function, see the following code snippet: - -[source,Rust] ----- -#[entrypoint] -async fn configure(launcher: Launcher, metadata: Metadata) -> Result<()> { - logger::info!("Flex instance name is: {}", metadata.flex_metadata.flex_name.to_string()); - - launcher - .launch(on_request(filter)) - .await?; - Ok(()) -} ----- - -== Inject Metadata into the Wrapped Functions - -You cannot directly inject metadata into the wrapped functions. To use metadata in the wrapped functions, first inject the data into the `#[entrypoint]` function and then the wrapped function: - -[source,Rust] ----- -#[entrypoint] -async fn configure(launcher: Launcher, metadata: Metadata) -> Result<()> { - launcher - .launch(on_request(|r| request_filter(r, &metadata))) - .await?; - Ok(()) -} - -async fn request_filter(_: RequestState, metadata: &Metadata) -> Flow<()> { - let mut vec = Vec::new(); - let headers = &mut vec; - headers.push(( - "flex_name".to_string(), - metadata.flex_metadata.flex_name.to_string(), - )); - headers.push(( - "policy_name".to_string(), - metadata.policy_metadata.policy_name.to_string(), - )); - - Flow::Break(Response::new(201).with_headers(vec)) -} ----- - -== See Also - -* xref:policies-pdk-configure-features-inject-parameters.adoc[] \ No newline at end of file diff --git a/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-share-data.adoc b/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-share-data.adoc deleted file mode 100644 index 94e7eba61..000000000 --- a/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-share-data.adoc +++ /dev/null @@ -1,53 +0,0 @@ -= Sharing Data Between Requests and Responses -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Flex Gateway Policy Development Kit (PDK) provides the `RequestData` enum to pass data between the request and the response. - -To share a status between the request and the response functions, the request function must return a `Flow::Continue` enum variant with a data parameter that you wish to pass to the response function. The response function must receive the `RequestData` parameter that contains the request function's final status and the data parameter that was passed. - -The `RequestData` enum has the following possible final status: - -* `RequestData::Continue(data)`: The request function ended with `Flow::Continue(data)`. -* `RequestData::Break` : The request function ended with `Flow::Break`. -* `RequestData::Cancel`: The request function was xref:policies-pdk-configure-features.adoc#flow-cancellation[cancelled]. - -If the request function ended with a `Flow::Continue` and was not cancelled by upstream policies, the `RequestData::Continue` variant contains the value sent by the request function. - -Implement this by adding an `on_response` wrapped function to the `Flow` example used in xref:policies-pdk-configure-features-stop.adoc[]: - -[source,Rust] ----- -async fn request_filter(state: RequestState) -> Flow { - let state = state.into_headers_state().await; - let handler = state.handler(); - if handler.header("authorization").is_some() { - Flow::Continue(state.path()) - } else { - Flow::Break( - Response::new(401) - .with_headers(vec![( - "WWW-Authenticate".to_string(), - "Bearer realm=\"oauth2\"".to_string(), - )]) - .with_body(r#"{ "error": "token was not present"}"#), - ) - } -} - -async fn response_filter(state: ResponseState, request_data: RequestData) { - // Handle only completed requests - if let RequestData::Continue(path) = request_data else { - return; - }; - - let state = state.into_headers_state().await; - logger::info!("Path: {path}, Status: {}", state.status_code()); -} ----- - -== See Also - -* xref:policies-pdk-configure-features.adoc[] diff --git a/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-stop.adoc b/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-stop.adoc deleted file mode 100644 index 8b3321706..000000000 --- a/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-stop.adoc +++ /dev/null @@ -1,47 +0,0 @@ -= Stopping Request Execution -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -To intercept and stop a request, return a `Response` object from your `on_request` wrapped functions: - -[source,Rust] ----- -Response::new(401) - .with_headers(vec![("WWW-Authenticate".to_string(), "Bearer realm=\"oauth2\"".to_string())]) - .with_body(r#"{ "error": "token was not present"}"#) ----- - -You can block or allow requests to reach the upstream service using a `Flow`. A `Flow` in an `enum` value with two possible values: - -* `Continue`: Defines an object that is forwarded to the response. -* `Break`: Aborts the request and returns the provided response. - -Create a `Flow` as follows: - -[source,Rust] ----- -async fn request_filter(request_state: RequestState) -> Flow<()> { - let header_state = request_state.into_headers_state().await; - let handler = header_state.handler(); - if handler.header("authorization").is_some() { - Flow::Continue(()) - } else { - Flow::Break(Response::new(401) - .with_headers(vec![("WWW-Authenticate".to_string(), "Bearer realm=\"oauth2\"".to_string())]) - .with_body(r#"{ "error": "token was not present"}"#)) - } -} ----- - -[IMPORTANT] -==== -Due to the streaming nature of `proxy wasm`, it is possible for an early request to partially reach the upstream service while awaiting the `headers_state.into_body_state` function. Avoid this is by not awaiting the body. However, this is not possible for all policies. Configure your upstream to ignore partial requests if the policy must read the body. - -To avoid early responses reaching the client, see xref:policies-pdk-configure-features-share-data.adoc[]. -==== - -== See Also - -* xref:policies-pdk-configure-features.adoc[] \ No newline at end of file diff --git a/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-streamproperties.adoc b/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-streamproperties.adoc deleted file mode 100644 index 704053a63..000000000 --- a/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-streamproperties.adoc +++ /dev/null @@ -1,48 +0,0 @@ -= Sharing Properties Across Requests -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -The `StreamProperties` injectable provides an interface to: - -* Consume properties set by other policies that are processing the same request. -* Broadcast properties so that the other policies can consume them. - -To share data, `StreamProperties` implements the `PropertyAccessor` trait: - -[source,Rust] ----- -pub trait PropertyAccessor { - fn read_property(&self, path: &[&str]) -> Option; - fn set_property(&self, path: &[&str], value: Option<&[u8]>); -} ----- - -The following example shows a simple filter that reads a property from the stream and then writes another parameter to it: - -[source,Rust] ----- -async fn request_filter(stream: StreamProperties) -> Flow<()> { - let incoming = String::from_utf8(stream.read_property(&["incoming_property"]).unwrap_or_default()).unwrap_or_default(); - - logger::info!("Recieved incoming prop {}", incoming); - - let outgoing = "outgoing".as_bytes(); - - stream.set_property(&["outgoing_property"], Some(outgoing)); - - Flow::Continue(()) -} - -#[entrypoint] -async fn configure(launcher: Launcher) -> Result<()> { - let filter = on_request(|stream| request_filter(stream)); - launcher.launch(filter).await?; - Ok(()) -} ----- - -== See Also - -* xref:policies-pdk-configure-features-inject-parameters.adoc[] \ No newline at end of file diff --git a/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-timer.adoc b/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-timer.adoc deleted file mode 100644 index 1fe3f933a..000000000 --- a/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features-timer.adoc +++ /dev/null @@ -1,161 +0,0 @@ -= Configuring Delayed, Periodic, and Synchronous Functions -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Use the `Clock` injectable to build a timer to enable delayed, periodic, and synchronous functions. Each policy supports only one timer. - -Each timer provides the following two functions: - -[source,rust] ----- -pub async fn next_tick(&self) -> bool; -pub async fn sleep(&self, interval: Duration) -> bool; ----- - -* `next_tick`: Sleeps for the minimum amount of time the timer is capable of distinguishing. -* `sleep`: Sleeps for an amount of ticks where the elapsed time is greater or equal than the provided `Duration`. For example, if you configure the period of the clock to 10 seconds, calling `timer.sleep(Duration::from_secs(1))` sleeps for 10 seconds. - -Both functions return `true` when the specified time has passed or `false` if the policy is unapplied or edited during execution. - -== Configure the Timer - -To inject a timer in your policy, insert a `Clock` into your policy configuration function and define a timer with a time period: - -[source,rust] ----- -#[entrypoint] -async fn configure( - launcher: Launcher, - Configuration(bytes): Configuration, - clock: Clock, // Inject the clock to be able to launch async tasks. - client: HttpClient, -) -> Result<()> { - - - // set the period between ticks of the timer. - let timer = clock.period(Duration::from_secs(10)); ----- - -After you inject the timer, share a its reference with the `on_request` and `on_response` functions to begin creating delayed functions: - -[source,rust] ----- - launcher - .launch(on_request(|rs| request_filter(rs, &timer, &config))) - .await?; ----- - -You can now await timer functions in `on_request` and `on_response` functions, for example: - -[source,rust] ----- - let slept = timer.sleep(duration).await; - let tick = timer.next_tick().await; ----- - -NOTE: To view an example policy project that launches delayed functions, see https://github.com/mulesoft/pdk-custom-policy-examples/blob/{template-policies-url-ver-var}/spike/README.md[Spike Policy Example]. - -== Launch Asynchronous Tasks - -Use the timer to execute tasks independent of the request flow. To execute asynchronous tasks: - -. Define your task inside an `async` function. -. In the policy configuration function, call your function but don't await the returned future. -. In the policy configuration function, call the `launch` function with the `on_request` and `on_response` filter functions but don't await the returned future. -. Use the `join!` macro to await both futures of your task function and `launch` function at the same time. -+ -NOTE: To use the `join` macro, add the ‘futures’ crate as dependency in your `cargo.toml` file. - -Each worker executes a copy of the task. Configure a loop inside the function to execute periodic tasks. For example, the following code example awaits both functions: - -[source,rust] ----- -let task = my_async_task(&timer, &config); -let launched = launcher.launch(filter); -let joined = join!(launched, task); ----- - -Adding a loop to the `my_async_task` function creates periodic tasks, for example: - -[source,rust] ----- -async fn my_async_task(timer: &Timer, config: &Config) { - // While the policy is still running. - // Wait for the next cycle. - while timer.next_tick().await { - // Execute periodic task - } -} ----- - -To launch multiple asynchronous tasks, send a reference of the timer to your `async` functions and join them with the `launch` task, for example: - -[source,rust] ----- -let task1 = my_async_task1(&timer, &config); -let task2 = my_async_task2(&timer, &config); -let launched = launcher.launch(filter); -let joined = join!(launched, task1, task2); ----- - -NOTE: To view an example policy project that launches asynchronous periodic tasks, see https://github.com/mulesoft/pdk-custom-policy-examples/blob/{template-policies-url-ver-var}/metrics/README.md[Metrics Policy Example^]. - -== Sync Asynchronous Tasks between Workers - -Use the PDK `LockBuilder` to sync workers. The lock ensures that only one worker is completing a task in a time period. Each policy supports multiple locks. - -Locks are useful when a policy consumes an HTTP service that has usage limits. A single worker can fetch data and then share the data with other workers to reduce service requests. - -To configure a lock: - -. Inject the `LockBuilder` into your policy configuration function: -+ -[source,rust] ----- -#[entrypoint] -async fn configure( - launcher: Launcher, - Configuration(bytes): Configuration, - clock: Clock, // Inject the clock to be able to launch async tasks. - lock: LockBuilder, // Inject the lock to be able to synchronize the workers. -) -> Result<()> { ----- - -. Configure the lock and share a reference of it with your asynchronous function: -+ -[source,rust] ----- - let lock = lock - .new(ID.to_string()) - .expiration(Duration::from_secs(20)) - .build(); - let task = my_async_task(&timer, &lock); ----- -+ -If the asynchronous task executes additional `async` function calls inside the task, configure the `expiration` of the lock to a duration longer than the total time needed to complete the nested `async` function calls. - -. Inside the asynchronous function, acquire the lock before executing the desired task. If no other worker has the lock, the current worker acquires the lock. Otherwise, you must omit the execution of the task and wait for the next task loop, for example: -+ -[source,rust] ----- -async fn my_async_task( - timer: &Timer, - lock: &TryLock, -) { - while timer.next_tick().await { - if let Some(acquired) = lock.try_lock() { - // execute task. - } - } -} ----- -+ -After obtaining the lock, if you execute code that requires you await a result, you must call the `refresh_lock` function to ensure the lock hasn’t expired. If the lock has expired, the worker is considered unresponsive. Abort the execution of your task because another worker is running the same task execution. - -NOTE: To view an example policy project that synchronizes asynchronous periodic tasks and shares information between workers, see https://github.com/mulesoft/pdk-custom-policy-examples/blob/{template-policies-url-ver-var}/block/README.md[Block Policy Example]. - -== See Also - -* xref:policies-pdk-configure-features-inject-parameters.adoc[] \ No newline at end of file diff --git a/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features.adoc b/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features.adoc deleted file mode 100644 index 6550bd981..000000000 --- a/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-features.adoc +++ /dev/null @@ -1,195 +0,0 @@ -= Implementing Your Custom Policy Features in Rust -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -The following pages provide Rust code examples that complete various policy tasks. Implement the Rust code for your policy in the `src/lib.rs` file. - -The code examples assume you have some prior knowledge of the Rust Programming Language. For more information about programming in Rust, see: - -* https://doc.rust-lang.org/book/[The Rust Programming Language Documentation ^] -* https://rust-lang-nursery.github.io/rust-cookbook/intro.html[Rust Cookbook ^] - -== Before You Begin - -* xref:policies-pdk-create-project.adoc[Create a New Project] -* xref:policies-pdk-create-schema-definition.adoc[Define a Schema Definition] -+ -NOTE: You may need to add or redefine configuration parameters while implementing your policy. - -* Review <>, <>, and <> to learn about the policy's source code structure before adding <>. - -[[policy-template]] -== Policy Template - -Flex Gateway Policy Development Kit (PDK) provides the initial `src/lib.rs` file in the policy project as a template to begin implementing your policy: - -[source,Rust] ----- -// Copyright 2024 Salesforce, Inc. All rights reserved. -mod generated; - -use anyhow::{anyhow, Result}; - -use pdk::hl::*; -use pdk::logger; - -use crate::generated::config::Config; - -// This filter shows how to log a specific request header. -// You can extend the function and use the configurations exposed in config.rs file -async fn request_filter(request_state: RequestState, _config: &Config) { - let headers_state = request_state.into_headers_state().await; - let token = headers_state.handler().header("Token").unwrap_or_default(); - // Log the header value - logger::info!("Header value: {token}"); -} - -#[entrypoint] -async fn configure(launcher: Launcher, Configuration(bytes): Configuration) -> Result<()> { - let config: Config = serde_json::from_slice(&bytes).map_err(|err| { - anyhow!( - "Failed to parse configuration '{}'. Cause: {}", - String::from_utf8_lossy(&bytes), - err - ) - })?; - let filter = on_request(|rs| request_filter(rs, &config)); - launcher.launch(filter).await?; - Ok(()) -} ----- - -The policy performs some simple logging. For each incoming request, the policy logs the header `token` at the `info` log level. - -The following elements configure the policy: - -* `use pdk::api::hl::*;`: Imports all the components of PDK into the `lib.rs` source code. -* `#[entrypoint]` function: Executes when the policy is applied and calls the `request_filter` function. Variables defined inside this function are avaliable while the policy is applied. -+ -The `#[entrypoint]` function receives the following parameters: -+ -** `Launcher`: Sets the filter functions. -** `Configuration`: Provides the configuration parameters defined in xref:policies-pdk-create-schema-definition.adoc[]. - -* `request_filter`: Executes once per every request sent to the API instance to which the policy is applied. This function implements the filtering performed by the example policy. Variables defined inside this function are available for the duration of the request. -+ -The `request_filter` is an example of a wrapped function. -+ -The `#[entrypoint]` function executes wrapped functions: -+ -[source,Rust] ----- -let filter = on_request(|rs| request_filter(rs, &config)); -launcher.launch(filter).await?; ----- - -[[wrapped-functions]] -== Wrapped Functions - -The `on_response` or `on_request` wrapper defines when the filter function executes. - -You can define custom functions other than the provided `requests_filter` and `response_filter` in the `#[entrypoint]` function. The `requests_filter` and `response_filter` are only examples. - -Instead of filtering an incoming request as shown in the previous example, you can process the outgoing response by using the `on_response` wrapper: - -[source,Rust] ----- -async fn response_filter(response_state: ResponseState, _config: &Config) { - ... -} - -#[entrypoint] -async fn configure(launcher: Launcher, Configuration(bytes): Configuration) -> Result<()> { - let config: Config = serde_json::from_slice(&bytes).map_err(|err| { - anyhow!( - "Failed to parse configuration '{}'. Cause: {}", - String::from_utf8_lossy(&bytes), - err - ) - })?; - let filter = on_response(|rs| response_filter(rs, &config)); - launcher.launch(filter).await?; - Ok(()) -} ----- - -NOTE: The `request_filter` function is now the `response_filter` function. - -To filter both requests and responses, use both wrappers: - -[source,Rust] ----- -async fn request_filter(request_state: RequestState,_config: &Config) { - ... -} - -async fn response_filter(response_state: ResponseState,_config: &Config) { - ... -} - -#[entrypoint] -async fn configure(launcher: Launcher, Configuration(bytes): Configuration) -> Result<()> { - let config: Config = serde_json::from_slice(&bytes).map_err(|err| { - anyhow!( - "Failed to parse configuration '{}'. Cause: {}", - String::from_utf8_lossy(&bytes), - err - ) - })?; - let filter = on_request(|rs| request_filter(rs, &config)) - .on_response(|rs| response_filter(rs, &config)); - launcher.launch(filter).await?; - Ok(()) -} ----- - -[[flow-cancellation]] -== Flow Cancellation - -Custom policies run on a single-threaded environment. However, every set of wrapped functions (a `on_request` and a `on_response` `async` function) run as a concurrent task, meaning that a single policy instance handles multiple requests concurrently. - -To support this behavior, every `.await` is a potential task interruption point. When an `.await` is invoked, the underlying async runtime can set the current task -to sleep for a moment, and awake another task that has not finished. The async runtime can cancel a task and never run code that comes after the last `.await` invocation. `on_request` and `on_response` functions assume that `.await` invocations are potential cancellation points. - -The most common situation, as shown in the following code example, for task cancellation is when a request function waiting for a body and an upstream policy returns an early response: - -[source,Rust] ----- - -// Request function for upstream policy -async fn upstream_request(state: RequestState) -> Response { - Response::new(404) -} - -// Request function for downstream policy -async fn downstream_request(state: RequestState) { - - // Request function will be cancelled after this .await point. - let body_state = state.into_body_state().await; - - // Code here will never be executed -} - ----- - -[[provided-rust-source-code]] -== Discover PDK features with Provided Rust Source Code - -PDK provides code examples for the following policy features. Review <> and <> before adding the additional policy capabilities: - -* xref:policies-pdk-configure-features-logging.adoc[] -* xref:policies-pdk-configure-features-headers.adoc[] -* xref:policies-pdk-configure-features-inject-parameters.adoc[] -* xref:policies-pdk-configure-features-http-request.adoc[] -* xref:policies-pdk-configure-features-jwt.adoc[] -* xref:policies-pdk-configure-features-dataweave.adoc[] -* xref:policies-pdk-configure-features-share-data.adoc[] -* xref:policies-pdk-configure-features-libraries.adoc[] -* xref:policies-pdk-configure-features-caching.adoc[] -* xref:policies-pdk-configure-features-metadata.adoc[] -* xref:policies-pdk-configure-features-streamproperties.adoc[] -* xref:policies-pdk-configure-features-authentication.adoc[] -* xref:policies-pdk-configure-features-timer.adoc[] -* xref:policies-pdk-configure-features-stop.adoc[] diff --git a/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-network-proxy.adoc b/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-network-proxy.adoc deleted file mode 100644 index d27b51611..000000000 --- a/pdk/1.1/modules/ROOT/pages/policies-pdk-configure-network-proxy.adoc +++ /dev/null @@ -1,51 +0,0 @@ -= Configuring a Network Proxy for PDK -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -If you use a network proxy to connect to the internet, you might have to define the network proxy for the software tools used by Flex Gateway Policy Development Kit (PDK). Besides Docker, all tools downloaded in xref:policies-pdk-prerequisites.adoc[PDK prerequisites] accept the `HTTP_PROXY` and `HTTPS_PROXY` environment variables. - -To configure your environment variable, refer to <>. - -To use Docker with a network proxy, see <>. - -NOTE: Depending on your network proxy, you might have to define the domains the PDK tools access in your proxy's allowlist. - -[[configure-a-network-proxy]] -== Configure a Network Proxy - -Configure your `HTTP_PROXY` or `HTTPS_PROXY` environment variables by running one of the following commands after replacing the variable values with your information: - -* `HTTP_PROXY`: -+ -[source,ssh] ----- -export HTTP_PROXY=://: ----- - -* `HTTPS_PROXY`: -+ -[source,ssh] ----- -export HTTPS_PROXY=://: ----- - -* If your network proxy requires authentication, use the following command: -+ -[source,ssh] ----- -export HTTPS_PROXY=://:@: ----- - -[[configure-a-network-proxy-for-docker]] -== Configure a Network Proxy for Docker - -xref:policies-pdk-integration-tests.adoc[Integration testing] and xref:policies-pdk-debug-local.adoc[the debugging environment] require Docker. - -Docker requires access to the internet to pull Docker images. To configure a network proxy for Docker, refer to the following Docker documentation for your relevant use case: - -* https://docs.docker.com/network/proxy/[Docker CLI Client^] -* https://docs.docker.com/desktop/settings/mac/#proxies[Docker Desktop on Mac^] -* https://docs.docker.com/desktop/settings/windows/#proxies[Docker Desktop on Windows^] -* https://docs.docker.com/desktop/settings/linux/#proxies[Docker Desktop on Linux^] diff --git a/pdk/1.1/modules/ROOT/pages/policies-pdk-create-project.adoc b/pdk/1.1/modules/ROOT/pages/policies-pdk-create-project.adoc deleted file mode 100644 index b85bc6485..000000000 --- a/pdk/1.1/modules/ROOT/pages/policies-pdk-create-project.adoc +++ /dev/null @@ -1,141 +0,0 @@ -= Creating a New Project -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -To begin developing a new custom policy with Flex Gateway Policy Development Kit (PDK), generate a new custom policy project. - -To create a new project, complete the following tasks: - -. <> -. <> -. <> -. Review <> - -[[before-you-begin]] -== Before You Begin - -Before you can create a custom policy project, ensure that you have installed all xref:policies-pdk-prerequisites.adoc[PDK prerequisites]. - -[[create-a-new-policy-project]] -== Create a New Policy Project - -To create a custom policy project, run the PDK CLI `create` command, replacing `` with the name of your new policy: - -[source,ssh] ----- -anypoint-cli-v4 pdk policy-project create --name ----- - -NOTE: If you receive a prompt requesting your group ID, see xref:policies-pdk-troubleshooting.adoc#group-id-error[Troubleshooting Group ID]. - -Running the `create` command creates a custom policy project with the specified name. The project appears in a new directory with the same name as your policy or a directory specified using the `--output-dir` flag. The following tutorials refer to this as your project's root directory. - -The `assetID` of the new policy is the policy's name in lower case with the spaces amended together with a `-`. For example, a policy with the name `My Header Injection Policy` has the `assetID` of `my-header-injection-policy`. - -The `groupID` of the new policy is the ID of the organization configured in Anypoint CLI. - -The `create` command supports the following flags: - -[%header%autowidth.spread,cols="a,a,a,a"] -|=== -| Flag | Default Value | Required | Description -| `--name=` or `-n` | N/A | Yes | Name of the new policy. -| `--description=` or `-d` | N/A | No | Description of the new policy. -| `--output-dir=` of `-o` | `assetID` | No | Directory the new policy is created in. + -If the directory does not exist, it is created. If no directory is specified, the directory name is the policy `assetID`. -| `--version=` | `1.0.0` | No | Version of the new policy. + -The version format is `..`. -| `--group-id=` | N/A | No | Organization ID of the organization that owns the policy. + -For additional information about this flag, see xref:policies-pdk-troubleshooting.adoc#group-id-error[Troubleshooting Group ID]. -|=== - -[[setup-the-pdk-build-environment]] -== Set Up the PDK Build Environment - -After you <>, you must run the `make setup` command to download additional software dependencies: - -[source,ssh] ----- -make setup ----- - -[[project-structure]] -== Project Structure - -After running the `make setup` command, the policy's root directory contains the following directories and files shown in the directory tree: - ----- -├─ definition/ # Contains the files that describe the policy Definition -│ ├── target/ # Contains the build definition asset files -│ └── gcl.yaml # GCL file managed by the developer that describes the policy Definition -├─ target/ # Contains the implementation asset files and the output of the policy build -├─ src/ # Contains the implementation source code -├─ playground/ # Contains the artifacts required for running the policy locally -├─ tests/ # Contains the source and configuration files to write and run integration tests -├─ Makefile # Provides all the callable actions required during the policy development lifecycle -├─ Cargo.toml # Rust language standard file that contains the metadata required to build the policy -└─.project.yaml # Project manifest used by PDK ----- - -=== target/ and definition/target/ - -There are two separate `target` directories: - -* `definition/target/`: Contains the policy asset definition published to Exchange. -* `target/`: Contains the files for the policy's Exchange asset implementation and the output of the project build. - -Both target directories and their content are included in the `.gitignore` file. You must compile the targets on each individual devices using the `make build` command. For example, if you develop a policy as part of the team, your team can publish the policy and its source code to a remote repository, but each team member must build the target on their device to work with the policy. - -=== definition/ - -The `definition` directory contains the `gcl.yaml` file that defines the policy's metadata and the configuration properties. - -To configure the `gcl.yaml` file, see xref:policies-pdk-create-schema-definition.adoc[]. - -=== Cargo.toml - -Custom policies for Flex Gateway are developed in the Rust programming language and compiled to a WebAssembly binary. - -The `Cargo.toml` is the Rust project manifest. Its `[package]` section contains the basic information about the policy implementation. The version specified in `Cargo.toml` matches the policy asset version. You can manage the policy version by editing the version number in `Cargo.toml`. The version follows the format `..`. - -=== src/ - -The `src` directory contains the policy's source code: - -* `lib.rs`: Contains a set of methods that implement the behavior of the policy. PDK includes these methods to implement custom policies behavior. For additional information about these methods, see xref:policies-pdk-configure-features.adoc[]. For complete policy examples, see xref:policies-pdk-policy-templates.adoc[]. - -* `generated/config.rs` and `generated/mod.rs`: Auto-generated modules that make the policy configuration, as defined in the `gcl.yaml`, available for use in the `lib.rs` and any of the policy source files. - -=== Makefile - -The Makefile contains all the callable actions, such as `make` commands, required for the policy development lifecycle. Execute all `make` commands at the root level of your custom policy directory directory: - -* `make setup`: Installs PDK internal dependencies for the rest of the Makefile goals. -+ -For more information about setting up your project, see <>. -* `make build-asset-files`: Generates all the policy asset files required to build, execute, and publish the policy. This command also updates the `config.rs` source code file with the latest configurations defined in the `gcl.yaml` file. -+ -For more information about compiling a policy, see xref:policies-pdk-compile-policies.adoc[]. -+ -* `make build`: Runs the `make build-asset-files` command and compiles the WebAssembly binary of the policy. -+ -For more information about compiling a policy, see xref:policies-pdk-compile-policies.adoc[]. -* `make run`: Provides a simple way to execute the current build of the policy in a Docker containerized environment. -+ -For more information about running and debugging your policy, see xref:policies-pdk-debug-local.adoc[]. -* `make test`: Executes the tests contained in `tests/` by using the testing framework provided by PDK. -+ -For more information about testing your policy, see xref:policies-pdk-integration-tests.adoc[]. -* `make publish`: Publishes the policy asset in Exchange. -+ -For more information about publishing policies in Exchange, see xref:policies-pdk-publish-policies.adoc[]. -* `make release`: Releases the policy asset in Exchange. -+ -For more information about releasing policies in Exchange, see xref:policies-pdk-publish-policies.adoc[]. -* `make help`: Lists all the `make` commands provided by PDK. - -== See Also - -* xref:policies-pdk-troubleshooting.adoc[] \ No newline at end of file diff --git a/pdk/1.1/modules/ROOT/pages/policies-pdk-create-schema-definition.adoc b/pdk/1.1/modules/ROOT/pages/policies-pdk-create-schema-definition.adoc deleted file mode 100644 index 4fe5d0224..000000000 --- a/pdk/1.1/modules/ROOT/pages/policies-pdk-create-schema-definition.adoc +++ /dev/null @@ -1,508 +0,0 @@ -= Defining a Policy Schema Definition -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Similar to the policies listed in the xref:gateway::policies-included-directory.adoc[], custom policies have configuration parameters. Use the configuration parameters to improve the usability of your custom policy and support a wider range of API configurations. - -To define custom configuration parameters, edit the `definition/gcl.yaml` file. The `gcl.yaml` file is written in the Gateway Configuration Language (GCL). However, you do not need prior GCL knowledge to use this tutorial. - -The configuration parameters you define in the `gcl.yaml` appear as variables in the `src/generated/config.rs` file after you run the `make build-asset-file` command. You set any user input you need for implementing the Rust source code in the `gcl.yaml` file. - -Configuration parameters appear in the API Manager UI when applying a policy to Flex Gateway running in Connected Mode. When applying the policy to Flex Gateway running in Local Mode, it is your responsibility to distribute a configuration `yaml` file for your policy. - -The default `gcl.yaml` file has the following content: - -[source,yaml] ----- -apiVersion: gateway.mulesoft.com.v1alpha1 -kind: Extension -metadata: - labels: - title: my-custom-policy - category: Custom -spec: - extends: - - name: extension-definition - properties: - stringProperty: - type: string ----- - -The `gcl.yaml` file contains two sections: - -* `metadata`: Defines information about the policy -* `properties`: Defines the policy's configuration parameters - -To define a schema definition: - -. <> -. <> -. <> - -[[define-metadata]] -== Define Metadata - -Add labels in the metadata section to enrich the data shown in the UI when applying the policy. - -To define the metadata, edit the `metadata` in the `gcl.yaml` file. - -The supported labels are: - -* `title`: The policy name that appears in the UI. -* `description`: A brief explanation of the policy's behavior. -* `category`: The category the of the policy. The possible categories are `security`, `compliance`, `transformation`, `quality of service`, and `troubleshooting`. - -For example: - -[source,yaml] ----- -metadata: - labels: - title: JSON Threat Protection - description: Protects against malicious JSON in API requests. - category: Security ----- - -`labels` are suggested but not required. - -[[define-parameters]] -== Define Parameters - -To add parameters, edit the `spec.properties` section in the `gcl.yaml` file. - -For example: - -[source,yaml] ----- -properties: - username: - type: string - password: - type: string ----- - -After defining your properties, you can: - -* <> -* <> - -=== Define Required Properties and Default Values - -You can define each property listed in the `gcl.yaml` file as `required` and set a `default` value for the property. - -To define properties as required, list them in the `spec.required` object. For example, the following policy requires a `password` but not a `username`: - -[source,yaml] ----- -properties: - username: - type: string - password: - type: string -required: - - password ----- - -In the above configuration example, applying a policy without a password results in a failed configuration. - -The following example defines a default value for each property: - -[source,yaml] ----- -properties: - username: - type: string - default: user1 - password: - type: string - default: 12345678 -required: - - password ----- - -If you do not set a value for a required property when applying a policy, the property uses the default value. - -For non-required properties, the API Manager UI suggests the configured default value for properties. If you do not specify the value for non-required properties, the property is not configured. - -In the following configuration table, if the policy was applied in API Manager, `user2` would appear as a suggested value for `username` but is not configured if the value is omitted: - -[a,a,a] -|=== -| Policy Configuration | Effective Configuration | Configuration Status -| `{}` | `{"password": "12345678"}` | Success -| `{"username": "user2"}` | `{"password": "12345678", + -"username": "user2"}` | Success -| `{"password": "password"}` | `{"password": "password"}` | Success -| `{"password": "password", + - "username": "user2"}` | `{"password": "password", + -"username": "user2"}` | Success -|=== - -=== Define Sensitive Data - -Protect sensitive data, such as passwords or certificates, by adding the `security:sensitive` characteristic: - -[source,yaml] ----- -properties: - key: - type: string - default: "YourKey" - "@context": { - "@characteristics": [ - "security:sensitive" - ] - } ----- - -When applying the policy, the input value to the sensitive parameter is not visible to the user: - -image:sensitive-data.png[The character inputs to the key parameter appear as black dots.] - -Toggling *Show* reveals any new data currently being entered. However, you cannot reveal previously stored data. For example, if you configure the example *Key* parameter and apply the policy, you cannot view the parameter if you edit the policy's configuration in the future. - -[[define-conditional-parameters]] -=== Define Conditional Parameters - -Render policy configuration parameters dynamically by establishing conditions to make fields visible. In the following code example, the `encryptionKey` parameter appears if the user selects `true` for the `encryptBody` parameter: - -[source,yaml] ----- -properties: - encryptBody: - type: string - default: "false" - encryptionKey: - type: string - "@rendering": - "@visibleOn": - - property: encryptBody - value: "true" ----- - -In the following code example, the `encryptionKey` parameter is initially visible and disappears if the user selects `false` for the for the `encryptBody` parameter: - -[source,yaml] ----- -properties: - encryptBody: - type: string - default: "true" - encryptionKey: - type: string - "@rendering": - "@visibleOn": - - property: encryptBody - value: "true" ----- - -Conditional parameters have the following restrictions: - -* You can only define a single condition per parameter. -* Only `string` parameters are supported as the condition parameter. -* The conditionally rendered parameter cannot be an `object` or `enum`. -* Required properties that are conditionally rendered must have a default value defined. In the above examples, if `encryptionKey` is required, it requires a default value. -* Only root-level parameters support conditional rendering. Inner properties of arrays or objects do not support conditional rendering. - -[[define-enumerated-variables]] -=== Define Enumerated Parameters - -Limit user's input values by defining parameters with the `enum` property, for example: - -[source,yaml] ----- - properties: - signingMethod: - type: string - enum: - - rsa - - hmac ----- - -In the API Manager UI, `enum` parameters render as radio buttons for three or fewer enumerated values and as a dropdown field for more. For Flex Gateway running in Local Mode, the user must configure the parameter as one of the enumerated values or the policy configuration fails. - -Enumerated parameters don't support the `@visibleOn` tag. To learn more about how to render variables dynamically, see <>. - - -[[define-supported-types]] -=== Define Supported Types - -Define a supported data type for each policy parameter to ensure the policy receives the correct data. - -The supported types are: - -String:: -+ -The string type specifies that the data is text. -+ -[source,yaml] ----- -properties: - password: - type: string ----- -+ -The `string` type also supports enables you to configure a `format` type. -+ -The supported formating types are: -+ -* `dataweave`: Specifies the input parameter is a DataWeave variable and notifies Flex Gateway to transform the input. For more information about DataWeave expressions, see <>. -* `service`: Specifies the input parameter is a URI and automatically creates a Flex Gateway service to enable HTTP calls from the policy. -* `ipRange`: Specifies the expected text is a range of IPs and provides additional validation on the input. -* `uri`: Specifies the expected text is a URI and provides additional validation on the input. Only use `uri` when the URI is not a service making HTTP calls from the policy. -+ -The following yaml snippet demonstrates all string formats: -+ -[source,yaml] ----- -properties: - externalService: - type: string - format: service - default: "https://auth-service:9000/login" - token: - type: string - format: dataweave - default: "#[splitBy(attributes.headers['Authorization'], ' ')[1]]" - blockedIps: - type: string - format: ipRange - default: "192.168.3.1/30" - loginUrl: - type: string - format: uri - default: "https://anypoint.mulesoft.com/login" - ----- -+ -Number:: -+ -The `number` type specifies data as a floating point value. -+ -For example: -+ -[source,yaml] ----- -properties: - squareRoot: - type: number - default: 1.414213562 - seconds: - type: number - default: 10 ----- -+ -Integer:: -+ -The `integer` type specifies data as an integer value. -+ -For example: -+ -[source,yaml] ----- -properties: - maxHeaders: - type: integer - default: 10 ----- -+ -Boolean:: -+ -The `boolean` type specifies data as a boolean value. Supported values are `true` or `false`. -For example: -+ -[source,yaml] ----- -properties: - skipValidation: - type: boolean - default: false - requireCredentials: - type: boolean - default: true ----- -+ -Array:: -+ -The `array` type specifies the data as a list of ordered elements. For the `array` type, you must also specify `items.type` to specify the data type of the items in the array. -+ -For example: -+ -[source,yaml] ----- -properties: - scopes: - type: array - items: - type: string - default: ["READ", "WRITE"] ----- -+ -Object:: -+ -The `object` type specifies the data as a list of ordered elements with multiple properties. For the `object` type, you must also specify `properties.type` for each element in the object. -+ -For example: -+ -[source,yaml] ----- -properties: - user: - type: object - properties: - id: - type: string - name: - type: string - required: - - id - - name - default: {"id": "1", "name": "John Doe"} ----- - -[[dataweave-expressions]] -=== Define DataWeave Expressions - -The `dataweave` format for `string` type parameters specifies the input parameter as a DataWeave expression. - -The `dataweave` variable supports the following expression bindings: - -[source,yaml] ----- -: - type: string - format: dataweave - bindings: - payload: - mimeType: text - attributes: true - authentication: false - vars: [] ----- - -* `payload`: The body of the incoming request. Define the `mimeType` as either `text` or `json` to set how to read the payload. By default, `mimeType` is set to `text`. To restrict the use of the `payload` variable, you must exclude the payload variable, for example: -+ -[source,yaml] ----- -bindings: - attributes: true - authentication: false - vars: [] ----- - -* `attributes`: Attributes, such as headers, of the incoming request. Set `attributes` to `true` to enable the policy to read the attributes of the incoming request. By default, `attributes` is set to `true`. -* `authentication`: Authentication information of the incoming request. Set `authentication` to `true` to enable the policy to read authentication details of the incoming request. By default, `authentication` is set to `false`. -* `vars`: Specifies the names of the variables that are available for the policy to use. By default, `vars` is empty. When the policy is applied, if the user inputs a variable that is not defined in the schema, the policy evaluates the variable as `null`. - -For more information about the supported expression bindings, see xref:dataweave::dataweave-variables-context.adoc[]. - -If the user's expression contains bindings that are not defined in the policy's schema when applying the policy, the policy configuration fails. For example, if the user expression is `[authentication.principal]` and `authentication` is not set to `true`, an error similar to the following occurs: - ----- -test-local-flex-1 | [flex-gateway-envoy][error] wasm log main: [policy: ingress-http-jwt-auth-v1-0-impl-1.default][api: ingress-http.default.svc] Launcher problem: Failed to parse configuration '{"dw":"P[[\".\", \"0-24\", [\":ref\", \"0-14\", \"authentication\"], [\":str\", \"15-24\", \"principal\"]], \"#[authentication.principal]\"]"}'. Cause: Error compiling expression: Unknown symbol `authentication` at line 1 column 141 ----- - -When evaluating the DataWeave expression in your policy, you must provide the script to resolve the expression. To learn how to implement DataWeave expressions in your Rust source code, see xref:policies-pdk-configure-features.adoc#use-dataweave-expressions[Implement DataWeave Expressions]. - -For more information about DataWeave support for Flex Gateway, see xref:gateway::policies-flex-dataweave-support.adoc[]. - -[[use-custom-parameters-in-rust-source-code]] -== Use Custom Parameters in Rust Source Code - -After you modify the `gcl.yaml` file, run one of the following commands to propagate the changes to the `src/generated/config.rs` rust file and the JSON schema for the API Manager UI: - -* `make build-asset-files` only propagates the changes to `src/generated/config.rs`. -+ -[source,cmd] ----- -make build-asset-files ----- - -* `make build` propagates the changes to `src/generated/config.rs` and generates the policy's target files. Do not run `make build` if you do not want to override your policy's target file: -+ -[source,cmd] ----- -make build ----- -+ -For more information about compiling your policy, see xref:policies-pdk-compile-policies.adoc[]. - -Properties defined in the `gcl.yaml` files are mapped to the Rust data types in the `config.rs` Rust file as follows: - -[a,a] -|=== -| gcl.yaml | config.rs - -| `string` | `String` -| `uri` string | `String` -| `ipRange` string | `String` -| `dataveave` string | `pdk::script::Script` -| `number` | `f64` -| `integer` | `i64` -| `boolean` | `bool` -| `array` | `vec` containing the specified item type -| `object` | `struct` containing the specified property types -|=== - - -[IMPORTANT] -==== -If a parameter in `gcl.yaml` is not defined as ‘required’, the parameter's counterpart in the `config.rs` is wrapped in an ‘Option’ object. - -Validate that the parameter is present before unwrapping. Unwrapping a parameter that is not present may cause a `panic!`. - -Use one of the following validation examples to ensure the parameter is present: - -* `if let Some(val) = myValue` -* `if myValue.is_some() {myValue.unwrap()}` -==== - -For example, the following `gcl.yaml` files produces the following `struct` in `config.rs`: - -. `gcl.yaml`: -+ -[source, yaml] ----- -properties: - tokenExtractor: - type: string - format: dataweave - default: "#[dw::core::Strings::substringAfter(attributes.headers['Authorization'], 'Bearer ')]" - reject_missing_tokens: - type: boolean - max_chars: - type: number - required: - - tokenExtractor ----- - -. `config.rs`: -+ -[source, rust] ----- -pub struct Config { - #[serde(alias = "max_chars")] - pub max_chars: Option, - #[serde(alias = "reject_missing_tokens")] - pub reject_missing_tokens: Option, - #[serde(alias = "tokenExtractor")] - pub token_extractor: pdk::script::Script, -} ----- - - -For example, you can access the values in `struct Config` with the following `.operators` in the `entrypoint` function: - -[source, rust] ----- -#[entrypoint] -async fn configure(launcher: Launcher, Configuration(configuration): Configuration,) -> Result<(), LaunchError> { - let config: Config = serde_json::from_slice(&configuration)?; - match config.reject_missing_tokens { ----- - -== See Also - -* xref:policies-pdk-troubleshooting.adoc[] diff --git a/pdk/1.1/modules/ROOT/pages/policies-pdk-debug-deployed-policies.adoc b/pdk/1.1/modules/ROOT/pages/policies-pdk-debug-deployed-policies.adoc deleted file mode 100644 index a700e229f..000000000 --- a/pdk/1.1/modules/ROOT/pages/policies-pdk-debug-deployed-policies.adoc +++ /dev/null @@ -1,17 +0,0 @@ -= Debugging Deployed Custom Policies -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - - -Errors that are not present in the PDK debugging playground or PDK's integration might be present when the policy is xref:policies-pdk-apply-policies.adoc[applied to an API instance] in a production environment. - -To use debug logs in a production environment, see xref:gateway::flex-troubleshoot-debug-logs.adoc[]. - -For more information about monitoring Flex Gateway, see xref:gateway::flex-gateway-monitor.adoc[]. - -== See Also - -* xref:policies-pdk-debug-local.adoc[] -* xref:policies-pdk-integration-tests.adoc[] \ No newline at end of file diff --git a/pdk/1.1/modules/ROOT/pages/policies-pdk-debug-local.adoc b/pdk/1.1/modules/ROOT/pages/policies-pdk-debug-local.adoc deleted file mode 100644 index 236170695..000000000 --- a/pdk/1.1/modules/ROOT/pages/policies-pdk-debug-local.adoc +++ /dev/null @@ -1,166 +0,0 @@ -= Debugging Custom Policies with the PDK Debugging Playground -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -To test the functionality of your policy, Flex Gateway Policy Development Kit (PDK) provides a pre-configured API instance located in the `/playground/config` directory. - -The PDK Debugging Playground only supports Flex Gateway running in Local Mode in a Docker container. If you plan to deploy or policy to Flex Gateway running in Connected Mode or to a different platform, you should still first test your policy in PDK by using Flex Gateway running in Local Mode in a Docker container. - -IMPORTANT: You can run Flex Gateway in Local Mode on Docker in Windows only to develop and test your policies. However, Flex Gateway does not support Windows in production environments. - -To test your policy, complete the following tasks: - -. <> -. <> -. <> -. <> if necessary -. <> - -== Before You Begin - -Ensure that you have: - -* https://www.docker.com/[Installed Docker^]. -* xref:policies-pdk-compile-policies.adoc[Compiled your custom policy project]. - -[[register]] -== Register a Flex Gateway Instance in Local Mode - -To begin using the `make run` command to debug your custom policy, register a Flex Gateway in Local Mode. - -For the `run` command to work, a Flex Gateway `registration.yaml` file must exist in the `/playground/config` directory. Create this file by running the registration command in the directory, or move a `registration.yaml` file of a previously registered Flex Gateway to the directory. - -The `make run` command only supports Flex Gateways running in Local Mode in a Docker Container. To register Flex Gateway, see: - -* xref:gateway::flex-local-reg-run-up.adoc#docker[Register and Run with a Username and Password in a Docker Container] -* xref:gateway::flex-local-reg-run-app.adoc#docker[Register and Run with a Connected App in a Docker Container] -* xref:gateway::flex-local-reg-run-token.adoc#docker[Register and Run with a Token in a Docker Container] - -IMPORTANT: Run only the registration command. Do not run the Docker start command because the `make run` command completes this step. - -Create a different registration file on each device testing the policy. - -The registration file is ignored for storage in remote repositories and is listed in the `.gitignore` file located at the root of the project directory. - - -== Configure the Policy - -Depending on the configurations listed in the `definition/gcl.yaml` file you configured in xref:policies-pdk-create-schema-definition.adoc[], you may have to configure some parameters before running the policy locally. - -For example, if the `gcl.yaml` file is as follows: - -[source,yaml] ----- -apiVersion: gateway.mulesoft.com.v1alpha1 -kind: Extension -metadata: - labels: - title: my-custom-policy - category: Security -spec: - extends: - - name: extension-definition - properties: - user: - type: string - default: user1 - password: - type: string - description: - type: string - required: - - user - - password - ----- - -Update the `/playground/config/api.yaml` file with your configuration value: - -[source,yaml] ----- -apiVersion: gateway.mulesoft.com/v1alpha1 -kind: ApiInstance -metadata: - name: ingress-http -spec: - address: http://0.0.0.0:8081 - services: - upstream: - address: http://backend - routes: - - config: - destinationPath: /anything/echo/ - policies: - - policyRef: - name: my-custom-policy - config: - password: 12345678 - ----- - -In this example, the `user` is set to the default value `user1`, the `password` is set to `12345678`, and no description is provided. - -== Add Additional Policies - -You can also apply additional policies to the test API instance to test your custom policies behavior alongside other policies. - -However, your custom policy under development must be the first policy specified, for example: - -[source,yaml] ----- - policies: - - policyRef: - name: my-custom-policy - config: - password: 12345678 - - policyRef: - name: additional-policy - config: ----- - -== Deploy the Policy with PDK - -After you complete the previous steps, run the `make run` command from the policy's root directory to deploy policy: - -[source,cmd] ----- -make run ----- - -This command starts the two Docker containers in the `/playground/docker-compose.yaml` file: - -* `Local-flex`: The Flex Gateway instance Docker container that executes the custom policy. This Flex Gateway listens for requests made to `localhost:8081`. -* `Backend`: The Docker Container that runs the backend service for the Flex Gateway instance. This backend service echoes any request it receives. - -NOTE: To stop the Docker containers, press `Cmd+c` or `Ctrl+c` depending on your device from the terminal running the containers. - -Once the containers are running, you can make requests to the API instance, for example: - -[source,cmd] ----- -curl --location --request POST 'http://0.0.0.0:8081/some/route' \ ---header 'Token: mytoken' ----- - -The backend service returns an echo response including the requests’s route, body, and headers sent with any modification performed by the custom policy or additional policies. Any logs included in the custom policy's source code are visible in the terminal running the containers. - -== Configure the Loglevel - -By default, PDK's debugging environment enables logs with the `debug` `loglevel` configured. - -To change the `loglevel`, edit the `logging.runtimeLogs.logLevel` value in `/playground/config/logging.yaml`. - -To learn more about editing a Flex Gateway's logging configuration file, see xref:gateway::flex-local-third-party-logs-config.adoc[]. - -== Use the Rust Debugger - -Visual Studio Code (VS Code) includes a Rust debugger that can run unit tests. You cannot use the VS Code Debugger while the policy is deployed on a Flex Gateway. To create the API mocking, you must use unit tests for the specific logic you need to debug. - -To debug Rust code in VS Code, you must install the https://marketplace.visualstudio.com/items?itemName=vadimcn.vscode-lldb[CodeLLDB Debugger Extension^] or a different VS Code extension with the same functionality. To learn more about debugging Rust in VS Code, see https://code.visualstudio.com/docs/languages/rust#_debugging[Rust in Visual Studio Code^]. - -== See Also - -* xref:policies-pdk-integration-tests.adoc[] -* xref:policies-pdk-troubleshooting.adoc[] diff --git a/pdk/1.1/modules/ROOT/pages/policies-pdk-develop-custom-policies.adoc b/pdk/1.1/modules/ROOT/pages/policies-pdk-develop-custom-policies.adoc deleted file mode 100644 index cf85cb2fc..000000000 --- a/pdk/1.1/modules/ROOT/pages/policies-pdk-develop-custom-policies.adoc +++ /dev/null @@ -1,47 +0,0 @@ -= Developing Custom Policies -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -After installing the xref:policies-pdk-prerequisites.adoc[Prerequisites], you can develop custom policies by using Flex Gateway Policy Development Kit (PDK). - -The custom policy lifecycle consists of all the steps of developing a custom policy that occur in PDK. The following steps do not include steps that occur outside of PDK, such as xref:policies-pdk-apply-policies.adoc[applying a policy], which is the same for all Flex Gateway policies. - -After you xref:policies-pdk-create-project.adoc[create a new project], you might iteratively complete some steps. For example, while writing the policy's source code, you might need to return to xref:policies-pdk-create-schema-definition.adoc[add additional parameters], or you might need to recompile the policy after debugging the source code. - -To create a custom policy with PDK, follow these steps: - -. xref:policies-pdk-create-project.adoc[Create a new project]. - -. xref:policies-pdk-create-schema-definition.adoc[Define a schema definition]. -+ -Modify the `definition/gcl.yaml` file to define metadata and configuration parameters for your custom policy. - -. xref:policies-pdk-configure-features.adoc[Configure custom policy features in Rust]. -+ -Use the rust code examples to implement your custom logic in the `src/lib.rs` file. - -. xref:policies-pdk-compile-policies.adoc[Compile your custom policy]. -+ -Compiling your policy creates the `WebAssembly` binary file and configuration files necessary to upload your policy to Exchange and deploy it to a Flex Gateway. - -. xref:policies-pdk-debug-local.adoc[Debug Your Policy with the PDK Debugging Playground]. -+ -Use the playground provided with PDK to debug the functionality of your custom policy locally. - -. xref:policies-pdk-integration-tests.adoc[Write Integration Tests]. -+ -Write intergration tests to ensure your custom policy is compatible with your other services and to ensure that each new policy version does not introduce regression errors. - -. xref:policies-pdk-publish-policies.adoc#publish[Publish your policy on Exchange]. -+ -Publish your policy on Exchange to distribute a beta version of your policy for testing with your Flex Gateway configuration. To deploy a policy to Flex Gateway, see step 9. - -. xref:policies-pdk-publish-policies.adoc#release[Release your policy on Exchange]. -+ -Release your policy on Exchange to distribute a production-ready policy. - -. Deploy your custom policy to a production environment by xref:policies-pdk-apply-policies.adoc[applying it to an API instance] deployed on Flex Gateway. - -. Configure a new version of this API instance by returning to step 2. \ No newline at end of file diff --git a/pdk/1.1/modules/ROOT/pages/policies-pdk-integration-tests.adoc b/pdk/1.1/modules/ROOT/pages/policies-pdk-integration-tests.adoc deleted file mode 100644 index 5e053e95a..000000000 --- a/pdk/1.1/modules/ROOT/pages/policies-pdk-integration-tests.adoc +++ /dev/null @@ -1,506 +0,0 @@ -= Writing Integration Tests -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Flex Gateway Policy Development Kit (PDK) provides an automated testing framework to detect integration regressions in your custom policy. - -The integration testing framework provided by PDK only supports Flex Gateway running in Local Mode in a Docker container. If you plan to deploy or policy to Flex Gateway running in Connected Mode or to a different platform, you should still first test your policy in PDK by using Flex Gateway running in Local Mode in a Docker container. - -IMPORTANT: You can run Flex Gateway in Local Mode on Docker in Windows only to develop and test your policies. However, Flex Gateway does not support Windows in production environments. - -To test your policy, complete the following tasks: - -. Review <>. -. Review <>. -. <>. -. <>. -. <>. -. <>. -. <>. -. <>. - -[[before-you-begin]] -== Before You Begin - -Ensure that you have: - -* https://www.docker.com/[Installed Docker^] - -[[structure]] -== Integration Tests Directory Structure - -By default, the `/tests` directory contains the following files: - ----- -tests -├── common.rs -├── requests.rs -├── common -│ └── logging.yaml -│ └── registration.yaml -└── requests - └── hello - └── api.yaml ----- - -The `/tests` directory contains the integration tests. By default, the folder contains: - -* `requests.rs` file: An individual test module and executable. -* `commons.rs` file: A test module that contains functionalities that must be included in every integration test module. - -Each test module has a configuration directory. By default, `/test` includes the following folders: - -* `/requests` -* `/common` - -Every module contains test functions annotated with the `#[pdk_test]` attribute. Each test function also has a configuration subdirectory. For example, the `requests::hello` test function has the corresponding `requests/hello` directory containing all the `hello` test configuration files. - -[[register]] -== Register a Flex Gateway Instance in Local Mode - -To begin using the `make test` command to debug your custom policy, register a Flex Gateway in Local Mode. - -For the `make test` command to work, a Flex Gateway `registration.yaml` file must exist in the `/tests/common` directory. Create this file by running the registration command in the directory, or move a `registration.yaml` file of a previously registered Flex Gateway to the directory. - -To register Flex Gateway, see: - -* xref:gateway::flex-local-reg-run-up.adoc#docker[Register and Run with a Username and Password in a Docker Container] -* xref:gateway::flex-local-reg-run-app.adoc#docker[Register and Run with a Connected App in a Docker Container] -* xref:gateway::flex-local-reg-run-token.adoc#docker[Register and Run with a Token in a Docker Container] - -IMPORTANT: Run only the registration command. Do not run the Docker start command because the `make test` command completes this step. - -Create a different registration file on each device testing the policy. - -The registration file is ignored for storage in remote repositories and is listed in the `.gitignore` file located at the root of the project directory. - -[[configure-your-custom-policy]] -== Configure Your Custom Policy - -Each test function requires an `api.yaml` file to configure the custom policy for that request. PDK provides the `request/hello/api.yaml` file as an example. You can copy and paste the example file into the resource folders of your test functions. - -To configure the custom policy: - -. Print the policy ID by running the `show-policy-ref-name`: -+ -[source,ssh] ----- -make show-policy-ref-name ----- - -. Copy the result. - -. Override `{{project-name}}` in `api.yaml` with your policy ID, for example: -+ -[source,yaml] ----- - policies: - - policyRef: - name: ----- - -. Configure the policy's configuration parameters. -+ -To find your configuration parameters, see the `gcl.yaml` file. - -. Copy and past the `api.yaml` into the resource folders of your other test functions. - -[[create-a-test-function]] -== Create a Test Function - -Add a new test module by placing a new test function in an existing test module, for example `/tests/requests.rs`. - -PDK test functions are `async` functions decorated with the `#[pdk_test]` attribute: - -[source,rust] ----- -use pdk_test::pdk_test; - -#[pdk_test] -async fn say_hello() { - -} ----- - -NOTE: Because the body is empty, this test function never fails. Run `make test` to ensure everything is working fine. - -[[run-integration-test]] -== Run an Integration Test - -To run the integrations tests modules in the `/tests` folder, execute the `make test` command: - -[source,ssh] ----- -make test ----- - -Run this test as you add additional features to your integration test to ensure proper configuration. - -NOTE: The `make test` command compiles the policy before running the integration tests. - -[[configure-services-for-integration-testing]] -== Configure Services for Integration Testing - -PDK integration tests contain a composite of services running inside a Docker network. You can register service instances in a `TestComposite` object. Every service has a configuration, hostname, and instance. - -The `pdk-test` crate contains all the functionality for writing integration tests for custom policies in PDK and is included in the `[dev-dependencies]` section of the `Cargo.toml` file. - -[[supported-services]] -=== Supported Services - -PDK's test library supports the following services: - -[cols="1,1"] -|=== -|Service |Description - -| `Flex` -| Flex Gateway service instance. - -| `httpmock` -| Service binding to the Rust's https://crates.io/crates/httpmock[httpmock] server. -|=== - -The supported services cover the majority of use cases for integration testing. It is not possible to define different types of service. - -[[httpmock-service]] -=== httpmock Service - -`httpmock` is a mock server that enables you to write request mocks in Rust. Configure an https://crates.io/crates/httpmock[httpmock^] service by using an `HttpMockConfig` value. It is a best practice to return a `Result` from the test function. The https://crates.io/crates/anyhow[anyhow^] Rust crate enables you to return different default error types. - -To configure an `httpmock` service, see the following code example: - -[source,rust] ----- -use pdk_test::{pdk_test, TestComposite}; -use pdk_test::services::httpmock::HttpMockConfig; - -#[pdk_test] -async fn say_hello() -> anyhow::Result<()> { - - // Configure HttpMock service - let backend_config = HttpMockConfig::builder() - .hostname("backend") - .port(80) // Port where the service will accept requests - .build(); - - // Register HTTPBin service and start the docker network - let composite = TestComposite::builder() - .with_service(backend_config) - .build() - .await?; - - Ok(()) -} ----- - -NOTE: If the Docker engine is properly configured, this test passes. Run `make test` to ensure proper configuration. - -[[get-a-services-hande]] -=== Get a Service's Handle - -Every configured service instance in the composite has a handle for custom interaction. The handle returns the sockets where the service endpoints are available. - -To find a service's handle, see the following code example: - -[source,rust] ----- -use pdk_test::{pdk_test, TestComposite}; -use pdk_test::services::httpmock::{HttpMock, HttpMockConfig}; - -#[pdk_test] -async fn say_hello() -> anyhow::Result<()> { - - // Configure HTTPMock service - let backend_config = HttpMockConfig::builder() - .hostname("backend") - .build(); - - // Register HTTPMock service and start the docker network - let composite = TestComposite::builder() - .with_service(backend_config) - .port(80) // Port where the service accepts requests - .build() - .await?; - - // Get the httpmock handle - let httpmock: HttpMock = composite.service()?; - - Ok(()) -} ----- - -NOTE: If the `httpmock` instance is properly configured, this test passes. Run `make test` to ensure proper configuration. - -[[http-entpoint-requests]] -=== HTTP Endpoint Requests - -To mock endpoints, use the https://docs.rs/httpmock/latest/httpmock/#whenthen-api[httpmock When/Then API^]. - -After mocking the endpoint, use an HTTP client to make endpoint requests. - -The https://crates.io/crates/reqwest/[reqwest^] crate offers the most comprehensive and flexible Rust HTTP client. - -To mock endpoints and make requests, see the following code example: - -[source,rust] ----- -use pdk_test::{pdk_test, TestComposite}; -use pdk_test::services::httpmock::{HttpMock, HttpMockConfig}; - -#[pdk_test] -async fn say_hello() -> anyhow::Result<()> { - - // Configure HttpMock service - let backend_config = HttpMockConfig::builder() - .hostname("backend") - .port(80) // Port where the service will accept requests - .build(); - - // Register HTTPBin service and start the docker network - let composite = TestComposite::builder() - .with_service(backend_config) - .build() - .await?; - - // Get the httpmock handle - let httpmock: HttpMock = composite.service()?; - - // Connect the mock server - let mock_server = httpmock::MockServer::connect_async(httpmock.socket()).await; - - // Configure the endpoint mocks - mock_server.mock_async(|when, then| { - when.path_contains("/hello"); - then.status(202).body("World!"); - }).await; - - let base_url = mock_server.base_url(); - - // Hit the endpoint - let response = reqwest::get(format!("{base_url}/hello")).await?; - - // Assert on response - assert_eq!(response.status(), 202); - assert_eq!(response.text().await?, "World!"); - - Ok(()) -} ----- - -NOTE: Run `make test` to ensure proper configuration. - -[[configure-a-flex-service-instance]] -=== Configure a Flex Service Instance - -Configure a `Flex` service by registering a `FlexConfig` in `TestComposite`. - -`Flex` services have the following configurable properties: - -[cols="1,1"] -|=== -|Property |Content - -|`version` -|Flex Gateway version to test. - -|`hostname` -|Hostname of the `Flex` service. By default, "local-flex". - -|`config_mounts` -|A map of local directories where the `Flex` service finds configuration files. -`POLICY_DIR` and `COMMON_CONFIG_DIR` constants are defined in the `common.rs` module when the project is created. + -Add the directory with the specific configuration for the actual test function, for example, the `hello` test uses `SAY_HELLO_CONFIG_DIR`. -|`ports` -|A List of ports where the `Flex` service is listening for requests. It must coincide with the ports configured in the `spec.address` property in the `api.yaml` configuration file. -|=== - -To configure a `Flex` service instance, see the following code example: - -[source,rust] ----- -mod common; -use common::*; - -use pdk_test::{pdk_test, TestComposite}; -use pdk_test::port::Port; -use pdk_test::services::flex::FlexConfig; - -// Directory with the configurations for the `say_hello` test. -const SAY_HELLO_CONFIG_DIR: &str = concat!(env!("CARGO_MANIFEST_DIR"), "/tests/requests/say_hello"); - -// Port where Flex is waiting for requests -const FLEX_PORT: Port = 8081; - -#[pdk_test] -async fn say_hello() -> anyhow::Result<()> { - - // Configure a Flex service - let flex_config = FlexConfig::builder() - .version("1.6.1") - .hostname("local-flex") - .config_mounts([ - (POLICY_DIR, "policy"), - (COMMON_CONFIG_DIR, "common"), - (SAY_HELLO_CONFIG_DIR, "say_hello"), - ]) - .ports([FLEX_PORT]) - .build(); - - let composite = TestComposite::builder() - .with_service(flex_config) - .build() - .await?; -} ----- - -NOTE: Run `make test` to ensure proper configuration. - -[[flex-service-endpoint-requests]] -=== Flex Service Endpoint Requests - -`Flex` service exposes endpoints with external base URLs dependent on the port. To access those URLs, the -Flex service instance handle provides the `external_url()` method indexed by port, for example: - -[source,rust] ----- -use pdk_test::{pdk_test, TestComposite, port::Port}; -use pdk_test::services::flex::Flex; - -const FLEX_PORT: Port = 8081; - -async fn build_composite() -> anyhow::Result { - todo!("Configuration stuff comes here") -} - -#[pdk_test] -async fn say_hello() -> anyhow::Result<()> { - // Invoke a helper composite builder function for simplicity - let composite = build_composite().await?; - - // Get the Flex service handle - let flex: Flex = composite.service()?; - - // Get the URL for our configured port - let flex_url = flex.external_url(FLEX_PORT).unwrap(); - - let response = reqwest::get(format!("{flex_url}/hello")).await?; - - // Make assertions - - Ok(()) -} ----- - -[[combine-multiple-services]] -=== Combine Multiple Services - -Usually a PDK integration test includes a `Flex` service and at least one backend service. - -The following code is the default test generated when the custom policy is created: - -[source,rust] ----- -mod common; - -use httpmock::MockServer; -use pdk_test::{pdk_test, TestComposite}; -use pdk_test::port::Port; -use pdk_test::services::flex::{FlexConfig, Flex}; -use pdk_test::services::httpmock::{HttpMockConfig, HttpMock}; - -use common::*; - -// Directory with the configurations for the `hello` test. -const HELLO_CONFIG_DIR: &str = concat!(env!("CARGO_MANIFEST_DIR"), "/tests/requests/hello"); - -// Flex port for the internal test network -const FLEX_PORT: Port = 8081; - -// This integration test shows how to build a test to compose a local-flex instance -// with a MockServer backend -#[pdk_test] -async fn hello() -> anyhow::Result<()> { - - // Configure a Flex service - let flex_config = FlexConfig::builder() - .version("1.6.1") - .hostname("local-flex") - .ports([FLEX_PORT]) - .config_mounts([ - (POLICY_DIR, "policy"), - (COMMON_CONFIG_DIR, "common"), - (HELLO_CONFIG_DIR, "hello"), - ]) - .build(); - - // Configure an HttpMock service - let httpmock_config = HttpMockConfig::builder() - .port(80) - .version("latest") - .hostname("backend") - .build(); - - // Compose the services - let composite = TestComposite::builder() - .with_service(flex_config) - .with_service(httpmock_config) - .build() - .await?; - - // Get a handle to the Flex service - let flex: Flex = composite.service()?; - - // Get an external URL to point the Flex service - let flex_url = flex.external_url(FLEX_PORT).unwrap(); - - // Get a handle to the HttpMock service - let httpmock: HttpMock = composite.service()?; - - // Create a MockServer - let mock_server = MockServer::connect_async(httpmock.socket()).await; - - // Mock a /hello request - mock_server.mock_async(|when, then| { - when.path_contains("/hello"); - then.status(202).body("World!"); - }).await; - - // Perform an actual request - let response = reqwest::get(format!("{flex_url}/hello")).await?; - - // Assert on the response - assert_eq!(response.status(), 202); - - Ok(()) -} ----- - -[[review-service-logs]] -== Review Service Logs - -After an integration test fails, you can view the service logs to find errors. To improve the debugging experience, there is a dedicated service log in each test folder at `/target/pdk-test///.log`. - -For the example, the `say_hello` test has the following service log: - -[source,] ----- - -├── Cargo.lock -├── Cargo.toml -├── playground -├── src -├── tests -└── target - └── pdk-test - └── requests - └── say_hello - └── .log ----- - -== See Also - -* xref:policies-pdk-debug-local.adoc[] -* xref:policies-pdk-troubleshooting.adoc[] diff --git a/pdk/1.1/modules/ROOT/pages/policies-pdk-overview.adoc b/pdk/1.1/modules/ROOT/pages/policies-pdk-overview.adoc deleted file mode 100644 index b825bb633..000000000 --- a/pdk/1.1/modules/ROOT/pages/policies-pdk-overview.adoc +++ /dev/null @@ -1,24 +0,0 @@ -= Flex Gateway Policy Development Kit (PDK) Overview -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Policies enforce regulations to help manage security, control traffic, and improve API adoption. Flex Gateway provides many xref:gateway::policies-included-directory.adoc[included policies], but they might not cover all your specific business needs. - -Flex Gateway Policy Development Kit (PDK) is a software development kit that enables you to develop custom policies with ease. - -PDK provides instructions to guide you through the policy development lifecycle, from implementing your Rust source code to releasing your policy on Exchange. Like included policies, you can apply custom policies to Flex Gateway running in Connected Mode by using API Manager or to Flex Gateway running in Local Mode by using YAML configuration files. - -PDK also provides xref:pdk::policies-pdk-policy-templates.adoc[example policies] to help you get started with policy development. - -Watch the PDK Product Spotlight video to see a quick overview of PDK. - -++++ -include::_partials/pdk-spotlight-video.html[] -++++ - -== See Also - -* xref:policies-pdk-architecture.adoc[Review the architecture] -* xref:policies-pdk-prerequisites.adoc[Review the prerequisites] diff --git a/pdk/1.1/modules/ROOT/pages/policies-pdk-policy-templates.adoc b/pdk/1.1/modules/ROOT/pages/policies-pdk-policy-templates.adoc deleted file mode 100644 index efd6912c6..000000000 --- a/pdk/1.1/modules/ROOT/pages/policies-pdk-policy-templates.adoc +++ /dev/null @@ -1,55 +0,0 @@ -= Custom Policy Examples -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -Flex Gateway Policy Development Kit (PDK) provides example policy projects to get started configuring your Rust source code. - -Find all policy examples and their documentation in the https://github.com/mulesoft/pdk-custom-policy-examples[PDK Custom Policy GitHub Repository^]. - -PDK offers the following example policies: - -* https://github.com/mulesoft/pdk-custom-policy-examples/blob/{template-policies-url-ver-var}/block/README.md[Block Policy Example]: Use the Block Policy as an example of how to block IP ranges by implementing xref:policies-pdk-configure-features-timer.adoc[periodic functions] and xref:policies-pdk-configure-features-http-request.adoc[HTTP calls]. -* https://github.com/mulesoft/pdk-custom-policy-examples/blob/{template-policies-url-ver-var}/certs/README.md[Certification Policy Example^]: Use the Certification Policy as an example of how to obtain data concerning connection certificates. -* https://github.com/mulesoft/pdk-custom-policy-examples/blob/{template-policies-url-ver-var}/crypto/README.md[Crypto Policy Example^]: Use the Crypto Policy as an example of how to use xref:policies-pdk-configure-features-libraries.adoc[third-party libraries] that provide cryptography capabilities in your custom policy. -* https://github.com/mulesoft/pdk-custom-policy-examples/blob/{template-policies-url-ver-var}/data-caching/README.md[Data Caching Policy Example^]: Use the Data Caching Policy as an example of how to implement xref:policies-pdk-configure-features-caching.adoc[data caching] in your custom policy. -* https://github.com/mulesoft/pdk-custom-policy-examples/blob/{template-policies-url-ver-var}/jwt-validation/README.md[JWT Validation Policy Example^]: Use the JWT Validation Policy as an example of how to use functions of the xref:policies-pdk-configure-features-jwt.adoc[JWT Library] in your custom policy. -* https://github.com/mulesoft/pdk-custom-policy-examples/blob/{template-policies-url-ver-var}/metrics/README.md[Metrics Policy Example^]: Use the Metrics Policy as an example of how to periodically send data to a metric ingestion service by implementing xref:policies-pdk-configure-features-timer.adoc[periodic functions] and xref:policies-pdk-configure-features-http-request.adoc[HTTP calls]. -* https://github.com/mulesoft/pdk-custom-policy-examples/blob/{template-policies-url-ver-var}/query/README.md[Query Policy Example^]: Use the Query Policy as an example of how to handle xref:policies-pdk-configure-features-dataweave.adoc[DataWeave expressions] in your custom policy. -* https://github.com/mulesoft/pdk-custom-policy-examples/blob/{template-policies-url-ver-var}/simple-oauth-2-validation/README.md[Simple OAuth 2.0 Validation Policy Example^]: Use the Simple OAuth 2.0 Validation Policy as an example of how to implement xref:policies-pdk-configure-features-http-request.adoc[HTTP calls] in your custom policy. -* https://github.com/mulesoft/pdk-custom-policy-examples/blob/{template-policies-url-ver-var}/spike/README.md[Spike Policy Example]: Use the Spike Policy as an example of how to configure worker spike control by implementing xref:policies-pdk-configure-features-timer.adoc[periodic functions]. - -== Set Up an Example Policy Project - -To begin using an example policy project: - -. Ensure you have installed all the xref:policies-pdk-prerequisites.adoc[PDK prerequisites]. -. Clone the https://github.com/mulesoft/pdk-custom-policy-examples[PDK Custom Policy GitHub Repository^] with the following command or your preferred GitHub interface: -+ -[source,ssh] ----- -git clone https://github.com/mulesoft/pdk-custom-policy-examples.git ----- - -. Navigate to the newly cloned directory, then copy and paste the directory of your desired policy into a new location. -. In the `cargo.toml` file of the copied policy example, replace the `group-id` with your group ID, for example: -+ -[source,toml] ----- -group_id = "" ----- - -. Run the `make setup` command. -+ -[source,ssh] ----- -make setup ----- - -. Navigate to the `README.md` file in the example policy to read more about the policy and how to test it. - - -== See Also - -* xref:policies-pdk-configure-features.adoc[] diff --git a/pdk/1.1/modules/ROOT/pages/policies-pdk-prerequisites.adoc b/pdk/1.1/modules/ROOT/pages/policies-pdk-prerequisites.adoc deleted file mode 100644 index b751b7636..000000000 --- a/pdk/1.1/modules/ROOT/pages/policies-pdk-prerequisites.adoc +++ /dev/null @@ -1,125 +0,0 @@ -= Reviewing PDK Prerequisites -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -To begin using Flex Gateway Policy Development Kit (PDK), ensure you have the following prerequisites installed. - -== Flex Gateway - -PDK tutorials assume that you have xref:gateway::index.adoc[downloaded Flex Gateway] and have some prior knowledge of the product. - -include::release-notes::partial$pdk/pdk-supported-versions.adoc[tags=intro;1.1.0] - - -[[rust-requirements]] -== Rust Requirements for Using PDK - -. Git -+ -To download and install, see https://git-scm.com/book/en/v2/Getting-Started-Installing-Git[Installing Git^]. - -. Rust programming language version {rust-ver-var} to {rust-ver-max-var}: -.. To install or update Rust, run the following curl command: -+ -[source,ssh] ----- -curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh ----- -+ -NOTE: If you do not have curl installed, see https://curl.se/download.html[Install curl^]. -+ -.. Due to the `wasm32-wasi` compilation target used by the PDK being deprecated in Rust v1.84.0, downgrade Rust to the last compatible version: -+ -[source,ssh,subs="attributes+"] ----- -rustup default {rust-ver-max-inline-var} ----- - -. Rust WebAssembly System Interface (WASI) Crate -+ -To install or update Rust WASI, run the following command: -+ -[source,ssh] ----- -rustup target add wasm32-wasi ----- - -. Cargo Generate -+ -To install or update Cargo Generate, run the following command: -+ -[source,ssh] ----- -cargo install --locked cargo-generate ----- - - -== Supported Operating Systems - -* macOS -* Ubuntu -+ -To use Ubuntu, execute the following commands to install the required packages after installing the <>: -+ -[source,ssh] ----- -sudo apt install -y build-essential -sudo apt install -y pkg-config -sudo apt install -y libssl-dev ----- -* Windows -+ -IMPORTANT: PDK supports Windows to develop and test you custom policy. However, Flex Gateway does not support Windows in production environments. -+ -To execute the `make` commands included in PDK, install: -+ -. https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-windows?view=powershell-7.3[PowerShell on Windows ^] -. Make, with either: -** https://gnuwin32.sourceforge.net/packages/make.htm[Make for Windows^] -** Chocolatey: -+ -[source,ssh] ----- -choco install make ----- - -[[cli]] -== Anypoint CLI - -To configure the Anypoint CLI for PDK: - -. xref:4.x@anypoint-cli::install.adoc[Install Anypoint CLI 4.x v1.4.4 or later]. -+ -NOTE: To find your Anypoint CLI 4.x version, see xref:4.x@anypoint-cli::install.adoc#verify-installation[Verify the Core Package Version]. -. xref:4.x@anypoint-cli::auth.adoc[Authenticate to the Anypoint Platform CLI] using a xref:access-management::connected-apps-overview.adoc[Connected App]. -+ -Authenticate with a Connected App by providing the app's client ID and client secret. -+ -NOTE: In addition to the `View Organization` and `View Environment` scopes required to authenticate to Anypoint Platform, to complete xref:policies-pdk-publish-policies.adoc[], the Connected App must have the `Exchange Contributor` scope applied. - -. Run the following command to install or update the Anypoint CLI PDK Plugin: -+ -[source,ssh] ----- -anypoint-cli-v4 plugins:install anypoint-cli-pdk-plugin ----- - -== Docker - -Docker is required to use the xref:policies-pdk-debug-local.adoc[local debugging environment] and the xref:policies-pdk-integration-tests.adoc[integration testing framework] provided with PDK. You can still build and publish policies without docker. - -To install Docker, see https://docs.docker.com/get-docker/[Install Docker^]. - -IMPORTANT: You can run Flex Gateway in Local Mode on Docker in Windows only to develop and test your policies. However, Flex Gateway does not support Windows in production environments. - -== Visual Studio (Suggested IDE) - -You can use PDK in any IDE or text editor, such as https://code.visualstudio.com/[Microsoft Visual Studio^] with the https://code.visualstudio.com/docs/languages/rust[Rust in Visual Studio Code Plugin^] installed. - -== See Also - -* xref:policies-pdk-upgrade-pdk.adoc[] -* xref:policies-pdk-architecture.adoc[] -* xref:policies-pdk-develop-custom-policies.adoc[] diff --git a/pdk/1.1/modules/ROOT/pages/policies-pdk-publish-policies.adoc b/pdk/1.1/modules/ROOT/pages/policies-pdk-publish-policies.adoc deleted file mode 100644 index 1b38a4442..000000000 --- a/pdk/1.1/modules/ROOT/pages/policies-pdk-publish-policies.adoc +++ /dev/null @@ -1,89 +0,0 @@ -= Uploading Custom Policies to Exchange -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -During the custom policy development cycle, you can upload your policy to Exchange to create a new Exchange asset to manage the policy's version and to distribute it to other users. For more information about Exchange, see xref:exchange::index.adoc[]. - -For custom policies running in Local Mode, it is not required to publish your policy to Exchange. However, Exchange is a useful version control tool. It is your responsibility to distribute custom policies for Local Mode use. - -When uploading your policy to Exchange, you can choose to either: - -* <> + -Publish a policy if the policy version is still in development. This enables you to test and edit the policy version. -* <> + -Release the policy to create a definitive version of the policy. After releasing the policy, you must create a new policy version to edit the policy. - -Every time you publish or release a policy, you create a new `stable` asset in Exchange. For more information about `stable` state assets, see xref:exchange::lifecycle.adoc#stablet-state[Stable State Assets]. - -After you upload your policy to Exchange, see xref:policies-pdk-apply-policies.adoc[]. - -== Before You Begin - -* Ensure that the Connected App you used to authenticate to the xref:policies-pdk-prerequisites.adoc#cli[Anypoint Platform CLI] has the `Exchange Contributor` scope applied. -* xref:policies-pdk-compile-policies.adoc[Compile your Policy]. - -[[publish]] -== Publish a Custom Policy - -To publish a custom policy, run the `make publish` command from the policy's root folder: - -[source,ssh] ----- -make publish ----- - -After publishing the asset, a new asset labeled `DEV` appears in Exchange: - -image:pdk-dev-asset.png["Policy appears in Exchange labeled DEV."] - -The asset's group ID, asset ID, and asset version (GAV) appear, similar to the following: - -* *groupID*: `` -* *assetID*: `my-custom-policy-dev` -+ -When publishing a policy, `-dev` appears appended to the *assetID*. -* *version*: `1.0.0-20230618115723` -+ -When publishing a policy, a timestamp appears appended to the *version*. - -Rerunning the publish command creates a new version of the policy asset with an updated timestamp. Previously published policy versions are still available. - - -[[release]] -== Release a Custom Policy - -To release a custom policy, run the `make release` command from the policy's root folder: - -[source,ssh] ----- -make release ----- - -Released policies are not labeled `DEV`. The asset's GAV appears similar to the following: - -* *groupID*: `` -* *assetID*: `my-custom-policy` -+ -Released policies do not have `-dev` appended to their *assetID*. -* *version*: `1.0.0` -+ -Released policies do not have a timestamp appended to their *assetID*. - -After releasing the asset, rerunning the `make release` command results in a conflict error. - -To begin working on the next version of your policy, update the version number in the `Cargo.toml` file. - -For example, if the latest version is `1.0.0`, update the `Cargo.toml` file as follows to begin working on a minor release: - -[source,toml] ----- -name = "my-custom-policy" -version = "1.1.0" ----- - -== See Also - -* xref:policies-pdk-apply-policies.adoc[] -* xref:policies-pdk-troubleshooting.adoc[] diff --git a/pdk/1.1/modules/ROOT/pages/policies-pdk-release-notes.adoc b/pdk/1.1/modules/ROOT/pages/policies-pdk-release-notes.adoc deleted file mode 100644 index e0a90dfa4..000000000 --- a/pdk/1.1/modules/ROOT/pages/policies-pdk-release-notes.adoc +++ /dev/null @@ -1 +0,0 @@ -include::release-notes::partial$pdk/pdk-rn-landing-page.adoc[tags=rn-landing-page-intro;rn-landing-page-relative-overview-link] \ No newline at end of file diff --git a/pdk/1.1/modules/ROOT/pages/policies-pdk-troubleshooting.adoc b/pdk/1.1/modules/ROOT/pages/policies-pdk-troubleshooting.adoc deleted file mode 100644 index 424687477..000000000 --- a/pdk/1.1/modules/ROOT/pages/policies-pdk-troubleshooting.adoc +++ /dev/null @@ -1,141 +0,0 @@ -= PDK Troubleshooting -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -When using Flex Gateway Policy Development Kit (PDK), you might encounter issues with PDK itself. See the following sections to help you resolve these issues: - -* <> -* <> -* <> -* <> -* <> - -To debug issues with your custom policy, see: - -* xref:policies-pdk-debug-local.adoc[] -* xref:policies-pdk-debug-deployed-policies.adoc[] - -[[cargo-generate]] -== Cargo-Generate Error on a Mac Device - -When compiling Rust on a Mac Device for the first time, the following error might occur: - -[source,ssh] ----- -$ cargo install cargo-generate -error: linking with `cc` failed: exit status: 1 -[...] ----- - -To troubleshoot this error: - -. Ensure Xcode is installed, then compile again. -+ -To install Xcode, execute the following command: -+ -[source,ssh] ----- -xcode-select --install ----- - -. If Xcode is installed and PDK still does not compile, create or edit the `~/.cargo/config.toml` file by adding the following: -+ -[source,toml] ----- -[target.x86_64-apple-darwin] -rustflags = [ - "-C", "link-arg=-undefined", - "-C", "link-arg=dynamic_lookup", -] -[target.aarch64-apple-darwin] -rustflags = [ - "-C", "link-arg=-undefined", - "-C", "link-arg=dynamic_lookup", -] ----- - -[[cli-credential]] -== Anypoint CLI Credentials Error - -Anypoint CLI requires multi-factor authentication (MFA) with a Connected App. Using any PDK command without Connected App credentials results in an error similar to the following: - -[source,ssh] ----- -Error: Failed to launch the browser process! undefined -[...]:ERROR:ozone_platform_x11.cc(239)] Missing X server or $DISPLAY -[21921:21921:1103/113335.217708:ERROR:env.cc(255)] The platform failed to initialize. Exiting. -TROUBLESHOOTING: https://pptr.dev/troubleshooting ----- - -To configure Anypoint CLI with MFA authentication using a Connected App, refer to xref:4.x@anypoint-cli::auth.adoc[]. - -[[group-id-error]] -== Group ID Error When Creating the Policy Project - -Anypoint CLI uses the `ANYPOINT_ORG` environment variable. This variable can use either the organization name or the organization ID as the value. If the variable is set to the organization name, the xref:policies-pdk-create-project.adoc[policy creation command] fails to infer the group ID of the organization. - -Use the organization ID for the value of `ANYPOINT_ORG`. However, if you cannot change the variable, use one of the following methods to provide the group ID: - -* If you run the create command and receive the following prompt: -+ -[source,ssh] ----- -Please provide a valid group-id (the id of the organization that will own the asset): ----- -+ -Enter your group ID, then press Enter. - -* Use the `--group-id` flag when creating the PDK project, for example: -+ -[source,ssh] ----- -anypoint-cli-v4 pdk policy-project create -n --group-id ----- - -[[authorization-error]] -== 401 Authorization Error When Running Make Setup - -When executing `make setup', the following error might occur: - -[source,ssh] ----- -$ make setup - Login token for `anypoint` saved -[...] - -Caused by: - failed to get successful HTTP response from `https://anypoint.mulesoft.com/crates[...]/download` [...], got 401 - body: -make: *** [install-cargo-anypoint] Error 101 ----- - -This error occurs when your version of Rust is not {rust-ver-var} or later. - -To solve this error, refer to xref:policies-pdk-prerequisites.adoc#rust-requirements[Rust Requirements for Using PDK] to ensure your Rust software meets the required version. - -[[network-exists]] -== 409 Network with Same Name Already Exists - -When running the integration testing framework, the following error might occur: - -[source,ssh] ----- -Error: Low level Docker problem: Docker responded with status code 409: network with name flex-test-network already exists - -Caused by: - Docker responded with status code 409: network with name flex-test-network already exists ----- - -To troubleshoot this error, run the following command: - -[source,ssh] ----- -docker network rm flex-test-network ----- - -== See Also - -* xref:policies-pdk-architecture.adoc[] -* xref:policies-pdk-prerequisites.adoc[] \ No newline at end of file diff --git a/pdk/1.1/modules/ROOT/pages/policies-pdk-upgrade-pdk.adoc b/pdk/1.1/modules/ROOT/pages/policies-pdk-upgrade-pdk.adoc deleted file mode 100644 index 07f11c093..000000000 --- a/pdk/1.1/modules/ROOT/pages/policies-pdk-upgrade-pdk.adoc +++ /dev/null @@ -1,106 +0,0 @@ -= Upgrading PDK -ifndef::env-site,env-github[] -include::_attributes.adoc[] -endif::[] -:imagesdir: ../assets/images - -To update a custom policy project, you must update each of these separately versioned Flex Gateway Policy Development Kit (PDK) components: - -* Anypoint CLI PDK plugin -* PDK Rust libraries -* Anypoint Cargo plugin - -When you upgrade your Anypoint CLI PDK plugin, you must manually upgrade the PDK Rust libraries and Anypoint Cargo plugin to be compatible with the new plugin version. All the PDK custom policies on your device use the same Anypoint CLI PDK plugin. When you create a new custom policy project, the PDK Rust libraries and Anypoint Cargo plugin versions are the same as the Anypoint CLI PDK plugin used to create the project and are independent from other policy projects. - -To upgrade a custom policy project created with an earlier version of the Anypoint CLI PDK plugin: - -. <> -. <> -. <> - -[[anypoint-cli-pdk-plugin]] -== Upgrade the Anypoint CLI PDK Plugin - -When editing a custom policy created with an earlier plugin version, ensure your <> and <> match your Anypoint CLI PDK plugin version. - -To upgrade your Anypoint CLI PDK plugin to the latest version, execute the following command: - -[source,ssh] ----- -anypoint-cli-v4 plugins:install anypoint-cli-pdk-plugin ----- - -To verify your current plugin version, execute the following command: - -[source,ssh] ----- -anypoint-cli-v4 plugins ----- - -For example, the following PDK plugin version is `1.1.0`: - -[source,ssh] ----- -anypoint-cli-pdk-plugin 1.1.0 -├─ anypoint-cli-command 1.5.2 -│ └─ @oclif/plugin-help 5.1.12 -└─ @oclif/plugin-version 1.0.4 ----- - -[[pdk-rust-libraries]] -== Upgrade the PDK Rust Libraries - -The PDK Rust library is the Rust code library used by a specific custom policy. Different custom policies might use different PDK library versions. - -To upgrade the PDK Rust code libraries, modify the `pdk` `dependency` and `pdk-test` `dev-dependency` versions in the `cargo.toml` file of the custom policy. The `pdk` and `pdk-test` versions must match and your Anypoint CLI PDK plugin must support the specified version. - -In the following example, both dependency versions are `1.0.0`. Modify it to your required version: - -[source,toml] ----- -[dependencies] -pdk = { version = "1.0.0", registry = "anypoint" } - -[dev-dependencies] -pdk-test = { version = "1.0.0", registry = "anypoint" } ----- - -[[anypoint-cargo-plugin]] -== Upgrade the Anypoint Cargo Plugin - -The Anypoint Cargo plugin extends the functionality of Cargo for use with the PDK Rust Libraries. - -To upgrade your Anypoint Cargo plugin: - -. Open the `Makefile` of your custom policy. -. Find the `install-cargo-anypoint` target, for example: -+ ----- -install-cargo-anypoint: - cargo install cargo-anypoint@1.0.0 --registry anypoint --config .cargo/config.toml ----- - -. Change the version after the `@` character to the required version. -. Save the `Makefile`. -. Execute the `make setup` command: -+ -[source,ssh] ----- -make setup ----- -+ -NOTE: Executing the `make setup` command for a certain policy installs that policy's Anypoint Cargo plugin version. -+ -. Execute the following command to verify the correct version is installed: -+ -[source,ssh] ----- -cargo anypoint --version ----- - -== See Also - -* xref:policies-pdk-prerequisites.adoc[] - - -