{"group":{"id":1,"name":"Community","lockable":false,"created_at":"2012-01-18T18:02:15.000Z","updated_at":"2025-12-14T01:33:56.000Z","description":"Problems submitted by members of the MATLAB Central community.","is_default":true,"created_by":161519,"badge_id":null,"featured":false,"trending":false,"solution_count_in_trending_period":0,"trending_last_calculated":"2025-12-14T00:00:00.000Z","image_id":null,"published":true,"community_created":false,"status_id":2,"is_default_group_for_player":false,"deleted_by":null,"deleted_at":null,"restored_by":null,"restored_at":null,"description_opc":null,"description_html":null,"published_at":null},"problems":[{"id":60813,"title":"Matrix Rotation by 90 Degrees","description":"In this problem, you are tasked with rotating a given matrix by 90 degrees in a counter-clockwise direction. The input will be a square matrix (i.e., the number of rows is equal to the number of columns), and you need to return a new matrix that is rotated by 90 degrees.Input:\r\nA: A square matrix of size n x n (where n is a positive integer). The matrix A contains numerical values.\r\nOutput:\r\nThe function should return a new matrix, B, which is the original matrix A rotated by 90 degrees counter-clockwise.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 164.792px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 406.493px 82.3958px; transform-origin: 406.493px 82.3958px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 62.9688px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 383.49px 31.4757px; text-align: left; transform-origin: 383.498px 31.4844px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIn this problem, you are tasked with rotating a given matrix by 90 degrees in a \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003ecounter-clockwise\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e direction. The input will be a square matrix (i.e., the number of rows is equal to the number of columns), and you need to return a new matrix that is rotated by 90 degrees.\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eInput:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 20.4167px; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 390.486px 10.2083px; transform-origin: 390.495px 10.2083px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 362.5px 10.2083px; text-align: left; transform-origin: 362.5px 10.2083px; white-space-collapse: preserve; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003eA\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e: A \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003esquare matrix\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e of size \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003en x n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e (where \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003en\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e is a positive integer). The matrix \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003eA\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e contains numerical values.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003cdiv style=\"block-size: 20.9896px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 383.49px 10.4861px; text-align: left; transform-origin: 383.498px 10.4948px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eOutput:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 20.4167px; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 390.486px 10.2083px; transform-origin: 390.495px 10.2083px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 362.5px 10.2083px; text-align: left; transform-origin: 362.5px 10.2083px; white-space-collapse: preserve; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe function should return a new matrix, \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003eB\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, which is the original matrix \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003eA\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e rotated by \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e90 degrees counter-clockwise\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function B = rotateMatrix(A)\r\n    B = rot90();\r\nend","test_suite":"%%\r\nA = [1 2 3; 4 5 6; 7 8 9];\r\nB = rotateMatrix(A);\r\nassert(isequal(B, [3 6 9; 2 5 8; 1 4 7]));\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":4810860,"edited_by":4810860,"edited_at":"2025-02-23T18:44:01.000Z","deleted_by":null,"deleted_at":null,"solvers_count":17,"test_suite_updated_at":"2025-02-23T18:44:01.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2025-02-23T18:23:52.000Z","updated_at":"2026-02-09T16:42:01.000Z","published_at":"2025-02-23T18:24:25.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIn this problem, you are tasked with rotating a given matrix by 90 degrees in a \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ecounter-clockwise\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e direction. The input will be a square matrix (i.e., the number of rows is equal to the number of columns), and you need to return a new matrix that is rotated by 90 degrees.\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInput:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eA\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e: A \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003esquare matrix\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e of size \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003en x n\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e (where \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003en\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e is a positive integer). The matrix \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eA\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e contains numerical values.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eOutput:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe function should return a new matrix, \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eB\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, which is the original matrix \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eA\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e rotated by \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e90 degrees counter-clockwise\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":1830,"title":"Matrix rotation as per given angle","description":"Given a user defined matrix and angle of rotation, rotate the elements of output matrix as clockwise or anti-clockwise. Angle will always be multiples of 90 degrees.\r\n\r\ne.g A = [1 2 3; \r\n         4 5 6; \r\n         7 8 9]\r\nAngle = 90\r\n\r\nOutput Matrix = [3 6 9;\r\n                 2 5 8; \r\n                 1 4 7]\r\n\r\nHappy clocking !!\r\n","description_html":"\u003cp\u003eGiven a user defined matrix and angle of rotation, rotate the elements of output matrix as clockwise or anti-clockwise. Angle will always be multiples of 90 degrees.\u003c/p\u003e\u003cp\u003ee.g A = [1 2 3; \r\n         4 5 6; \r\n         7 8 9]\r\nAngle = 90\u003c/p\u003e\u003cp\u003eOutput Matrix = [3 6 9;\r\n                 2 5 8; \r\n                 1 4 7]\u003c/p\u003e\u003cp\u003eHappy clocking !!\u003c/p\u003e","function_template":"function y = RotateMat(x, angle)\r\n  y = x;\r\nend","test_suite":"%%\r\nx= [1 2 3; 4 5 6; 7 8 9]\r\nangle = 90;\r\ny_correct =[3 6  9; 2  5  8;  1 4 7];\r\nassert(isequal(RotateMat(x,angle),y_correct))\r\n\r\n\r\n%%\r\nx = [ 1 2 3 4; -10 -20 -30 -40]\r\nangle = 270;\r\ny_correct =[ -10 1; -20 2; -30 3; -40 4];\r\nassert(isequal(RotateMat(x,angle),y_correct))\r\n\r\n%%\r\nx = [ 1 2; 3 4; 5 6; 7 8]\r\nangle = -90;\r\ny_correct =[ 7 5 3 1;8 6 4 2];\r\nassert(isequal(RotateMat(x,angle),y_correct))\r\n\r\n%%\r\nx = [ 89 -100 88 -101];\r\nangle = 180;\r\ny_correct =[  -101    88  -100    89];\r\nassert(isequal(RotateMat(x,angle),y_correct))\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":2,"created_by":16381,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":120,"test_suite_updated_at":"2013-08-15T21:19:19.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2013-08-15T20:45:14.000Z","updated_at":"2026-02-18T21:32:44.000Z","published_at":"2013-08-15T20:49:56.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGiven a user defined matrix and angle of rotation, rotate the elements of output matrix as clockwise or anti-clockwise. Angle will always be multiples of 90 degrees.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ee.g A = [1 2 3; 4 5 6; 7 8 9] Angle = 90\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eOutput Matrix = [3 6 9; 2 5 8; 1 4 7]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eHappy clocking !!\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":623,"title":"Rotate a Matrix","description":"Input a Matrix x, Output y is the matrix rotating x 90 degrees clockwise","description_html":"\u003cp\u003eInput a Matrix x, Output y is the matrix rotating x 90 degrees clockwise\u003c/p\u003e","function_template":"function y = RotateMatrix(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = [1 2; 3 4];\r\ny_correct = [3 1; 4 2];\r\nassert(isequal(RotateMatrix(x),y_correct))\r\n","published":true,"deleted":false,"likes_count":6,"comments_count":3,"created_by":27,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":720,"test_suite_updated_at":"2012-04-25T21:51:04.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2012-04-25T21:50:27.000Z","updated_at":"2026-02-24T02:55:59.000Z","published_at":"2012-04-25T21:50:27.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eInput a Matrix x, Output y is the matrix rotating x 90 degrees clockwise\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":61152,"title":"Pascal's Pyramid - A Variation with an Arial View","description":"Let's create a matrix of size N x N containing a Pascal's Triangle in each quadrant that diverges from the centre to form an arial view of a pyramid made of Pascal's Triangles according to the test cases provided.\r\nFor example, given an input matrix size 5 x 5 for your starting Pascal's triangle, the output matrix will then be as follows:\r\n\r\nHint: Mind your matrix positions!","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(33, 33, 33); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none; white-space: normal; \"\u003e\u003cdiv style=\"block-size: 370.8px; display: block; min-width: 0px; padding-block-start: 0px; padding-inline-start: 2px; padding-left: 2px; padding-top: 0px; perspective-origin: 408px 185.4px; transform-origin: 408px 185.4px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eLet's create a matrix of size N x N containing a Pascal's Triangle in each quadrant that diverges from the centre to form an arial view of a pyramid made of Pascal's Triangles according to the test cases provided.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eFor example, given an input matrix size 5 x 5 for your starting Pascal's triangle, the output matrix will then be as follows:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 259.8px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 384px 129.9px; text-align: left; transform-origin: 384px 129.9px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cimg class=\"imageNode\" style=\"vertical-align: baseline\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAdgAAAD+CAYAAACZWxQGAAAQAElEQVR4AexdBXwUxxf+4kJIQgQILsHdaYHitKWlQkuVUvnX3b2lpS2UIgUKpbgUd0sIcXd3d3c/y13++zZCCFDitwtzv5u7vd03M9/73t68eTO7O5q17MUYYAwwBhgDjAHGQIczoAn2YgwwBhgDjAHGAGOgwxlgDrY9lLK8jAHGAGOAMcAYuA0DzMHehhi2mzHAGGAMMAYYA+1hgDnY9rDH8raHAZaXMcAYYAzc1QwwB3tXm5cpxxhgDDAGGAPqYoA5WHUxz+plDLSHAZaXMcAYEDwDzMEK3kQMIGOAMcAYYAyIkQHmYMVoNYaZMcAYaA8DLC9joEsYYA62S2hmlTAGGAOMAcbAvcYAc7D3msWZvowBxgBjoD0MsLwtZoA52BZTxQQZA4wBxgBjgDHQcgaYg205V0ySMcAYYAwwBhgDLWbgFg62hXlrKpAb74crJ0/iZLN0xdkHCSX15UiKkBHm1Chzxdn7+rF6EfV+SVGcFQHnJjpcdvREXPF1VNKSLES63KjnOTs3hGZKrwsJYkuJqsIUBNicw1WXYGRKmoBSVqEwJRA2TfQ8efISHNxj0UTVJhmEuSkvz0eM2422OGvjiMB0odnizvwpJaXIDLbF2Sv28E+T3DkDk2AMMAZExUDbHaxKivKCNESHhiK0IQW6w+7Ufuzadwlh1GqTE4725JzwWdj6hiLUxwl2Z/7FEbtwZAumPaxBdWkuEhp08HXGtbPHcdw+DiX1pqzMiobrya04cMW3UdeImERkldXUSwjgq4ZzoMnBcDx9BucO/Y3Nuy4hqqIJLnkJ0gNtsW/rcTg36BoaibikPFQ3ERP6ZnV+MrxObsTeSz6NtgiPjkd6iULo0JvgU0JSmokwxzM4e/Eo/l7/F06Hljc5zjYZA4yBu4GBtjtYXUsMn/UMvly3Duvq04+fvoZHZo1G/8HjMbYXIC1IgJebKyI05+CbXzi5NV/j+enmSLQ7AruYBvelbhqN0G/MYrxVr8O6Hz/B0+O6I8HRAQnS69j0e1lj9srv0KDr6k/+h0fGGF0XqN9Sz5cSVflpCHNwR3KJCv3GDrkNDGP0Hf4Q3mvQdd23eP/Vueh3G2mh7tYzH4Bpz3/baIufv3gXyyd0Fyrcm3ApJSXIDreHS3Qu5AMnYdhNEl27QyqVIjg4GJcvX0ZqamrXVt4BtVVXV8PT07NxlIxG1C5evIiUlJQOKL3jiqitrUVFRQWcnJxw7do1lJWVNRauVCqRlZWFc+fONepx+vRpuLi4QCaTNcqpc4Pwl5SU4MqVK40Yiee8vLxGWITV29u78TjZ4vz580hMTGyUUeeGSqUC4SVMhK1pon25ubk8PJJLTU1t1KPpMV6ghR+aLZS7sxgXrWZGByEgvhS97p+LkUZS5CZHIyK+pP43V4SOAQy7G0CWn4gAvyQI47ThcDV513B/AgXHir6BLrQVTQ4IelMFmVwbRlZTseKtxzDWRNBg73lwtQoFNLS7Y/yzH2LFpB5q44MazNLSUjg7O4Ma9i1btoAcrdoAtbHi8vJynDp1itchJCQElCIjI1FUVNTGEjs+GznQ7OxsvhNz4sQJbN26Ffn5+Y0V1dTUIDY2Fn///Td8fX15HUK5kab4+HgouPOlUVCNG3S+UGeGuCWOAwMDeX3IyZJjJWh0nDoGZ86c4XUgubCwMBQWFtJhtSfSgc4XwkTYKAUFBcHOzg6bNm1CRkYGyLmSoyXnSx0cOk6dT7Ib/V9ao4Rma4T/S7amNBXx0ZHI1hqLORP6cKLlKCktRHVFb4wZ0QfSogyEu9jAOyIbMNBDFXeyFXBSgnjXVCI/yR+23J/05El7BKRoYdSDszG8+3V0ivI8xHtf4v/Ip85fg1toFpoEuNcF1bKlA7NBwzHjsTtFoxKU5EbAkdOTGqTLDu6IFU4bBKBl5NVUFiHZ53KdLc7ZwikwQ0C2uLMO2sZWGHL/CiwedGfZzpSQSCSghiYiIgK9e/eGiYl4e2bdu3fH008/jd9//51P3333HaZOndqZ9LW4bGrUKXL18PDgRwhGjx59y7xaWloYPHgwvv/+e16H3377DW+99RaMjIxuKd/VOzU1NdG3b198/fXXIJ5//fVXLF++HPb29jc4UH19fTzxxBO8DMn99NNPmDlzZlfDvWV9xPGwYcNAmAgbpTVr1mDJkiUYPnw4+vfvz3do3Nzc+A7P6tWrsXbtWrz++utwcHAARee3LPg2OzvIwUpQkBbPzecpMXD2I5jet6E2AxjoG6C2LBzOFy7BjpuY7TZoNp6Z3R8qmRzyBjF1f6tkqODmkyO5YbKIpHwo9M3R26AE2cV1wPR79MHQUZPQRxbP9fD94e5wBcf2n4SToJxsHdbbfmp3g/ngEZgwsTvyOT2DfZxhf3Yv9lwQl5PVNbbE4LEzMUiZwNkiAJ4uV3Fs71FcFZmTva2duvAARVXa2tp8IzllypQurPneq4qiImNjY76htrKyuisIoI4DRa4GBgai1YfsQkPGNGR/3333oVevXvzQPY3q3H///SBbaWho8J0c+r+Q46XRhpYqrNlSwf+SqynPRHR4KJIUQ7DwgZG43t+SozQnDn72dggr7IbxT7yLlYutoc0VptfDDCbctyDeuuYYOnMFvqTe79pPsWKmJvwO78G50Lp5YqO+Y7Dkzd/re2Tr8PP7j2C0xA9HTvhDMFH4nYjU6YGBU5fjC9KR0i/f47X5/ZBhtwe2ccKJxe+khmHPoZj3vwZbrMUvnzyDGRoBOHjIC7l3ynyXH2+tehT1zZo1i4+aWptXaPI0jxwQEMCPatBwN21TgygEnBoaGjAzM8PSpUv5hvp2mKixLygowKVLl3g9aFiy6TDy7fJ15X7CmJOTA5qTpGFg4nnBggXo2bNnIwwa0qZhVRolO3v2LHx8fCAUWzSCrN8gZ0mjODS3PHv2bFCngebGaUh74sSJfDTr5+cHV1dX9OjRA6Q7jfzUZ7/jl+YdJe4oIEFBQjgCA/OhP2UhpvVtyGCAbob6UEiykVXZH0+++woeGmWE6soKlJWXwsTCDHoNokL65pxtz/5jMMJKioKC4lsg04Fpj14YOtAU8pIiXL9M4RaiQt5lZArTQaNgraFAWWnTy42FDLo5Nh0YGffE8KHmkHNzPKXND7Pf9wQDFEFNmDABNIRJDbu7uzsOHToEahiF2rA3NwwNXfbmhumpUY+Li4O/vz8uXLiAY8eO3TBX2zxfV/8mB9Qwh0lzsdrcCAgNYRcX17WVenp6mDRpEnR1dUG2oIvPDhw4AC8vL8E5WdKFnCkN+86ZMwdDhw7l6dTQ0AANc1NnwtbWlr/QrFu3bvwUBHUeWnNOtd/BSnKRFB2B6GJLTLvPukn02h1Wfa0x6f5e0DTQhVYNh11ShMzEWCRWGWHM5Kay3DGhvKUlKMpMQa7cEiOse92Mipuvzc2IR2hKBcwHDUSPmyVEsUdWlofksCBkyKwwqL++KDDfBFJZjaLsOATEFcN86GCY3yTAdtwLDNDc8apVq+pHmH7HF198wUeKx48fR8ujDfUyRY6K5mZ/+uknXg+af33hhRf4q40pwlIvuuu1U0dgxIgR/BwmYaR5b7qoiRwpSRkaGuLFF1/kdaD5TZoLt7S05Ds8dAEUyQglUfRKnQS62vyRRx7hOwWEjRxvVVUVf7U3XQRFEfrKlSv5aJbONepEkFxLUjsdrARFSVEICypA96kL8QAXoTattHvvoZgxZRxMs65ix8FTOHX0KGy9klAzZDHuH2bUVFR929JiZEW48EMyNKRx6uhJ2HunQXP0Q5g9nDDWoDI/CQE2HH66OOjECVxyjUDF0AV47LH70Biwq08DvmZZaQ6iXTmMF+3hHpWN8oJEeF0+hcsOHnUXMslKkRvl2qjnsVN28IjXxvTHn8Dicd35MoT/oUR1cTqCbDk9eVucxAV7f+T3m4/lKx5Af+ErUIdQXoGiODfOFudh6xSKrKoSpPpdxqmLdnCKLqqTYZ9tYkBDQwM09G1tbQ2KTuRyeZvKUXcmHR0d/oIbGloW0tXQTXkhZ0sXBQ0ePJi/xajpMdrW0NAARX7kkIVmC3KipaWluHr1KkaNGoWm0asBN6dMEXhERAR/kRnNzZIzTktL4+doSW/SryWpnQ5WgUqlFroNmoZHlk5Dn+Y1Gg/A+EWr8OajU6CXG4SghGJoD1uEV1Y+jFFCadMV1SjNiuOHM2hIIyi+GJrWD+Gt17l5Vh6jCrKKQqRGcviDuBSRAUmPmVj1wet4VDD3wQI1kjJkJ3D44rJR2WMM5k3tC1l8EMJjEpBbxRlGIUFZTnyjnrH5SgxY9jE+eG0u+nGHxfFWQV5djPQGW4SnoFR/El765D1R3QcLpQyVuQmcLaKRVmCI0YtnYYiS+x0WhdjsSnGYQqAoafiO5smocaTGvzXRhpBUojllilyrq6vRp08fIUFrxEJc061HNDxMTrTxQP0GDbHSBUTUrg4cOBBCsgVhp8g1KioKc+fObYxeNTQ0+PnyGTNmgBwtTTuQHnSPMt0yRfvJ+dareMevdjpYYwyc8DBe+fgVPNwsem2smXOyE5a+g/Xr13PpJ3z8qoCcK4Hs3g9jHnqbw0b4KH2L91bNaRKZ6sJ86Ays+IqOUfoZn77xKMbwzpcKEEbqZjUSi94gfDem7z58DfMGcBiNrDBi0ZvX9fzuQ7w2tx93QExvHZj2m4gnv2zQcQ2+fP8pjDcWkw4cVgMLDJz7+nVb8P8NTqcfP8N7iwZyAl3zpvkkajToYhU3NzdQQ0lzf3RfY3R0dNeAaGctFInQnCA9vIGGKmkUiubNaCjvySef5COodlbRIdnJYdJc3/nz57mOVRAfXV+7do1/aEN+fj4oQkpOTgbpQIkuDiLH9NBDD2Hy5MkdgqG9hTQ4JcJHqYHrQYMGgebAqXwaWqUrcBuO07lEw8YrVqzgh+1JRt2JzhmKqOke12HDhmHatGk3QCIHOn/+fP6Cp71793IjTad4u9AVxjS/fIPwHX6008HeoXR2mDHAGBAsA9SoU4RB80x0FSX1zqnxCQ0NBUUmggXeDBjNs8bExIAefBAeHg4awnv//fcFcx8swaXODD3NiPBRVERXrNJDDShKpXtkKUoiR0s6UCJZiqyEdB8sYaSrawkfJdKFhoA/+ugj0AVadO7QbTv0wAw6TucR6U3HZwrkPliyBSXCRY70mWeeucnx03z4xIkT8cEHH4A6b6QH7aPfdNsO5W9papmDbWlpTI4xwBgQDQM0BEZXT9aNLnERdH0kTTfXL1q0SBR6aGho8PNi5FBJD3qU6YcffnjDbSNCUITmhelCLMLYNNFFQDT/R409OaGGYz///DMefvhhIUBvxEDzwhTtNWAkrt99991GB6WhUTe8SvtIhi5y+vzzz3nn21iIADY0NDR4TJ988gnoXtdbQSKHSiMHDXp89dVXaK1zpXKZgyUWWGIMMAYYA4wBxkAHM8AcbAcTk7Cv/wAAEABJREFUeovi2C7GAGOAMcAYuAcZYA72HjQ6U5kxwBhgDDAGOp8B5mA7n2NWQ3sYYHkZA4wBxoBIGWAOVqSGY7AZA4wBxgBjQNgMMAcrbPswdIyB9jDA8jIGGANqZIA5WDWSz6pmDDAGGAOMgbuXAeZg717bMs0YA4yB9jDA8jIG2skAc7DtJJBlZwwwBhgDjAHGwK0YaJeDranIQ6L/VdBzM/l0yRHekTmQNdRUU4G8xABcPXv2uszZq3DzS0QphPNSVhYgOdCuHuMlOHiEI1vaFJ8SlQUpCLSr1+OSAzzCsnGDSFNxtW0rUVWUiiC7i7B3C0VWc4CyMuTFuNfreRY2Tp6IK1Yb2HZWLEd5QRw8zl6Bo3sMxKiGSlKGrNBruHDVCYHpzY3VTnpYdsaAehlgtXMMtMvBUgORmxgKX19fLnnBweYCTp60RUhOvYuVFSDe8yL2bj0KO16G5EIQlZALWuCFq1/975pK5CYEwu6cLdw4jF6OV3Hx38M455aAknp00pIMBDudwJHTdvD19YLT1Ys4cvgc3BMaJOoF1fmlrEJRaiicz5zBmX3bsGHnBUSWNwFExxN8YXP0GM66+sLX7RqunjqAgza3cMRNsgl1U16Rg9BrO/H7z5uxe6cT0oUK9Ja4VJCWZSHc+SzOnT+EbWu34GRI2S0l2U7GAGNAvAy0y8Hq9hyO2S98gw0bNnDpd3z7ymxYFnvgamBBE0Z6YPCEx/EJL0Ny3+LdlbObrFbTRFQdmyopF4kaovd9b2Eth/H3Xz7AI6Ok8D9+DqHkPzkHnBPhDSePFPR8bjWv5y8fPIpRMm8cOu3TLNJVhwJUJxe55qcjzN4V8fkK9B07lHbekGQl6Qhwt4Nn1XR88xtnh7U/4rX5A5ByZR8uRZKiN4gL+4eyGgVx4fByiofxnNGwEDbam9CpJCXICreHU3gGqgdMwvCbJLp2B630EhoaClqFhta87NraO642etg8rZ1qZ2cHDw8P0IPnO6709pdE+OjB/q6urnB0dOQfJN+01JqaGtCKOvxoIDfqZ2Njg4KCpm1pU2n1bNND8mmR8gaM9vb2/MpATdHQijqkI8nQ6kF+fn5QKpVNRdS6TTzTMnWEjxJhpCCxASPZiRZeuHTpUuNo37lz50CrBNF/pTXg2+xgb65EBZWqBjUqDdBqERDLS9cCQyfNxfJlY2DEYda16Il+nIMyK09GcgagLM9AUnQ4MjWm4MGZ/TgJLejpd4OZdjlyIzzglwcBvFSQSTVh2HMKnnn3CYwzbQ5JhqLMOASHZML8gcUYR8u76ejDwKQ7NMqS4e0Zx3UymucR6m8lqouSEO7tgzzzJ7FyyTChAr0tLpVCDg1NQ4x77hM8O9nstnKdfYAaktLSUri6uoKWrNu0aRO/lFpn19tZ5VPD7uDgwC8DeODAAdDvzqqrteVS452Tk8MvT3fkyBFs3rwZtJJRQzkqlQq05igtAUdOy8vLC9Sok11oRZcGOXV+E0bS4cKFCyB8lI4dO4arV6+ioTND37T/+PHj3GifL39u7d+/H7RikzqxN62b9KCVjMipUqLznzDS0o0kR7ZKTEzkbUTLOJIMdRKoY0EdDJJpadJsqeDt5KTFGYh0o7nJ47jsGwu5xRwsmtCniXg1CjND4cj1yKi3cNXVD4kCDpiUlRUoySpAlb4FLHsA8vIyFBSXo3bIWAw3qERBsj/snf0QU6YPc+QjM1cIc2c6MBs8AjOfmIf+TZi/vlmFsvJclBT2woQx/SEry0OM+xV4BKZC2c0QkoxMThOI4yUvQ1a0P5xiVZi64gEMEAfqG1BqG1thyKxnsWTwDbu7/Af1xmnJMYpee/XqBVpDtctBdFCF1ChSo0mN5ciRIwW1uDd1ZCorK/momiLU0aNH36R1dXU13N3dQSMIa9aswbp16/DCCy+AnC2t0XtTBjXsID3kcjlGjRrFd2J+++03fsUfWvuVOgfkuOibOgYPPPAA/vjjD3z//fewtLTEoUOHQGuwqgH2TVXSykW0zi6NvBLGH374gQ8KaX3YBmEKEvv164cff/yRG7XcwOtLqzTRqkgNMi35breDlVcWIT2Km9PzjUZGqS5MB5oDJTl1Fzppd0cv62EYYa2NDF9OxtUWl0/uwQEbP2E6WW44OJdrvD08U6Exdh4mN3grfT1o6shR6G+PSxecESvphtFLn8JkExXkckVLeG4mo46f+lyj0x060hi4X7gIm4AMKK3m4OWFg6CUSuvspQ5YrapTjvLsSAS6hkM64Xk8NsG4VbmZ8I0M0FAZNSTLly/H1KlTbzwool/U8FMkTpGTmZkZqPEUGnziulu3bnjjjTfQp0/TAAQg/DS0TfhnzpzJL79HdqHGXM45NE9PT0EMsWppacHa2hpPPfUUaOk6clRjx44F6UaRLWGlDht1JubOnQsNDQ2QDHXcwsLC+M6D0OxCeKhjQElbW5t+dmjSbG9pxgMmYum73JweN3/5/avzYZlyHgdPeIC/KFLPEsNnP4dvuGPUW9jw23d4cboxEuwOwjFR1t6qOzY/51wLEj1x4YorwrUnYtlj96FfQw3VRciMcMcFl1hIzOZg1QcrcZ+VBIoaXa7X371BSuDfClQWJsHf3gb+aUpYP/ox3lw2Cjrc0JSeuQVMIfyXsroA8RFecMvujScfmgDmXttnM2rAZ8+ejSFDhrSvIDXnpmE7GtILDQ3FkiVLQI5MzZBuqF5DQwPm5uZ49NFHG9dObSpAjTtFd9RJGDduHGhkgYYkyeEaGRkhNzcXEomkaRZBbJNjzc7O5qM/cqL0m0YR+vbty0ethJvmkWkoXE9PD+SEBQGcA0HnDHFMQ/A0B0sdgXnz5nFH6t7U6SkpKeGH9GnkleZjSY+6oy3/bLeDbVqVca++GMpFrHqFuSi8VWBnbAGLgSMxGHJuuKCyaVY1b0tRkhmMy8cu4lp6Hzz84gtYNtaIx6SlbwAjLQUq0rMgmb4K77/yAPrVVKGytAxF1Rb8MDIvKOgPPRjoG6K2JhOJWWZ47ON38MT47pBUV6G4uBDGlubQFzR+AqdEVV4awl19kaRjgLKgczh38SqcA2KQVRgNFxtHuIv3niNSkKU2MEANIV0IRBc10dDllClT2lCK+rNoaGjAwMAA1PBfu3aNHy42NjbG448/zo2SyQURwTZliToF5DDJgVIHbdCgQfxhirwNDQ1B85kXuLla+l66dCkGDhzIdxx4IQF8UGcgISEB5GRp2H7YsGFcW1jM80w6WFhYYPLkyaB5V+rokJP9999/b5g3b4kaHehga1BRlIeM7Ero9hmKAd1vrl5anImkqEjkKnqhn5XezQJq2aNEZUE83C5egmNcDzzyv1fxypx+jUh0zXpjwJgZmGSiDzMDTW4oVck19JmIj8qDcvB0TGkYRm7MIcSNbrDsOQzTH7CCZndD6NVwGGVlyE+JQXSxPsZPH4lbmIsTEtJbBZW2AUwth2GCQSa8vb3h7RuEiIQMFJenIzIwDFGZQuq0CYm7uxcLRXs0LJmSkgIaGtbR0RGlstRRoCjWyckJNJy6cOFCPPvss3yDT9EhRVhCUazBudJcK0WpTz/9dGNkTo6LRhPoSm7a/vTTTzF4MBdScUPd5LSEogN1ZlauXImNGzdi9erV0NDQwM6dO0FRKzlYcri//PILf5zmaWlon66yDw4ObpUK7XCwnEPNS0KAHRdJnKN0GqeueCBa1hOTF02suw1HWozMSDf+ajgyxokzjvBP1cOMR5di3pi6CLFVaDtBWFmZixinczh22hvFXA9Sv8C/Du8lR3iGZ0Om2wN9x0zF5KFKhBzbixPnTuPoeUd453XD5IemXB9G7gRsrSlSVsbp4XEO52yc4BWTgwpuONjX9hxsnb0QXwx0s+iPqdOmo0+eLf46xMmdPAEb51CUDXgIc0cJ370COjDtPwnLv97In/T0x9i47nt89MISjBvyED5Y/RneWTigNZSpT1ZeiaJ4T+48u4xr3HxydnUp0gJsce6KA1xjOGN1KrK7p3ByStQgUvRKkR85posXL8LHxwc0dEkXCNHtGELXWENDA9TgE06Kqt58803MmDGDj2bpoiG6SKgz5gepvtYm4ry4uJg7d8/xVwm/+OKLuO+++/hiyDFR1J2UlAQrKyu8//77oGi2tLQUNMRNHQVeUGAf1HmZNm0aaO6YUnN4NPdMETjZgUZLmh//r9+a/3Xwv4+pICnNQWIwF0lQNOEdhDSpBWY99wZWzupbl1VegaK0yLpog5OJLNTG0OUf492XZtc54DoptX4qpRLUQA8DZt6PsRZliOBw8tFRQCiiU0u4wWxdWAydjsf+9xIW9C/njgcivrQbJjz5Kl5tEumqVQmuckVVKTKjOVuEp6LYaARmT+yFikhvBIbHIIsCOyMrjJi/Ch8+dT/0srzhHZ4BSZ+5eP31J8HftsOVIbq3lgF69B+FmQ+MhJmYwNdIUJEdzf0vQpCQpYPh82dggDQK3oEhiMisEJMmasdKjXrv3r1BDTv9b2nILzY2lh/uo1tDaE5Q7SDvAIB0oOiOGnmaP6YGnaK/zMxMpKamgvYLJTInB0T38NIVzy+88AKWLVvWqB05qgkTJoDmYGl+n3Sorq7mb9Ehh9swjNyYQSAbNAoSFxcHOo/Mubny5rCo8xYaGso7YNKt+fH/+t0OB6uLniNm4/lvNzZGFGs+fQ1LRxtdr894ICY88l7j8Y3fvouXGpzvdSm1bulaWOO+5765jpEbMuCjo18+x5uPjakfOtXlnOxMPPtNva7ffyAo50oEGvUZicVv1eNr0IH7/vHj1zG/IbAjJ7vk7Xpdf8WX7z4pXudKSuuYot/kJVj1ziIMoN9iSYaWGDTvzXo7NLHZT1/ig8UDu0wLajgoYqKLPCgKpMgkMDCQv7AjJiamy3C0tSINDQ2+UaTbJ/j/LHe+r127Fq+++iro6tavvvqKHzZua/m3ytfWfdSI0/2UFGHTMCMNB9M9uzTsSFEROdY5c+aA7t2le3jp4hu6sIZunxo3blxbq+3QfHSVMHVa6J5Rui2KdKKRSZprbbiViCI9imgvX74Mun2HjlOexYsXNw4jdyioNhRG0bSbmxsfhdPcKmGk850ukKOOAQ2Bp6en88fpGP0/6EpuOj59+vRW1dgOB9uqepgwY4AxIDAGKMKgC1Uo6qMn19CtOtSIBgQEQAyR363opOivT58+mDlzJujK1VvJqGMfdWYoSgoKCgI14OSE6OIa+k3OlqI/arxpeJhsQU5YX18f77zzDiiyUgfm5nUSbopgx48fD7qwiTpjDaMGdDETHTczM8Mrr7yCiRMn8g8tof3kmJpGus3L7crfNMQtk8lAFy8RdppOILs89thj/AVlhIX0oE4PHadE0SvZ66OPPgI5YJJpaWIOtqVMMTnGwF3GAM370QMBGqK/hu+ff/4Z1CiKUV0aSqUHObz88sugqFAoOlDDTJgaOA2QZ8MAABAASURBVG74pocc0L2lhJOcLDXkdIwurPnss88E41wJnz7n8JcuXXrTyAs9FIMuGCL8GhoaICdL86+kB40oXHeuVIp6k4aGBkxNTfHee+816kEPzJg1a1YjMJrvpqvRCT8l0u+JJ55oPN6aDeZgW8MWk2UMMAYYA4wBxkALGWAOtoVEMTHGAGOAMcAYYAy0hoGOdLCtqZfJMgYYA4wBxgBj4K5mgDnYu9q8TDnGAGOAMcAYUBcDzMGqi/nm9bLfjAHGAGOAMXBXMcAc7F1lTqYMY4AxwBhgDAiFAeZghWIJhqM9DLC8jAHGAGNAcAwwBys4kzBAjAHGAGOAMXA3MNABDrYGlflJCLxmAxefKOTKmtBSU4n8pCDYnz8PetxUXboGD/8klDURE8SmtATZ0R44f80NfkmlzSApUVWYimD7ej2uOMErIgdNVW2WQbg/ZWXIi/Wst8cVOHqEIVsqXLjNkckrChHvdb4eP/d91Rme8SXNxUTxWyUtR3aYAy5fc0FQhlR9mFnNjAHGQKcw0D4HyzvQELicPYVjOzdj0z5bRDd9VrksH3Ee5/HP5kO44ukJep6jp6c/wmKzQc+f7xSN2lCorDQbMT4XcfrEAWzdtA373TNvKEVWmolgpxP498QVTgdX2F0+i8OHzsE9qbkjviGb4H7IyvMQ53IW50+cxWXeHrQYQBIK5YKDeltANdWlyIxsOJeccfXKCew/aAtxLQWrgrQsGxHO53Du3AH8+etmnAgWXJfztjZgBxgDjIGWMdAOB1uDypwkhDi4I6lYid6jBt+mxh4YMvFJfLZpEzbx6Qe8v2qOYFbTAUWuMd64EpyGEqNhmN58WZaaKmRHeMPJPQkWz/3M6bABv324DCMlnjh4ygc5Ygk8lNXIi/bG2WNOyO6zDD/ztliLr99bjvHGEM3LsJc1FrzVcC6txbevzkavmEu4GC0WQwAqOucirsEhNAUV/SdhuJrZp4e2h4eHw87ODvSQczXDaXX19PB2epD++fqRMloEPDo6utXltDFDh2aj50OnpKTwIzT0EH0nJyeUl5d3aB3tLYwe9J+WlgZ6oD8907d5ebSCDq22Q/agBQsCAgJAeZrLqfs3nTe0yAUta9iUY3peMT2L+MqVK7wdSA+yhaurK+g5xq3B3Q4Hq0J1tRZM+s/AiteXYrRJa6oVkKy8Eko9E4x48B28MufmlUyU5RlIigpHhsZUPDSzHwdcCwaG3WGuW4nccHf45XO7RPBWVmQjNS4SGb2X4403F6C/CDDfEaKyFlBoQMPQEDpa4gnDVTIZamGAcc9/huenNO/R3VHrDhOghoQeNE+N4alTp7BhwwbQA9w7rIIuKogaPXKoNEJGulDD+O+//6KwsLCLEHRMNdTRoY4CrUJDjpX0oYf+k8PqmBraX0rDYhC0KhCdL+RAm5ZKtvDy8sKRI0dAzotWDNq3bx/CwsKaiql1mx7mTwsq0EpGR48eBT0vmdYPbgBFnQFaZYqeQ0xL85EdKIWEhID0b5BryXc7HKwueo4Yi5mP3Glt12oUZYXDub53ec3dH4IaWTXuD+vJi/HY2O635EteXoqC4jLUDhmD4d2qUJgSAHtnP8SU6MCsNh+ZObJb5hPaTklJEbJzUyDtZ4zChrlkOxd4J5QIDeod8CghKclEqMN5nD97FvaekZBZL8X80eIJw7VN+mDo7Ofw4O0Gfe7AQEcdpgadGj5a0aVnz54Q6oLYd9KXHt7+2muvcaNLm/gHuL/99tv8akAUld8pr1COU6NP678eO3YMtGDB77//zuvyxRdfoHfv3oKASY6HIldy/rSG7aBBg27ARTqQo6Il4GgRCRqx/PHHH0FrrB48ePDWkfgNJXTND4pcqSNG0ffYsWNvWSnp169fP9DCF6QHOdtPPvlEYKvpaBuh59AhGDqoFskeHvBwuIjzx3bjgG0AkktvqZcwd+rrQVO3BkUBDrh0wRFRFfoY+cgKTDZVcUMG4oic5FzUVJGXBkl6GNzIFh6OuHLpBPYevIpwMV3lBI7zynwkBnDnk28oEkq0YGVtjso8sXUU1H+q0xJqGhoaWL58OaZNm6Z+QB2AgKJyauh1dXVB2x1QZJcUQZ0davD19fXxxhtvwMjIqEvqbU0lxCs5p3nz5jUu7dY0P0V31KmhJe1IRkNDA2QHWl0nNDQUqampTcXVsk3nBHUUNDU1QSv+kBPtTCCanVk49HpixJwX8f3mzdhMad0PWDm9O+Js98M+QRyRH8+PpBhZEe644BiJCpPZeOXjVZhlJUVNjS5MTG8d+fL5BPahrJZDU7cPFnxB9liPn16fjwGptjjgmAapwLDeHo4OTPtPxtPfbubOqY347n8Pwch/F7YcCwBzsbdn7VZHjI2NQYt8Dx069FaHRbOPGs2KigrQIto0X+bs7AyKrm4XnQhRMRpapbVTaSSBhoVpzs/GxgZRUVGCgUuRNa0Fe//9998SE80f0xw+rcdrYWGBvLw80Lx+VlYWvzYvrT18y4xduFNDQwN03lOnkpYQvF3VdE6Vlpbi6tWraLAFDSvfTv52+zvXwaJZtSaWsBw0CkMgR1lZZbODwvyppW8AIw0ZytIyUDX9FXz02jz0U1ahkiO/qMocFqbCxN0clba2Noz6DUWfKbNRd1GTESwth2PcuG7Iy86FonkGUfzmnK1ZH0wc1x+yrGyIZDpcFMyKDWRVVRVojszb25tv2AcPHozi4mLRqEHOiRrw3NxcvqNAnQWaS96/f78gIr+WEqnJRYbdunVDYmIiLl68yHcQHnnkEQwcOBAU/ba0HHXKaWho8MPaEyZM4M8pV1dXnDx5kp9XJhu1Bptma4TbKystyUJydBTyFD3Rz0qvvcV1SX5ds94YMHYmJpsYwsJICzIoUZWXiYTofCiHTMfUARDFy8DYlHOoPVEUHY5sPlyVo7KyAPmlmugzbDC6i0KL5iDlqCjPRXKmFOajRsKq+WH2+55gQENDAzRP+fHHH3OjGpvx4Ycfgi56ogtYKDIUCwnkZGnYnoaIad7v888/5+ctydHSsKYY9CAdkpKS+MiPhr1JhyFDuJBKLoelpaUYVICWlhaGDx+O3377jT+faP71zTffBF01TdcrtEaJdjlYcphRHhdwwc4DAQm5KMuNh+/VC7D3qJ9jlXJDq1EefIh94cIFnDrjCL8UbUx9ZCnmjTFqDc7Ok62pQmFKMBwuXIajVxjSi0qQE+GKCzbO8I7MgUy3B/qOnoqJgxUIOroPpy6cxfELTvDO0cekB6eiX+chQ0cWrWPaGyNGj4N1njP2nrrA2eQ0Lrn5Ild7Eh4WSy8BclQUJsCLO5cu8OkMzto7I6xqGJbOHw1jiOSlqERxgjdnAxs4ukcip7oM6YHXcOGqE9zFdUOv4AjX0NCAqakpJk6cCLrVghp5wYG8BSCK/OhioMmTJ/OdBfpNw6w0zE0XDtH85y2yCWoXYabhV4peqcNDHR1DQ0NutLIMFL3SMUEBbiEYcrgUgffq1Ys/p1qYjRdrl4OVl+cjJcwd7mFp3NzkcEwb3h2FIe7wC4tBFo0AyypQkBwKumKLUmiuBoY8+amw7oNVSVCaHQd/d19EZyvQZ9xEWCMZ7l6BCE8q4pp0XVhYT8cTr7+EBVbFCCG5Qn2Me/J/eO0BsbhXzta6Zhg0aSGeWmaN0lB3ziZBSK+2wtw33sTCgdxxUbxrUF2ajnB3wk8pEMml5lj0wUd4ZpJo3CugkKA8Mxzu7gGITtPA0LlT0beK+594ByAkrVwUlhAqSJo7o3saaS6QIidq4IWKtSkuPT09DBo0CDQPS/PJpAcNe1MnYdiwYfyVxU3lhbhNFzTRsGrfvn35K9IpmiXHShc4WVlZgYbthYj7TphoVIGutie70PzyneSbHtds+qO128YDJ+HR9+likxvTD++vwpx+XGkmAzFx2Qd8mM1f5PTD+1g1uy93QEBvXQtYz3oe39FFWE3T2i/x9uNj64dOycneh+e+r9fzx4/E5Vwb6Dbqg5EPvttoj58+fRMLRONcSQlD9LJeiHea2GnNF+9h8SA61jwJ+LehJQbNf7vRDvx/g3T65Wt8tGRQlwGnhoOiDZoro3sXS0pKQBfY0P2BsbGxXYajPRWRIyoqKsK1a9wIADeqQRc50VBeaWkp5s+fLwrHRPrr6+uDnBM5JRraJj1oaJiOzZ49m77UniiKpguXbGxsQA9nIOdP5w/xTQ+TIIAU6c2YMQN0f+y5c+f4BzXQvdULFy4UzJXRdN4TXsJIQ77UkXFxcQHpRXOspGdGRgY3wnSBT/T/oABx0aJFIN1Iz5amdjnYllbC5BgDjAHhMUCNOd17STfR05WeNKxKjQ1dKET3OwoP8c2IqDGkiJUe0EAXBtHDDcgJvPrqq5g+ffrNGQS6R1tbGyNHjsRTTz2FuLg4/iENZJOXX34ZFMEKATZxTReOUWeMbikivCYmJtxIjDtiYmJAx+mWHOJ+3Lhx8PHx4S9yWrx48S1v61GXTnTe0xw96UG3FFEHhkYO6Dd1MkkPOofofKJEznjmzJkQ3n2wYC/GAGNAqAwYGBhg3rx5+PPPP29Iv/76Kx588EGhwr4BF82P0dDj6tWrG3WghxtYW1vfICeGHzTESrfANNiDHnIgFOdK/FEnYNSoUVi3bl0j14SVnui0atUq/p5XDQ0N/grcjz76iJdZv369oJwr6UHnPXVcCHvTtHbtWowYMQKk59SpU3n8dPyPP/7g7xWnvK1NLIJtLWNMnjHAGGAMMAYYAy1ggDnYFpDERBgDjAHGQMsZYJKMgToGmIOt44F9MgYYA4wBxgBjoEMZYA62Q+lkhTEGGAOMAcZAexi4m/IyB3s3WZPpwhhgDDAGGAOCYYA5WMGYggFhDDAGGAOMgbuJga53sHcTe0wXxgBjgDHAGGAM3IYB5mBvQwzbzRhgDDAGGAOMgfYwwBxse9jr+rysRsYAY4AxwBgQCQOd62BrKlGQHAzHS5f4Z1PSsx8vXXKAV2AyykRC0I0wZSjNjYXXJXt4+CehFCJ6KatRnB4Gp0Zb2MLZKwI5/NJ1YtJDgtLM8EY9bB09EJYlNiXq+FZJy5ET4QwbBzeEZIpThzpN2CdjgDFwKwY618HK8hHrfg47NuzDeWdnOPPJG0GRmai4FRqB75OVpSPQ9m/89u0G7N7ngkyB470BnlKKspxY+PA2cIbDlQs4ffgwzgfmQHaDoJB/KCEpTkOI7Smcs+XOJwcbXDyzH3tPuiC+uAW4BSOigrQ8G5GuF3DuzB5sXLMRx4LE2eUUDKUMCGNAgAx0roPlFe6BoROX44stW7CFT6vx4SsPgBbbgZheyiou2giDn1cius0YDnMxYSesumYYPONZfM/bYAs2//weHhlSAZcL3sij46JInGOS1AAG4/D6+i3Ysvl3fPncDMBvH44FlohCAwKpkpYiO8Ie9oHxKO03GSNopxqTTCYDPbzdwcEBtIoTBSumAAAQAElEQVSIGqG0qWqlUomcnBxcvXoVtLILrfRCy9W1qTA1ZaIHzOfm5jbqQCvpuLq6gpZIUxOkdlVLqxyVlZXByckJtJgEnWPtKrALMxP2wsJC2NnZ8ecTnVNkD1pIorV6aHYhbhFXpURVXizCAsJQ3utxPLtwqIh1qYNOJ5FKxTkrjdq6HaL41EGPAWMx/6VnMcmEA6zTA+b9J2JMvyrEJaZxO8TxVsmkUKl0MeaFL/HiVDO1gaZzgBpBajhOnDjBP8SdVg65DSBB7iYdysvL4ejoCGoEadm6U6dO4fjx46Bl7AQJ+hagyMFSo06rt5Au1Fk4dOgQv6oOdSBukUXQu+RyOdzc3EALR2zfvh20ao2gATcBR3zT6jq0qAEtYUf2oI6Cv78/SK8monfc7AIHK0FRdiTcLl/mewOOXkFIEdtomKwIyeEB8ErVwKTHZqH/HWkVqICsHPnx3rwdzl71RlCpCWY/PB0DBAr3jrCUElSXZSOvTBeWFj3uKC4UAW2TPrCe8wIeHqJeRFKpFOHh4fDz84OlpSVMTU3VC6iNtVOjp6enhx9++IFfAeX1119HaGgov1xaG4vs8my0gsvYsWPx+++/Y+vWrfw3LZFG0ZNEIulyPO2pkDoLFI3TusK0Og2tddue8tSRV1NTE/379+c7CGQPWlXns88+Q/fu3VsFp3MdrLYRLAcPwuB+csRyPUzHK6dx6t9/cOCqmJysDKVpYQj2S4Zy4go8Mr51BLfKGp0trKhEEV10xtnCNyINKuNRGKRXJr4LnXielNx8bBJCXO0RWT0ai6YN5Peyj5YzQAtPUwT49NNPi2rt1KYaamhooFevXnjmmWfQu3dvfoH1QYMGoV+/fvy6qk1l1brdysrJLpRamU0Q4lVVVXz02q1bN8EtVdfVBHWug9XriZFzV+JHrkdGvYCtf6zGqmndEH1lL67Fy7pa1zbVp6zKQWSYHwILe+HRheMgYvcKGPXBqIfe53vIW399H08MzsCpvw/AKVUctrhuQM65lmYgwOYybD2qMeqxZzBv8PWjbKtlDBgbG+OBBx7A0KHin/Jo0JiG90pKSkBD3xSVN+wXwzdhT0tL40eYKPpLTEzEkiVLYGRkJAb4PMaamhqkpKTw864PP/xwqyM+vhABfFDnhs4hms+nUQSajy0oKGg1Ms1W52hPBhNLWA4ZjaEacu4PUNmekroorxLlGYkI9wlDup4BKsO4Ye6rzvAOT0BWbjTcHT0RkCy28e566ows0WvEeIw3zENGjrgcrLyyAJH2x3HyVCi6L1iJ/z03Ccb1arGve5eBhkbR1bXu4qAZM2aIigxysJmZmfx8Mg3b9+jRg3euYrnQifgvLS3lL2waPnw47rvvvo7iv0vL0dDQgLm5OcaMGcNPn5CTPXLkCI4ePYrWOtkudbDSkmykREcjT2aJvr11u5S0tlWmhFLLEKamfTBIEcef+I4uXgiKTUFuQQL8PQIQll7etqLVnEtZXYaijHSUallh2GDxuCelpBSpPjY4f8EH2gv+h3c+WIKBauaSVa9+BqhxJ0fk4uICLy8vPPjggxgyRM2T3K2kRVdXF7NmzeJHmGguljoIO3fuRDTXZrayKLWI05RDREQEKC1btgykj1qAtLNSLS0tUAeBbEAjrzT/+tZbb+HixYsIDAxsVemarZJurbC0BNkxXvzVfXSF39nzTvBN1MAkbuhg3lgxDLbqwmLY/Xjhx638SU9kb/3jB3zwzBJMGfc4Pv/5E7w+r39rWVGLvLK6BBlhzo22uHjeBi7+eeg24SFMH6QWSK2vVClBSZIXLh0+BMdcY1hYyRFx5Qqn01U4e4YjW9r6ItWSQ1HF6eHL4baDi2c0ciVlyAhxxBV7V3jFi+d2I7Vwd5tK6UIguhr6zJkzmDJlCmheWUdH5zbSwt9Nzsna2hoWFhbIyxPHjXR0pTB1cDQ1NZGQkAC6AtfX15eP+ugqXLF0FJqfHeRwaV6f5vqFFcHKypAbHwAKsSn5pSsxcPln+OjVuTfcB9tcIUH/1u4G84EjMHnqUNCdIoLG2gSciov8sqO9Gm3hGpYDzUnP48N3FmFAEzlBb6qkqJZWQdJjImaONUOBn329Ps7w9I/mRkYEjf46OEU1SlODOeyeCElQYMD9E9Gz2A/2rl7wTy69Lse2WsSAXC5HaGgoyLlOnDgRb7zxBj+02qLMAhWiaJDuSaZhYzFE4jSCQImGtQ0NDblz254fKg4ODgbdfkT3wsbFxQmU7f+GRbagqJxuB7Oysvpv4WZHNZv97tifJoMw+fGPsW3btrr004d4dY7oHjFxIye6FrCe9QhWvTEf4ohd6+DrmA/GjOd/qLMD2eOP7/DhigkQz+Awp4dODwyY+gx+IPw3pA348dPnwN8by4kJ/m1oicEL371uiwZd1n6HTx7ququ1FAoFkpOTGyMNmj8L5RwV3UtK9wEKnkcOIDkgujDo8OHDvC40d+bKzcFS9EQRLQ0bc2KCf5MtYmJiuFENGpG5wl/oRHrQrTuDBg0SPH4NDQ1+3vKTTz5pPK83b96Md999F6NGjcLq1avx5JNPCl4PAki3GdFcOI26NiSyxYIFC0C3TpFMS1PnOtiWomBy7WCAZWUMtI0BuuKTnBMN39GVn9SYk5OlxiQpKalthXZxLmoM6bYQuiJ6woQJ/H29NFpGT6Wi4Uk61sWQ2lQdOVjq1BB2Sj4+Phg4cCDee+890UbjNFRMV3LPmDFDVPOxdE7Rk8HIDpRoTp90+Pzzz1t9VTRzsG36O7BMjAHxM2BgYID58+c3RhwNI030BBu6xUIMGtI868SJE/HHH3/coMeWLVvwxRdf8PfGikEPGlZ9/PHHG3XYuHEjVq1aJSrH1JxnmrukB0288847rXZMzcvqyt/a2tqYNm1aoy02bdqEp556qk0QmINtE20s093CANODMcAYYAx0FgPMwXYWs6xcxgBjgDHAGLinGWAO9p42P1OeMdAeBlhexgBj4L8YYA72v9hhxxgDjAHGAGOAMdBGBpiDbSNxLBtjgDHAGGgPAyzv3c8Ac7B3v42ZhowBxgBjgDGgBgaYg1UD6axKxgBjgDHAGGgPA+LIyxysOOzEUDIGGAOMAcaAyBjoEgerrCxEaqgL7D0CEJsnFxlFDXBlKMuLh6+NM7wDUyDSRepAD/3PDHfFNTdfRIlsmboGSwAKVBYlwc/GER6+iRDr03tV0grkRrnhmrMnwrLEslIB2IsxwBhoIQOd7GCVqCpIRbjbeZw8tBW//74LFyMqWgJNWDKyMuTF+eHK6ePYvX4tNu1xQoawELYAjRKSkkxEuV/EmWPb8fsvW3AqtLwF+QQmIq9EUaI/rpw9hf0bfsParXZIhdheKkjLcxHN2eL8qZ1Yt3o9jgSKtcsmNu4ZXsZA1zHQqQ5WWZmL5OBrcIrOhrTXGIhrdcYGI8hQlh0Lr4s+iMnRxbAZFg0HRPWtrC5Ceug12IckodxqPIaJCn0DWAUqCxLgc8EdIcnaGDnbsuGAqL5V0lJkR1yDnW80ivpOxkg1o5fJZIiKioKzszPoIedqhtOm6mkll5KSEtByaf7+/qAVdtpUkJoz0TOJ6aH/9Czl9PR0NaNpW/VkC1p5hmzh7e0NOr/aVpJ6c9FCEvR86GvXroGe2d0WNJ3qYGuquGi1mxWmPfcOHhtn0hZ8AsgjR1mNDgytH8aHby6A8Ne1AICbXypJFVTaxpjw/CdYMcnsZgFR7JGjUskB7fsgPvvwIQzlNsX4VskkUCq1MPrFr7FymrnaVGhoCD09PXH8+HH8+uuvIOekNkBtrLhh0YJLly7hr7/+wvbt21FZWdnG0tSTjWxBCxPQg+VPnz6Nn3/+GeSc1IOm7bWSU6JOGq1CQ3agFXXEZgvSXiqVghZcOHfuHH744Qe4ubnR7lanTnWwer1GYtzsxzC3f6txCShDdwwYNhkPLR+P7gJC1VootFzdqDkrsFisPQRe4W7oPWASHn1+sqjW4uWhN/nQNumLYQ+sxFI19xCoEQkPD+cbEgsLC5iamjZBKY5NckzFxcV89E1L740ePVocwJuhpMg1MjIS7u7u/LJvtK5qMxHB/yRblJWV8evA0tqv48ePFzzmWwGkDhuNIjg6OvK2MDNre0CieasK2D7GwD3MwD2jOjXqFHE8/fTToOW4xKg4LS1Gw8GWlpYQ26otTfmmRr26uhorVqzA7Nmzmx4SzTY5WLIFLR340Ucfgb5FA74JUDqnaLrhmWeewbx585ocaf0mc7Ct54zlYAzcFQxQAzh37lxYW1uLVh9aEq1fv35YtmyZqJd2o+XqaOnA4cOHi9YWtP5r7969sXz5clHbQldXFwsWLMDIkSPbbQvmYNtNISuAMcAYaGSAbTAGGAONDDAH20gF22AMMAYYA4wBxkDHMdC5DlZaipxYH9jaOsMnJBn55flIDnKErYsvQtLEcg+mEtVF6Qh3tcU1V19EZhajNC8WXrYO8PCPQZ6s44zRqSXJK1CQ4MfZwhGeAfHIrypGWrATbJ29EJAslnswVZCWZSPKzRZ2Ll4ITS9BRXE8vG3t4eodgRxppzLYcYUrqlCS7A9b7hxy8+bOIUk5MkOdYevoDp/Eko6rh5UkNgYY3ruMgc51sLKSegfriehcbQyYMAA6GR6wdfFBSKp4HGwVOVgXWzgGJKDMfDhG9ZMigmvU3f2ixeNgZeWcg/XlGnV3hKWo0G/KcBjleMLWyRP+yaUiOa2VkJRmI5Lr7Dj4RCLfeAQmDlMh2vaaSB2sCwJipOg7cxzMC7xg6+gG7wSx2EIkpwyDyRhQIwOd62BNBmPyE5/y96XRPVGNac0neG1uPzWq3ZqqdWE5fDZW/ry9mR4b8N0HT2G8cWvKUqNs974YvfSjZjpwOv32Fd5bNFCNwFpTtQ56DJyKZ1dzuLc3TZvw0+cvYLJY7jIx7Ikhi96/2Ra//4DPHh7cGkLaJUtXEaekpODq1av8/a+lpaUICwsD3Z6QkJDQrrK7KjNduUr3WdI9o4SbbtUpLCzkbxWhe0rpWFdhaU89dDU3PViCbEG60IMaIiIiYG9vD7rlpT1ld2VeuhKa7h8l3ImJiaCrcZ2cnPjbjyoqKjoXSgeVTlcRZ2Vl8f8Lum2KcEdHR4MeOEHframmcx1sa5AwWcYAY6BLGaBbQ8jBUsNBDpXuIS0qKgI9RYh+dymYdlRGDSA5U2oMdXR0MGTIEL5BpwdoiMXBki3IwdrZ2fFP1Ro3bhzonlJyVLGxse1gp+uyUmdHIpHwD8igp4JpaGhg1KhR8PDwgKurK8hOXYem7TU1dbAhISGYNGkS/+CSBtu0pmTmYFvDFpNlDNxFDBgYGPC3IzSOLNWPCqxfvx5Lly4VhaYaGhqwsrLCF198ccOIAD3R6auvvkLv3r1FoYeenh5//2tzW2zcuBGPP/64KHTQ0NDgH8zw2Wef3WSLH3/8EX369BGFHtra2pg+BDjJTwAAEABJREFUffoNOpBd/vzzT/4+5dYoISIH2xq1mCxjgDHAGGAMMAbUywBzsOrln9XOGGAMMAYYA3cpA8zB3qWGba4W+80YYAwwBhgDXcsAc7BdyzerjTHAGGAMMAbuEQaYg71HDM3UbA8DLC9jgDHAGGg9A8zBtp4zloMxwBhgDDAGGAN3ZIA52DtSxAQYA4yB9jDA8jIG7lUGmIO9Vy3P9GYMMAYYA4yBTmWAOdhOpZcVzhhgDDAG2sMAyytmBpiDFbP1GHbGAGOAMcAYECwDzMEK1jQMGGOAMcAYYAy0hwF152UOVt0WYPUzBhgDjAHGwF3JAHOwd6VZmVKMAcYAY4AxoG4GxO1g1c0eq58xwBhgDDAGGAO3YYA52NsQw3YzBhgDjAHGAGOgPQwwB9se9sSdl6FnDDAGGAOMgU5kgDnYTiSXFc0YYAwwBhgD9y4DzMHeu7ZnmreHAZaXMcAYYAzcgQHmYO9AEDvMGGAMMAYYA4yBtjDAHGxbWGN5GAOMgfYwwPIyBu4JBpiDvSfMzJRkDDAGGAOMga5mgDnYrmac1ccYYAwwBtrDAMsrGga6zMEqq4qQHuEBZ59gxBfIRUPQjUDlKM9PRIC9G/xCUlF+40HR/FJKSpEd5QlnzwDE5MlEg/tGoApUFqcg0N4V3gHJKLvxoGh+qWQVyIvxhJO7DyJzxGoL0dDNgDIGupSBLnCwSlQVpSPS4wJO7N+IX37ZgfNhFV2qZIdUJitHfmIAbM4ew841a/DHP45I75CCu7IQJSSl2YjxuIQz//6JNT9twolgEXYTFJUoTg7E1fMnsefXn/DLZlukdCWNHVKXCrKKPMR6XsGFE39hzXdrcci/tENKbmshKlkl8mO94OTmjYhssTr7GkgrMxBs7wwP73iUtJUMNeerVUhRHO8FRxcPhGZK1YymrdWroJBmI9TeCa7usShuazEdm6/VpdUqFShL9IaDkwsC01tni053sMqqPCQH2cE+LA2VPcdgaKvVE0IGOcpzYuB1zgPhaVqwvs9SCKBajUEpKUJ6qB3sAriTvdcEDG91CULIoEBlQSJ8zrvAL1YDIx7oKQRQrcagkpUhO9Ieth4hyLWaglGtLqEjM6ggr8xHnJcNLp76Cz9/8wv2+6nX2bdJuxopKtNDcPXSeRxc9wO+++U8EttUkDoz1XJOqRgJnC2unN+Jnz//Dju9RNhNUCkgzQqB3ZXL+PePb/HFtycRp05a21R3LZSKMiR5X4Xd5d34+ePPscWtqFUldbqDrakohUrfElOffx9PjjdtFTjhCEtRIteG3uCH8fE7izBYOMBahURZVQmlhiHGvfA5np1i1qq8whGWo0KhgrLXg/jyk6UYJhxgrUKiklShRqbCiJXf4+UZ5q3K29HCKm50JjfKHjZugci2mooxHV1Bl5RXA2l5KvzP28ElQIkxi3p3Sa0dXUmtohqFMfa47OCFtL4zMb6jK+iS8lRQVGci6JwNbN0VmPBQny6ptaMrqVXKUZrgiIuXHZEwYBYmtaGCTnewer1HY8IDT2L+gDaga0OWzslijIHDp2Dpigkw7pwKuqRUXYshGD33OTw4uEuq66RKusFq4GQ8tnIKTDqphq4oVtu0H4bNexnLrLuitv+uQyWTQF4tx7CVP+K1mRb/LSzYozWQcBFskcEifP/DcowULM7/BqZSyCArLsHAVb/i7dmW/y0s2KNKyJTlSMN8rFn7LEZDnK9aZQ2k2RmwemUjPprbq01KdLqDbRMqlokxwBjoMga0ja1gPf81PC7W4QCeKX306DkRK968Dz0g3peWoRkGLXwHT48Qrw6ADoxMJuCFD+ZArONkxL6mbjf0XfQxXmhHD0GTCmKJMVDHAPtkDDAGGAOMgY5igDnYjmKSlcMYYAwwBhgDjIEmDDAH24QMtskYaA8DLC9jgDHAGGjKQOc7WFkZchMC4ODgDv/wVBRWFiI11BUOHgEIz6hoikXA20pUF2ciytMBTp6BiMkuQVl+PHwdXOAdFId8sdwyKK9AYVIgZwtX+AYnoqCqBBlhbnBw90VwarmA+W8KTQVpeS5iyBYevojILEVlSSL8HZzh6R8N0Tw3Q1GNstRgzhYu8PLnziFJBbIj3OHg6g3/ZBHeItPURGybMcAY4BnofAcrKUJmhCvOnHHgGnEleo3qDVWCPc5cdYNfklgaEiWqClIQePUMLruHI89oEIb2LEPAmYtw8AhHduvuPeaJV8sH19nJi3HnbHENvjES9Bw/CDopDjhj4wTP+GK1QGp9pUpIStIRcu0MLjoHIk1vMEYPlCCIs4WdczAyJK0vUS05FJUoivfgbGEL9+AyWE4ZAaMMR5y5Yg+XmC62RY0E5Wl1zt7Tj3P2skrkRrpzzt4Lvkld9R9trxVUUFQXIt7LAY6unghOK4OkMhUBDk5w8woXz39UKUN1ZggcuA6jmxfXYVRIkB/tAQdnd3jFl7SXpC7KX4saWSkSvR043G4ISCmDXJqOIAdHuLiHIFMs/1FVDeQ5YZwtnODiFoHcGgWKYz34B064xbbsP9r5DtZ0CKYu/wK7du26Ma39HG/M699FBm9vNbqwHDEHL//WTIddW7D64xWYKJb7Rbr3w5hHP73RDmSX9d/hwyWD2ktSF+XXQY+B0/HCL81tsRW/fr0SU8Vyq7VhTwxZ8tHNttj4E756ZEgXcVlfjaIKJQnk7G3gGlAMi6mjYZzJOftLdnCKKqoXEvqXCrLKXIRzHa8L19wRqzEUk0erEHbmPK7Y+SKtWuj46/HVSFGR7MV1vC7DwT0X5vdNRs9cJ5y5eAV2EQX1QkL/qkWNtBBR9mdw3sYBoTXDMHOKNiLOnMPFK55IqRY6/np89LCMNB/OFhdgY58OswfuQ/9CF5w5dxGXQ/Lrhf77q/Md7H/Xz44yBhgD6mbAwAIDF93C2W/+Bd89NlTd6FpYvzaMeo7F02t2Neu0bMeGX97EfWYtLEbdYnom6PXA+8104HTa+gd+eer2z15TN+wb69eEvok1Hv+Jw00d+Mb0N7b88QHmqPe5KjdC/a9f2gYwnvn2zbbYsQUbn2/Zndaa/1U+O8YYYAwwBhgDjAHGQNsYYA62bbyxXIwBxgBjgDFwVzDQeUowB9t53LKSGQOMAcYAY+AeZoA52HvY+Ex1xgBjgDHAGOg8Bu4FB9t57LGSGQOMAcYAY4AxcBsGmIO9DTFsN2OAMcAYYAwwBtrDAHOw7WHvXsjLdGQMMAYYA4yBNjHAHGybaGOZGAOMAcYAY4Ax8N8MMAf73/ywo4yB9jDA8jIGGAP3MAPMwd7DxmeqMwYYA4wBxkDnMdD5DlZZjaKMKHg5OsKxMXkiKCIDYllL50b65SgvSEaQoycCwtLFpYNSgrLsGHg32sEVPmJaDajBECopynNjG/Vw9QpAjGiW0WlQou5bJatEfpwPXDz9EJ0rq9vJPusYYJ+MAZEz0PkOVpqLaKdj+OOHjdh78iRO8ukynLzjIZa1IZraWF6RiaCr27H6o9XY+rc90poeFPq2sgqFKQG4wtvgJI4d3I99/+zHxdB8yIWOvRGfCtKSdITaHsGBw9z5dOwQDuzbjn9OeSO1rFFIBBsqyCrzEe9tiwvH/sTqb37FAT/1rlyjklehIN4Xrl5+iBKjs1cpIClKgK+TE5y45OLpg4gckXVaamsgLU5s1MHJyQUe3uHiWQ3opn+eCgppDsKdXOHhJbI2v1YJRXkK/Lhzic6nuuQCN49YFN+k5613dL6D5es1w7Cpz+PHPXuwh0/r8eVbCzEAIntxEWBuZCh83KOgPWUYLEQGH7oWGDprFdbyNtiDf/74DI8PLYX9GU/kiUYXJaorJJDWjsBb27jzadc2/LByGhTuf+NwoFjWtAVUsjLkRNrjiqsfsnpPwWi18q+CvKoACZyzv3TiT/zwxU/Y66NeZ996OlRQVOUiyu4I9h08gRPHDuPw3q3Y+q8LEsXUk1fJUZUbBtsTnA5cOv7vYezbshVHfLLRyq5C6ynshBwqRRVS/fdjzcdf4YevjiO2E+rotCLJFslX8Ot7P+FvzhYn+HQKZ88HoqXtZRc52E6joAsLVkJSGIfwgHCUmj2GFx4a3oV1d05VGhqABmqhqlFACbG8dGA2aAKW/O+luqXpdHrAYuBUjB9QiZi4ZLEoAaWkCvJqBYa/tBqvzrRQK26VvAK5Ufa47OSD9N7TMFataNpauQoySTWKS/rg1a3U8dqBte89CH2PTdglps6CliHMRz+FNfWd4F1/rcNH85S4tPcastpKjbrycdF4dV4C7PfaQ7lgAvqoC0e76tWBofE8fFZvjz17dmLb5pUYhZa9usjBSlGaHw//+lDbKygSGRUtAygYKXkJUsID4Jkox7jHH8BAwQBrJRB5JYpSgvkhNFvnAAQX62PGQzMwCCJ9cfOxkop8FFbowKyHsWiU0DHth+ELXsVj1uqHrJJWc8PVEliv+hmv36deZ992NrRh1HMElrz/Fu4340rRNoJxv/tx33ApIqISuB0ifmvUAjVy1IhKhVp+TdhEj7Pwla/AZysniQo9OgitZgeVc/titA1h1r83LI3z4UUh9qFd2PvPNhxwEJOTlaM8PRwhfomQjnsGj08ST0N+k2FkpdzQpDNouOMKN9RdbTwJEyxkyJfdJCmCHSpIS1IQ7nENYWUjsHD6EBFgFh5EbWMrDFvwOp4YJjxsbUbEzcfKK3OQU6oFC3PTNhejloxKOaqzwvhOsL2zJ+xjazBzxXwMVwuYNlbKDa9WpvvjxKUUjHvjMYxoYzHqz6bi+jZZCK4PDl3cPBDb0glYDnznO1i93hiz8H9Y1xBib/sNr07XQ8jZv2EbL45La5TVOYgM84VvlimWLp4IEbtXoHs/jF32ed1c+MaP8fTARBzYtBtOaeKwBXfO1r9VkJZnIcTeFjZOJRj6yLNYOLT+EPu6xxlQcfOx2Yh2Pw/33BF4eJbIeg41ElQkuvOd4HM2Lsg2nI05faQiutCJ+E9H+KVLiB7+Nl6faybO81FDCzrG/TBumhbCKDg8dgRHd6zBhhMtd7Kd72CbU2vaG72tx2OklgylJeoaJ24O6r9+K1GRkYRwvwhkmfaCVpITnNx8EBybiryCRPh7BSJcdOPd9fp274XeoydjUrccpGRK6neK40tRVYgYp1M4ftgL2rNfwJurpsJEHNAZyk5lgGvcqwsR6XIFZ86lYcCyl7FUbOGTngl6zf2grhP812/4cn4pDqxejwsJsk5lrqMKr62pRn6CPfa7aeL55x6ASN0roKmLbkMew08NweGuHdj4wSJkH/kEewKkLaKryx2svDwXaQlxyKk2Qy8LnRaBVK+QEvJaLehpdoNZgTeOHz+O46cuwykgEqmZwbh2wR7urRkzgHBeKkkFSnKyUaHVE0MHicc9qaQVSPe/hvNnnKCY9Rre//xRDBEOrQyJGhlQyiqQ5H0Gh7fbQDL1JXz09v3ooUY87YCzZEkAABAASURBVK5azwjdx87DAotMxKdUt7u4zi+glhs9KELUBRtE9p2IXjnOcHZ1h2dwEkqlmQhx84R3gpgu627CmLYudDlbzOtei7z8oiYHbr+peftDHXREVob8xCA4O3NEc8nmsjN8IqsxatFDWDDRuIMq6cxidNFz5Fy8+vte7N1bn3asxRcvPYoZk57BDxu+xfuLxXHJk0pShpxYn0Zb2Nvaw807DRjxIFozfdmZbN+xbJUUJcneuHJ4H+zzemLQaEOkcueVs7MbfAJjxTOXrKhGWXooZwt3+AYmoIDrNOREecHZww9BKaK6ofeOJusqAZVCgtwwZ5w5cAbFk/+Hz35+CiIbHL6JqtoaGSoyk5Bb0wujhouhq1ALJeSoRh9MVAbj2LFjOHb8FM47hCGvOg5Op87iQlBLb3K5iQ617lDVyJEf64bwXEsM6qvfIiyaLZJqj5CkCGmhDuCJ5si2CS9Fzye+xldvL4To7oNt4EHLAKZ9h2DMuAHo3rBPBN813LBqst/lRluccYlB9Zjn8cUnD2OwCPDzELnhp4ryAuRpWWPsIG0k2B6r1+cULl3zR5pYRrrlFSiMceGwX4CjXyF6TLCGfrItjp27AvvIQl7VLvuokXDTIGG8s/cJ4Jy9rAp50eTsfRGQLBJnr1KgKisEV/dvxdkUCwyb2gMZfMfLFZ6+kchp2Yhel1F+u4pqa6QoSfTjbOHMJ0d7R1y74ouKYU9h/sjb5RLSfk0YmAzDE2v2Xg9Idm3Hpq+WY4TZQny+40/88ZwoFAFUNZDnRvB2oADR0cEZZ08HwWzBi3hxgXmLSO98B2s6BNOe/vo62eu/wtsLROta60jV64kRc5/AG+8vgThi1zrYuhZDMevltddtsf1XfPniFJjUHRbHp64ZBs1cibUNowmN3zuw7rtVmCb4C0brae7WC0Mf/OS6LRr0+PMXfLOsi6/Wolu3Yl04Z38e9t55MJ00HIYpnLM/cwl2EQX1gAX+pZJBUpGFtBprTBltjFS7ho7XSZy/7IkUMYyuchSruM5NbqgNZ4s6/CcvuSC+53NYs/ZZiOoqYk6XxreGNnRNBmLy/cMhhhi8ETfXaZOmeDTa4tQle2RO+Ql//fmS0O6DbYTMNhgDjAGhMWBoiUGLP77Z2W9dix8etxYa2lvj0TZCz3Er8EtDR6Xxeyc2/fZ23b2xt84pqL1a3cwx6uk1123xzxb8/v5scTmm5oxq6cNk+FJ8/sfzEEnsWqeBtgGM73v3ui12bsOfL7b0ERN1RWjWfbFPxgBjgDEgfAYYQsaAmBhgDlZM1mJYGQOMAcYAY0A0DDAHKxpTMaCMAcYAY6A9DLC8Xc0Ac7BdzTirjzHAGGAMMAbuCQaYg70nzMyUZAwwBhgDjIH2MNCWvMzBtoU1locxwBhgDDAGGAN3YIA52DsQxA4zBhgDjAHGAGOgLQwwB9vAGvtmDDAGGAOMAcZABzLAHGwHksmKYgwwBhgDjAHGQAMDHeRglaguzkSMrycCI5JR1HRpUWU1ijNj4OvqCtfG5IOQqExUNqAQyjc9HzYlBK4+wYjMrGiGSglJaTZifV3r9PAMQFhiIZqq2iyDcH8qKlGcGlqnh6sH/EMSUNA+RbpUV0V1KdLD6u1A55R3AELTyrsUQ0dVppJVoiDBDx6+gYjNE8dyZB2lOyuHMXC3M9B+B1vvQL0vncCeX7/HT1vPIqxpWyfNRZTjv1j79Tr8ffgwDvPpHK65x6JYQOzKKwqREmyHc/9uxbc//Ia/HNJuQCevyEO460ns/msHp8NB7Nr5D7bvuYiAmxzxDdkE90NRVYw0Xxtc+ncvdvC2OIEL1/yQXi04qLcFJCvLRaRjw7m0H//s2YEtBxyRJpLn0tcppoK8sgAJvldx4chGfPvFz9jnW1p3SE2fKnkVChP84e4TgJhc8Tl7pawKWRGu9R1H7ttTRIsVNLe5Ug5JdkS9Lu7w8hXgggX0rN6cSLh6eME3sfm5WwulvAwpAa51OtAydeHZEN5ZxeFUlCM1wA0eXmHIbrooRK0SivJUBFAnvjG5w9MrHiXN7XWb3+10sEpU5ycjyMYWgXElMB9jfZtqzDF82gv4af9+7OfTBnz9ziII5pH/XOSaE+OBs67+iNewxmwL3PhSSpAb4QV7p3B0f34jp8NubP36SQwrdcCuE/4oFEv0p5QiP9oLJ3afRqTRUvzB22IH1/lZiSlieUg+Zxkjq5FY+lnDubQD696bh14hJ3E6SiyGAFSycmRH2uOyozfSe03FGE4v9b1VkFcVItHXDpeOb8R3n/2I3T7NG0z1oWtpzYqqEsS7NHS8DmDPvr+wfucVJItMFaW8Gjmh9rh2ZA+28Z3gozh1zgWJVS1lovPlVAop1yY64tql/fj5s4/xxYnYGyqlpQMzgs9j5+ZtOHz4EA4c2IUNfxyEY2LpDXJq/dHgQB3tcXHrN3j3o01wKWyCSCVHVfJlrHn7e2zl7UDn1lGcOO2LnCZi/7XZTgdbg/IiBfTMp+CFj5/CBFEtldCEFkkRJCpt9F/yOT5YPLTJgbpNZUUGEqNCkaqYgqVzBnI7tdDd2BwDTOXIDnaBdx63SwRvVVUWUmIjkGaxAu99shSDRYD5jhBVGtBU6kK3ux5quY4QRPJSSiogq5LCetXP+N99zXt0XauEiutg5kbb45K9B1J6TcfYrq2+w2rTN+uH+R/u5zrAlP7B5m+XY1go1yiGCi9uuq3StTWoyo7EmS1/4XLJ/VjHd4J3YesfH2BOy1ZIu23RHXaAi1yrM0Nw/uI52MnG4dG+zUrmdJDkx+LK7sPIenAtZ4992PXnN3jGxAW/brO/MUpslrXrftbyEXaS43mcvRiBPrOn3KZqHRgaz8cXvB32c7rswvYtqzAaLXu108HqoffYSXjg6YV3iEalKCtIQGB9mO0TEgVBjayaDMLImcvw7GTjW7ImLy1GXn4xlEPHY5SRBKXZUXD3CkBougTdlLnIyBVH5CQpLkJWTjIkQ3tB7ucKV7KHdxDCMypuqbdwd6og44bs40kHrvfp5R+Fij4LMW+siXAhN0OmY9ofIxb+D08IYEVwlaQKsvIqDFn1C968X73OvhlNLfl5axkVoFGjA11jfa7jJZ75j1puZCM/xgEe8uX4ct1zGAEBvmqkqClOgnzub9jw3LibANYqqlAUdRn26VPx8jJaP0cDOjomGDbUDNV+Z2GbcVMWNeyoRY2iGhnJlnht22eY17NzILTTwbYAlLYhzPr1RA/DbLhSmL13O/75eysOOArMyd5JFQN9aBtqojLSHVfPnYdHshRDHl+FmaY1qOYikTtlF8JxmVSKivw0yDKCcfnEYW7oZh/+3s3NX+53QIKYrnKCElVFqfA7z+lw4hJvi/7TRkOnvFwINIsOg7ZJHwxb+AaWi3bB0QbKa6GQFCPJ3xWuzo7w8PBFXs+HsGSSeIbWFJJqZEYFo2LKCOiQHq6cLh7e8EsS0NCqbneYTlmJj+aaNRB/w7dSLkN+bDQKR8zCVDMl5GXJ8HV3gkNMDfroZSIhTXaDvHp+aELPqB8Wf36ntV1VqJFnI5TswCV3Ty/EF7cccec7WL3eGLPojfr5Pi7E3r4Or03TRdCZHbCNV7QcqboluZ5lHjdPe/6CO5JUM/H69+9iYX85aqGHHmbG6kbX4voVXKSiqDHF/NWcLfb/jQ3vLYBV1Fn845AOccThpKoOzAbNwEu/kw578Nu7j0LXaT1+OxIE5mKJn3s1KSEtz0LghUM4dPQsroWXYdADk6BXViYaQmpqFCjKTYdOcTRsTx7CoUMHsGf/X/ht2yVE5nSCY+osZrS0oGHZA1pJfnC6eBbn7EJgtvIbPNK7FhXlAppM/i/9NbSgbdwXoyepEHCIs8XB/TiwZTU2nPZGfAuvcup8B9tcAdPesBo+EaO0ZCgpEUdzqKWrBwNFKXLj4pE/5Q18/+GDGKSsQgU3dJxfZgLT7s2VFOZvLe6kN+pvjSGzl9Rf1NQdvXqPxuRJ3ZCTmgGJMGHfARXnbC36Y9qkgZAkJSPrDtLs8N3MgDa69xqHZ9cewIEDe7Hp21fRy/1XfLPLB2UiUlsplaMqqxoTviU9dmPHr69hRvK/WHc+SYBX4d6GWG6eVpIehEvnzsIuvC/e2PYHXhglhVSmiZ69bh353qYk9e3W1IXRkMfxy4ED3PnEpb3/4M8PFyLj4IfYFSBFS16aLRHqSBl5eS7SE2KRU90DPS10OrLoTitL17w3Bo67H9PMzTDYyoiL9JSQFOYiLaEYqgHTMXVwp1XdoQUbGJvA3KIn8uOiUXflswISSQlKqrTQc+ggmHRobV1VmIIboi9CVmENzEaOgFVXVcvqETgD2ujORR+zZg2HPD4B6QJH2wBPU1MTRpZW6LPwqfqLmvRgZDQGCxZaIjM+CVUNggL+1tDUgkE3bu476BLsLN/A1o0vYmRtDRSVGUjOsQAX2AoY/X9A09aF7rgFWGBSi7y8IhK8Y9K8o8QdBOTl+UgOdYObTwiiM4pQWZSOSG83+IZGI6uCyywvR35yCNzcOBkuXbVxhXd4JUYsfAgLJxpzAgJ4K+nCpVj4uXnALzQeuWXlKEoMgptnIMKTCiHXM0ffUZMwplcpvP79F3ZuTrhy1RluiQpYL5qKQRDHS7dHbwwfMQr9Ux1w6CrZ4xocvH2RUm2NJWLpJYBzqKXpCOPOpbpzyh5XXZ3hk2GJBXPHwhQiedVIUJ4RDjc3L/gHJ6FQWoncGF+4eQcgRKQPzRAW80rIpEVIzZLAdMwY9BMWuNui0dHTh9VgaxRGhCCXD5KUUChKkJNfg56jhkMMsZ+WngGspi/BNBNzjBtkAhlqoZSWI90/Erl9FmPB6NuqL+gDqho5CuLcEZZjiQF99FuEtd0OtrogBUFXD+LgRU/EVJtisGklQs4fxBmuAY8hJ19dgNTAqzh48CCfLgQXwvKJb/GNkO6DrSnnhn+9cPbgcVz1S4VW737onu2Kg8cvwj4gA1LooufI2VjxzircpxuO85ycbUQVBj32Nj5cIhb3CkDXAtbTlmDFwxaIvED2OAufVAPMeu8zLB3KHRfFW4bS3EjY159PBw+egXucJuZ+/j1emSEa9wrIylEQ6cD9J07hqmcOuo8dBO24Czh44jxsw/K71hI1UlRkkrP3hF9QIgplVciP9YGblz+CUsu6Fkuba1NCVpWNiMaOlyPs3WxxLcYUDz44CWK5zEnLwAgDJj2A6XnXsNeWOsFOcPa8Ct+cIXjqgRFtZqdDM3LRqLw0BQFu7vDkAqv0cgWkmaFwc/eCT0QOZFp6MOw/A4tnGcBvzx7YuLnAwckOx65mYMizCzGqQ8G0vTBymPnRHMeEOzYfSq4jk+DnBg8vbyTQHKuqBvK8KK4TzMlw55WLsyvOnfSH6bwXsHJhy+6Z0mw7vLqcpkNnYMU33Pj0gRvTxm/ewaJBnIzpUEx/5tu6MWyS2fCnv1GpAAAQAElEQVQN3lk4gDsgoLdeL4yc/z/8QfiapAM7fsHnz01CXZxNTnYuXvujXs9N34vLuTbQ3b0/xj3+VaM9/vzpUxE5V1LCCH1GLsUXTey09ZevsMyajokodeuFoQ9/1miHAw36bFuL7x7rYmXkFSiKduSdvY1bFozGD4Vu/EXO2Z/DlZB8kZCqQFVJLBwPUseR0gnY+VZg5tfr8O5ssbhXjmqtbjAf/iDeeX00ki6THsdxxa0Qk7/8Hc8JxjMpUJ0XgosH/8XJC94oHzAJY2V+OPjvcZx2jOeGsbWgb2KNZV//iJeGpOAyyV0Jhuqhb7Hx+ZGcksJ4qxQSJLtyHB89hfMJhpgx2QJpVw7i32On4JPFYeTmkaVJLjh48CCfjpy1QeqUn7Fj6yq0NAjX5Iphb8YAY+BeZsDQEoOWfHqzs//rd6x+cphImNGHWb8F+KSho8J979jwC1YIpz1vOY96Jug976NGe+z8U0DOlbTQMoDpiOX4leO4sWNI23u2Y/Mnc+uHsTU5JzsMy3+tD0j+2Soo50pqaBuYYOa79fgIf33avWMLVo3lJLQNYHz/+412OLBrB7aubKlr5fJzb+ZgORLYuzMYYGUyBhgDjIF7mwHmYO9t+zPtGQOMAcYAY6CTGGAOtpOIZcUyBtrDAMvLGGAMiJ8B5mDFb0OmAWOAMcAYYAwIkAHmYAVoFAaJMcAYaA8DLC9jQBgMMAcrDDswFIwBxgBjgDFwlzHAHOxdZlCmDmOAMcAYaA8DLG/HMcAcbMdxyUpiDDAGGAOMAcZAIwPMwTZSwTYYA4wBxgBjgDHQHgZuzMsc7I18sF+MAcYAY4AxwBjoEAba7WCV1SXIjvWHu7t7XfIORlRKMRQN8JQSlGTFwb/hOP/tj7CYLFQ2yAjgWykpRU5cQJ0O7t4IikhGkbwpMCUkZTmI92/QMwgRSUW4QaSpuNq2VZCW5yEhwBuB4Un1y9I1AaOoQklaeL2e7vALiUQGrXrUREQ8mwpUl2Ugwt0XQeHpEKMaKnkVChMD4eUfjLh84Z1N4jkXGFLGgPAYaLeDrSnLQpTrKezfv59Le7D9rx3YeegqoovqXaw0B5EOh/DLF79gGy+zn5M7CRvnaNBiO4KghOsEFCUG4PLBnfiHw7hnx3bs2LobFwOvdwLklXmIcD2Jf7Zs5fDvwY7tO7B190UEZQmom6CSojw3Hr42p7H/16/xzdp/EVTahGE6nhoIu4Pb8MfO/dj/zzZOz83Y75B4syNukk2om4rqfEQ4/YPv3/kSv627hCShAr0lLhXkVYVI8rXDhX9/x1efrcZen5JbSnbVTpW8GkVJnLP3C0JsnpidvRKyKq7d4TrK/kEpKOsqAltcTy1qpKVICfSEj380cmXNMirlkORENXaCvf0CkNz0f9xMXB0/a2vkKEsNqsfI6eEXibrl9RrQ1EIpL0dqUH1A4ukNv8hcNFe1QVod37VKBSrSGnTgcHIY+dWAGsDUqlBTkYYgPijkjvPfnvD2TUBLzdFuB6tnNRaL397IrzZw8OBebPhgIXrnO+CiXwGuv8wxYvpKrDl4sF5uE759bzEGQiCvmnIUVSmhN/4D/MNh3LvtazxpXQKnvScRVsFh5BxwboQX7B1DYfTCJhw8uA9/fb0cw0vtsfO4P26MdDl5tbxVkBalI/TqZbgHZsNi4s1POVeUpSPQzQYOeZPx007OFv9sxAcLeiP85A5cjidFIZ6XSoai+Ah42PigdtpI9BYPch6pimt8ciKv4aK9O1J6TgM9W5w/oJYPztlXFyHZ7xouHf0DX33yPXZ5q9fZt4cGpawUCd57sPrdz/HDd6cQ357COjpvbQ2kJSkIcLTFqY1f4YPPt8GjaaTBHZcVxMLj8Bas/ZvrBO/5B7s2r8GWi9G4yRF3NLaWller5NqaeDge3IGdXECyb/cu7Fj3Bw46J6EUdS9aqSYz9AJ2btjMBST7sHvX31i3/iCckxok6uTU+VlbI0NB0HkOH8fz/n3Ys3sHfl93AD7ZsjpYXBtTmXQJP735DTZxetYFkQfx71FvZNdJ3PGz3Q72xho0oKGpiVoN7g8rV9x4SMi/9Hph1MyH8PLzk/il6fR69cGgKSNhWRqH2BRAVZGBpKhQpMinYOnsQZwm2jA2NcfAHgpkBzvDWxAretWgokQGpfZovPTtS5h608rMChRlJCAwKAnGcx/GVFNODQMTmPTtB5OqeDg7x6LTYxauyo55qyArTUG0vy/S9Z7Ea0+O6Zhiu7AUZVUFJBXVGLrqF7xxv0UX1nxzVSp5JfKi7HHhqjMSOWc/7mYR8eypVaA8Iw7Ox5wgv38M+ggKeS1qqgsR73geF22i0XvmxJvQKbnINtH7OHb59ce3Ow7i4N6/sfbVGUg6/CuORZTdJK+WHSo5ZFybmGK8Ctu5gGT/nq345mkjOP22DV6lHCLOAUvy42Cz6wDSl6zjApID2LPtWzxj5Ig12xxxY6TLyavpralnhCHLf+XwHeQSYfwByzTPYtvlzCaIdGBovABfcXoe5NNe7PzrZbR0TZ0OcbDyigKkhnvAw+Ma3EJiUKk/GXMnNo1PZSgrTEKIB8l4wD88FtkCGllFs5dKUo3KwjJIdTkH1B1cY16M3LxiKK0nYFR3KcpyouHpHYiQ1AoYKnORkSOEzoQuLIePw/yXHsHgZvrU/axASWk68nJ6YtL4wVBUlSA92BUB/hHIVupAmpkJQfQT6sD+96eiAlkxAXAIKsaYZxdh6H9LC/KoTo/+GLnoDTw5XP3wVJJKSErLMPjltXh7lqX6AbUZQS0UlTlI4Ibdw1VP4YPnJ7S5pM7JqIKMa1vysvvg1U0fYs5NVCtRXZYJTxsPaD74DB4w51Bo60G//0gM1UrC5Uuhwhhi1TKAqfXD+PzTeSCIWgaG6DN/IcbIgxEYBdQqKlEcfRl2aVPxymO0iK0GdHVNMXKEBap9z8Cmqf/iVBTMW0MLWjq1kMjqI9gOAKbZAWWgOj8Z/pf3Yu/eM3CNVcB88iT0Qf2FTpwxevQxh7FuGuz3cjJ/b8Zf2zbjgFOsMJ0sNxxcGBcKH7d4yIbPwdQGb2WgD+1uWpBEe+LqubNwjqvC4MdfxX2mNaiqqu4IGrugDAMY6PeAkWY6gh1scYb7I6fp34/3Hh0KRXk5qroAQfurqEF1XizCPUNQOHolnp1BoXj7SxVBCZ0GUdukD4YvfhtPjei0KrqmYGU1ipMDcMEhA6NXPQLhqaOFbhZDsPij52+DTQapJB5xMT0wa/pIKOUS5Ea6w8fJG2k63VGTnNLioUl04atWyf0nc3NQqmkOC+7vqJTLkBcThcIRszDVXAl5WQoCPJ1xLVKG3roZSEjtOAfWXjVV3FxyfgwFfm7w8L6CwJJpeG7B6CbFqlAjz0FEfXDo5eOHxJImh++w2SEO1nToDDzz3SEcOnQIm95bDNOwXdhywB1ZNOaob4WxS97CJu4YHT+0cz1en6YD/5PbcCVOcQd4XXyYc65lGUG4ZmcPb4k1ljw+F4NQ/5KVIy/aA+fOOiNeMQNvrn4fiwbIUQs99DAzqRcS+lcNJNw8bLDDGVxxS4PlstX4+sXJMNTUhH7PXjATOnwOn0pWiHiu0bGPNsCyR6aD+z+DvRgDgJIbaUpFhIMzkob/D68+0EOkpOhAR7s3LI1zEenihPNnz8ClchZWvzQeytISlAtNK244WFaQBM9jV5E+dBkWNMzWaGlBw9IMOikBcLl8Bicv+6PHyu+wzKoW5eXCGb5UySVIctrLBYcHcfRMDAwXP4oRtTl1IwUamtDuboWRExTwpuBw9z/YteFbrD/dcifbIQ4WTV6mfQdi1OjR0M1JRaakyYGGTVMrWI2YhNE6MpSUlDfsFcC3HJV5EbA7cQLHQ7phzouv4fkpxjwuTV09GChKkBMbi9wpb+LHjx/CIGUVKsuKkV9qDFMjXkzgHzrQ09WGpCQBYdH6eHz1t3hpmgkk1VUoKiyAoYkxdAWuAaBCdW46Ij0CkNZ7OHrkcD1Pb3+ExqWjsCwNoX7BCBfvPUeCZ1/IAGsV5ciIc8JJH0089dRs3ORehQz+BmwqKGT5iPY4j9OnXSBfuB4bP5qDbjU10O7TFz1vkFXzD865yrn2xPvqERyMtMSjbzyBUQ2QVApIMoJx+cxJXA7ugze3b8KLo6WQyjTRsxcNLDcIqvdb29AE971fFxzu/et3LKvaic9/PIUEKYdLUw9GQ5/Ebw3B4YE92PbRQqQdeA//BLQsCu9gB6uEpLwE+UVy6PUciP63COzkFXnISIxDblUPWJrrcFoI4c3hLk2Bl+1FXPDRxoL/vYOPljTGrtAz742B42ZhuoUFhvbtDgXX0EuLcpGWUALVwBmYOkQIOtwJQ3dY9hyJ6Qv7wqBff/TW4uQVVSjKSkFSqSbGzhiDW5iLExLSWwm5SskNnRnAIteZ63Xuxd4Dx3HeJQipOYG4dOQsbELzhQSYYekSBmohLclDlJ0z4vpNhFWBBzw8/RAQlYaS6kyE+wQgOFVInfnbkaIFLS1D6Ggkw+lSAZas34SP5ppBoZAjNysD3cx6cONlt8vb1ftVUEgyEHhxH9YdzcWol7/Cp/PNeRAamlowMNSDKvAirli8ie2bV2JUbQ03P56B5BxzfhiZFxTYh7aeAcYtfgRWGVGIr7gFOG4+XHfCIiwyqUVuXuEtBG7epXnzrtbs4RxTSTbiAz3h6UnJFXYOHgjM0cTQeZMxkIqSV6AwNbz+uCfsbV3hHVoG63lLsHBSXYRIYupMKkkR4t0u4thRD1T1HYLRhpl1eH2DEZlSBIWeGfqMnIBRPYvg8e9ROHi6wtbOFa7xUgxZOBWDIIwXXbiUEcnZwS8EUenFqC7PQYy/J/xDo5DJnTDdLfpg8oTR0I8/gx3nODkHGzg7eSKx2zzMGSt89wrowGzwfXh5Q12P8xD1LPf8iZ/ffhJTRz6FH//6Dd8sE8klTzUSVGRFceeZL4LCUlAkq0R+XAA8uSg8LJ0zljBOKZGgUKKmVo5qmTEGlbhhz5492LPvME7aBSKjOAyXDx3HmYAcEeiih25GYzDv4d7QGTwU/bU5yHRPbF4iglKlmDh/Csy4XWp4N6uyluvkFiPO6zS270nB8Fe/xeYXRjXKaHGOymr6EkwzscCkoT0gAycvq0BmYBRyrRZj4ZhGUQFt1EJZU4Wc5BzIeo7BCMuboamUMhTGeyCc6yT0t9K/WeAWezRvsa8Vu2pQmhkJ52O7sXs3pUOwj1dh0ouf4r1FA+vKqcpDkt/F+uO7ccovDz2e+A7fvb8E9RJ1cmr8VJQVoSgvD7X9B8G0MhAneF04fQ6cga1PGqqhh16j5uCZd1ZhhiYdP4gLwaUY8Ni7+PjBQWpEfmPVkqJ0BF3hcJ+wg2+BIYZaSBB8ajeOnLsKPrAzHoDxD72JLx4fiSwnknNCjNY0vP3pKkwzvbEs0fyiYRzLARg5rj+6LknuBgAAEABJREFUiwY0B1RWhrwwG+5/cQQXndNhMLI/aiNPYffhU7gYnMcJdOG7RorKemcfGJqMInk1CuL94ekXhND08i4E0taqtNG913g8v/4wDh+uTwd2YONnT2F8v0fw3T+bsXbFiLYW3qH5+AuXYrjOrY8/gpIKoZAVISHAEz7+QUgpA/S6GWPSrEUYlHEcG05ycq5OcL14Ct6aD+LhqQJxr0opCqMdsHftYcT1mogHBxZxHUUOq7cv/KNyIdPSg8GAGVh0nw68d+2FnacHXFyu4diVVAx8ZiGuu+IOpbaVhXEOVVGB9GAONx8cesDN3QFnr2VjwHOLwPcBuNEyRX5MnW6cjLurB84f94bRnBewcpF5i+rTbJHUbYX0YDVuCd7eXH9Scyf3zl8/xTNNI9Me1pjx7A/XT/zN3+H9Bud723K79oBe71FY8Oam6xg5Pfg/6q61+PKFyaiL7cjJzscbm+p13bJaUM6VGDMeMAFPfF2Pr0EH7nvbms/x6FCS4JIx52Sf/KZe111Y/90q8TpXTh3ommHw/U/iw28fR4OKtFvwqVtvWC/9st4OTWy243f8+IR118KXV6AgwpZz9v/ivEMq9EcPhGbUaew+dALnAvO6FktH1aahA32z/hgzeRCEMU5Wp1hNdSlir3Gd20OncDlRDxNGGCD27G4cOHoSPlmcjJ4pes95CxveXoBKT5I7Dfvc4fhwzcd1t+1wIup+q+QylCaEo7j/JIzpHo8zDQHJ3kM4ejUWldCCgckwPPbtT3hpYDzO7t6Lw+d8IXvwO/z5ojDcK1CLGlkBgs5wHPP49+Lf057Qe2YDtq/i3SugkqM6wYH7X9TJ7D92HgmT1uCf7a/UOeAWGEKTZFhiDDAG7mEGDC0x+KEvbnb2f2/AmuXDxEmMdnf0mvA4Pl/7LEYISAM9UyvM+/jwTVzv3voHXmi4O0SPc7ILPq2X2Y8dm4XjXIlKLQNTjFixrh5fE13278TWz+ehLrbT5JzscDy1rv74nh0Ccq6khSb0jIbgSS4K54MpLhA5sHsHvmwamWobwGTWh9f13PfPdedLRbQgMQfbApKYCGOAMcAYYAwwBlrLAHOwrWXsJnm2gzHAGGAMMAYYAzczwBzszZywPYwBxgBjgDHAGGg3A8zBtptCVkB7GGB5GQOMAcbA3coAc7B3q2WZXowBxgBjgDGgVgaYg1Ur/axyxkB7GGB5GQOMASEzwByskK3DsDEGGAOMAcaAaBlgDla0pmPAGQOMgfYwwPIyBjqbAeZgO5thVj5jgDHAGGAM3JMMtM/BKiUozY5HkJcXvJqlwIg45FTWcyqvQGFqRKPMDcfqRdT7pUBlUToimugQGB6D7Ab8HDhFZTHSI2/U0y8kCilFCu6okN4qSMvzkRjki+CIZBTJm2BTyVBBDw5voqeXVwDCojLRRNUmGYS5WVNdhsyoG23hGxSOxMKmygoTe3NUKnkVipKD4RsYioQC8eFvrg/7fa8wwPRsCQPtc7CKUmREOOHIzp3Y2ZC2b8a6H7/E9+v2wj2bg0BOONEXVw5swdptnNzWP7Bly1b8656GEgV3XBDvauSn+ONCgw7bNnAY/8IRToEGx1OWGoSLWz7AV79ta9R134nL8E6pFoQGPAiVFBX5ifC/egb71nzBYT2MwFL+SN2HrAAJ7v/ipw++x4YGXXcewmmbEOTXSYjiszI7Ble3vovPf9naaIu9R8/BLVFAtrgjkyrIq4uQHOCAi4d+w2ef/IDd3iV3zNWZAipFNYpTQkTr7JXyauTGeMPb+3ryDQhBXL7QOi61qJGVIS3EFwFBsciXNbFqbQ1kpWkIaaKDt7cfAoNTIZxlF1SgNWtjm2D0DQjiFyto0ERVI0N+3HU7kE18/AMRk9tU2QZpNXzXKlFTkYHQJjoQRkq+/gFIbmg36YH/BbGN55SvX5NjLYDdPgerb4VxD76DP48cwZH6tH/bT3j7yVkY3GcUhvcC5CWJ8HR2gF/VLPy6m5PbtQGvTzNEwKk9uJZU1QKIXSFigiFTn8YP9Toc2bkOr03qhuDzFxHf5L9p2HcsHvpoR6Ouu9d/jRenmnQFwBbUoYK0OB2hNhfh4pMO8wm3e6h2Dwwa/yzWNOh6ZDt+/XIZhrSgBiGJ6Peyxvz3tzfaYu/mn/C/maZCgvifWFTcqE5O5DVcsHFEguU0jPtP6c4+qIKiuhgpAY64/O9afPbhN/jbU73Ovi0aS4sy4PzXG/jopy34+++/+bT74DHYx1a2pbjOycM70FQEOdnixO+f4p1PtsCtqElVNVUojDqDH9/4Er/X6/D333tw6JgXKF5pIqnGzRpIK2Jh24Bv+zZsX/8DNl9IQVk9KnlFEby2v4YPVv+JBlvs2nsIV6IFYgvODtK8AJxs0IG+d2zHtvXf4v23vsDJRE6RWhVqypLgd2Qzfvzzb/y94y9s//0brD8bhZb2E27nYLnS2/DmotXs2FD4xebAbPZCTDKRIy8pGiGNv7kyu5nBol8fGBTHwt0zHgpul9DeKk0taBjowUirhosyhIbudnhqUFEshUJzFF764WVMq3vi9u2E2X41M6CsKoOktAKDX1mLt2ZZqhWNSlGJ3Gh7nL98DbGW0zFerWjaV7muqRVmvLmtseO1f8cGfPCAMJZ5A63gwo1axDuew7mLEeg1c9JtlNVHj94P47sjXEDCp734a+OLGAmhvHTR3eIBfMpj4zAe+Ad/vDwBYXt2I1iGxpd2tx6Y8OrWRlsc3P0XvlggkIZJk2vfrZdjXYMO3PfhA7ux7u370bvnTEwfCKhqqpHpdwi/25nhm785PQ/tw/aPFyF13/c4ENrQlWhU95Ybmrfc28adyvJUxEcGIkU6HPdP4BCiFIWFWSgr7o3xowdCXlGItCA3BIZEI1umgeqsHBRCIC+lFGW5iQjmhgzcnP0QniKF1Zz7MapJUFRTXYqcuIC64QK/UESlFAuog6ALy+HjseDlR+8QjcpRxQ1BhXN60nBIYFg0sioEYoNWwFBKK5AXH1hvi2BEJBWiyWBDK0pSj6hOjwEYueQtPDVcPfU3rVVVXYHq4hIMfOV3vDtbvc6+Ka67b1sFmaQKORlWePXPj/FAz7tDw1oNDdToG6KHfg1kImxLeCtw0aqsJAXXTttBufQlLLRUccFVHtxOXq3/zUlp6kBn4ASMM0zG2bOBaNKX4A7e+q15691t2StHSUYS4pMV6H3fo5gzuKGMbuhmYAJ9VRqC7C/jpK0vCo1n4X9LyOGWQyiDxNxYALIinXGEGyrYd8YDacqBmDG+G6oq6/TQocjb1Bhl/ke5IY/t2Lx5K/78+zwCb+Vk67II71NLD917mqOHUQbsOD3/3roRWzavx257cTlZbUNjmFv0hCz4GG+LLX9uwYYtp+ErMicrlBNE26QvRix5BytGCAVR23Go5BIUJdZ3vHwDERKXL6COlxa6WQzBkk9euEM0qoRcko3I+k6wX2AwUlsWMLWduNbm5OYw5eXp/Bymp4cP3F1TYPrgUkyzuF6QqobzCUlBdZ1gH38ERue1yCldL6HrtmprJCiNPoeL8UPw+IIxXMU1UCiiERpqjAdmjYFKqUBhrCd87FyQqGsCVUISMjmpO707zMEquRMiOjIIcaVWmL9gEowba65BVUkyAuxOwsa3GAOe/AGfrBgPA20dGHCNZI9GOTVv6PXC6EVvYjM3VHDkwC94+f4qXPr9D5wMq/OwJoOn4KnvjtQPdxzAju+WwzrXBtv3eaFAzdBbXL2uJYbN/R82kY6U9mzGRwt6IOjoOpyJFuJg/a01M+ozGsu+arDFIfyz5hVMKbfF5u2uyLt1Frb3HmBAS88QZlaDoRV5gut47cC2rX9i7R9H4CEoJ3sHQ2hqQ8+kFwYOKYMLdYK3b8Vf/PxmsLCcrEqOqiw/nOAw7tp/Am45Q7F0njHKy+r009TRg1n/UegWd5K3xV9//Ylf1h6AqyCdrAoKaT7C7AOhms11NBsviNCClmY/9DUvRIy7Gy4c348zefdj/VtToCouapxvrtP41p+at97d2r1ylCREIiQwGxqTH2wSvepCTw8oyYpDbIY5nvr+Mzw32RjVlRUoLSmCobERdFpbVVfI6/VC3yFTMLZvJVLTsm9Rox4sew3A+NG9IS3IQ/EtJESxy9gSPUdNx2R9BYqLSoUCuZU4dGBq3g+TJ/aDLDcXRa3MzcTvHgb0zfpj0WfXO157Nn6MB2vt8Nt6e+SIRU2tbrAY+yzWUweY0oF/8PtrUxB34DPsC5YLRwstA/QYtQK/E8bDO7H+k4Fw/fZDbPWo87C6RuaY81GDLQ5j//bvsUL/GlavsUGWcLTgkdSqZChNs8dJD108+eJCmPN76aMWypoSxPtewLF9Z1DwwJ/Y+fVCdJcroNVvAHqRyB1SxzhYeR4So0MQmt4dE2eMhHFjpabo03c4Js/vh+4coN7a3AF5JfIzU5El1cPoyU1luWNCeSsqUVGcj0oNM1gPugWNKimKcjMQn16C7paW6AZxvujK0aykaKSXmcLSXEecSnA96bLCDEQnF6J7754wEqcWDHWHM6ANI+M+mHnfUCiys5Df4eV3UYF63WA0bj7mGSuRn1/URZW2shrO2Rr2m4/FExSIiUu5RWYt6BtYYdbcEVBmZghslImLXqtzuVG8y0ie8j883Ri9akJT0wjd9JNx+WAi5v/5D75ZbMENFSuRlZYCQ3NT6N1C0+a7NJvvaP1vOSrS4hETmg/tCfOxkItQm5Zh2nswpowaAHnkGey66AMfx8twcgtGJjcPO3PUdVfcNE+Xb3MOtTg9Cj4+HD5KjnZw4zBm95iD+0ebcHBUkJblISm4/ri7AxzdvRGnPx6LnpiHwZyEEN6KqhJkRnMYA8MQk1EMSXku4gJ9EBgegywa6VZUozTjup7O19zg6pWJfg88gqUzTIWgQgswqCCrLERyCKcn2crDCc6urgipHY0lzyyBdQtKEIRIjRQV2dHcOeePkIhUFMuqkJ8QBJ+AUERmVrQdIstZx0CtgpuaykRodDaM+vRu0umvOyyWT5VCgvwkf8TkmcGqZ0uadDVopqqBojgNGZXGGD+q/80AuPlaWXkWgsIy0K1vH1CLerOQmvZwHXRJrhuOXVXg/ken4/oUsjY3+joOix/pCW3rURhC8YdKCXlhInzjyjF58YwmsrfH3gEOthq5hQUo0hyIRY/MwcDmdfWwxszH3sIHi/ogwWY7th91QarR/XjzvecwyaS5sJp+V+Uj2fcctm/n8FE64sZhXITPvn4RU3i/o0BZVhSc/q0/vucSQitH4/XV32ClYO6DBSRFaQi4wGE8fBkeOXoY2KMCfke34+CpywjO5biVFCI94EKjnoedYqH98I/49Ssx3QerRGV+PNwabLH7DLyyB+KVX37G6/fxxuIUFcFbVorckEucLQ7gzLVk6AyzQk3IUWzffxRnAshYXagD5+wrc2J4Zx8cniJq+yEAAAPKSURBVIJieTUKeWcfgvCMii4E0p6qarl5tFKkhdZ3vDzd4OZ0Fe4Vw/Dwy8sglOu3lHIJ8mI5jH6BCE0pgkJWjKQgH/gHhdTNsSrlkObFcrbw4ZO7qydszgfCePYKPDvfrD0EdVxelQKy/OsYfTxc4XXxNHy0H8TS6eZcPbVQKiqQ0WALL3d4OJ6HXcFgPPLmcozmJITxVkHJzb3GX3RDytAnsZKLUJvi0tbTx8R5j2Fk9mGsO8XZgzunPM/ug51iKZbNtGgqetvtDnCwphh233P4fO3neLZZ9NpYKznZ51fj6NGjXNqNtV8IyLkSSNMhmPrMDxw2wkfpL/z0ycNNIlM99Bq9AG/+Scco7cH6b1bWO18qQBjJeMBEPPkt4bsxbf/1Syyj0M54AMYv/+66ntt/xZePiO0REzowH3I/Xt3coOM+bP75dczsIQwbtBhFt94Y9sjX123B/zc4nXZuwE9PDmtxMR0iKC9HQSg5+/04ZZsI7RH9oArjnP3eIzjlJ5bZSyU3ypQGL65DyXeU/zkK2ygzvLR+Iz6c22LH1CF0/lchNdWliLbdju17j+JsjBbGWusg4sR27D5wFF5ZXM4abpQp0obreHEy27djz8mryJy+Bts3vYhR3GFBvLkOWXm0bSPG7buP4WLaJPy4/QvM5/2OCvKqHPger9Nh+86DOO1jgBc2bccXC8kBC0ILDoQKMkUmfGP08ejbT4OuHeZ2Xn9rG8Lk/nfw92fLUO3G6bLrIE7EDsAnG77BIsvrYv+1pflfB9kxxgBj4B5gwLAnBj/8Feo6wJyTb3D2uzbh16eHi4QAbXTvNQEvbGjAfwA7Nn6IOUJqzzkm9UytMP/TBozXv/du34gXR/MC6L3ws+u22Lsdm14QjGvlAHJv3e6wnPfpdYxH92Pn1lVNIlMtGJgOx4r1Dfodwm7O+S7gnS+XXzBvbRia3I8P9u7E182i10aI5GRnf1yv62Hs29Vy50plaNIHS4wBxgBjgDHAGGgXAyzzTQwwB3sTJWwHY4AxwBhgDDAG2s8Ac7Dt55CVwBhgDDAGGAOMgZsYaIWDvSkv28EYYAwwBhgDjAHGwG0YYA72NsSw3YwBxgBjgDHAGGgPA8zBtoe9VuRloowBxgBjgDFwbzHAHOy9ZW+mLWOAMcAYYAx0EQPMwXYR0aya9jDA8jIGGAOMAfExwBys+GzGEDMGGAOMAcaACBhgDlYERmIQGQPtYYDlZQwwBtTDAHOw6uGd1coYYAwwBhgDdzkDzMHe5QZm6jEGGAPtYYDlZQy0nYH/AwAA//8VVcV5AAAABklEQVQDAPmgIXvfPNJ0AAAAAElFTkSuQmCC\" data-image-state=\"image-loaded\"\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eHint: Mind your matrix positions!\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = topdownpascal(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 3;\r\ny_correct = [6 3 1 1 3 6; 3 2 1 1 2 3; 1 1 1 1 1 1; 1 1 1 1 1 1; 3 2 1 1 2 3; 6 3 1 1 3 6];\r\nassert(isequal(topdownpascal(3), y_correct))\r\n%%\r\nx = 5;\r\ny_correct = [70 35 15 5 1 1 5 15 35 70; 35 20 10 4 1 1 4 10 20 35; 15 10 6 3 1 1 3 6 10 15; 5 4 3 2 1 1 2 3 4 5; 1 1 1 1 1 1 1 1 1 1; 1 1 1 1 1 1 1 1 1 1; 5 4 3 2 1 1 2 3 4 5; 15 10 6 3 1 1 3 6 10 15; 35 20 10 4 1 1 4 10 20 35; 70 35 15 5 1 1 5 15 35 70];\r\nassert(isequal(topdownpascal(5), y_correct))\r\n%%\r\nx = 7;\r\ny_correct = [924 462 210 84 28 7 1 1 7 28 84 210 462 924; 462 252 126 56 21 6 1 1 6 21 56 126 252 462; 210 126 70 35 15 5 1 1 5 15 35 70 126 210; 84 56 35 20 10 4 1 1 4 10 20 35 56 84; 28 21 15 10 6 3 1 1 3 6 10 15 21 28; 7 6 5 4 3 2 1 1 2 3 4 5 6 7; 1 1 1 1 1 1 1 1 1 1 1 1 1 1; 1 1 1 1 1 1 1 1 1 1 1 1 1 1; 7 6 5 4 3 2 1 1 2 3 4 5 6 7; 28 21 15 10 6 3 1 1 3 6 10 15 21 28; 84 56 35 20 10 4 1 1 4 10 20 35 56 84; 210 126 70 35 15 5 1 1 5 15 35 70 126 210; 462 252 126 56 21 6 1 1 6 21 56 126 252 462; 924 462 210 84 28 7 1 1 7 28 84 210 462 924];\r\nassert(isequal(topdownpascal(7), y_correct))","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":4424756,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":11,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2026-01-07T03:01:20.000Z","updated_at":"2026-03-23T17:56:00.000Z","published_at":"2026-01-07T03:01:20.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eLet's create a matrix of size N x N containing a Pascal's Triangle in each quadrant that diverges from the centre to form an arial view of a pyramid made of Pascal's Triangles according to the test cases provided.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor example, given an input matrix size 5 x 5 for your starting Pascal's triangle, the output matrix will then be as follows:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"254\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"472\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"baseline\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eHint: Mind your matrix positions!\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"target\":\"/media/image1.png\",\"relationshipId\":\"rId1\"}]},{\"partUri\":\"/media/image1.png\",\"contentType\":\"image/png\",\"content\":\"data:image/png;base64,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\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":803,"title":"Twist 'n' Match","description":"Given n and m, construct an n-by-n matrix a such that a, when rotated 90 degrees and compared with itself, matches itself in exactly m places. \r\n\r\nThe number of matches m is calculated as follows: \r\n \r\n m = nnz(rot90(a)==a)\r\n\r\nYour answer a is clearly not unique. It must only meet the criteria stated above.\r\n\r\nExamples:\r\n\r\n Input n = 2, m = 1\r\n One possible output: a = [ 1 2 \r\n                            1 3 ]\r\n\r\n Input n = 3, m = 7\r\n One possible output: a = [ 0 1 1\r\n                            1 1 1\r\n                            1 1 1 ]","description_html":"\u003cp\u003eGiven n and m, construct an n-by-n matrix a such that a, when rotated 90 degrees and compared with itself, matches itself in exactly m places.\u003c/p\u003e\u003cp\u003eThe number of matches m is calculated as follows:\u003c/p\u003e\u003cpre\u003e m = nnz(rot90(a)==a)\u003c/pre\u003e\u003cp\u003eYour answer a is clearly not unique. It must only meet the criteria stated above.\u003c/p\u003e\u003cp\u003eExamples:\u003c/p\u003e\u003cpre\u003e Input n = 2, m = 1\r\n One possible output: a = [ 1 2 \r\n                            1 3 ]\u003c/pre\u003e\u003cpre\u003e Input n = 3, m = 7\r\n One possible output: a = [ 0 1 1\r\n                            1 1 1\r\n                            1 1 1 ]\u003c/pre\u003e","function_template":"function a = twist_n_match(n,m)\r\n  a = 0;\r\nend","test_suite":"%%\r\nn = 2; \r\nm = 1;\r\na = twist_n_match(n,m);\r\n[r,c] = size(a);\r\nassert(r==n \u0026\u0026 c==n);\r\nassert(isequal(nnz(a==rot90(a)),m));\r\n\r\n%%\r\nn = 3; \r\nm = 7;\r\na = twist_n_match(n,m);\r\n[r,c] = size(a);\r\nassert(r==n \u0026\u0026 c==n);\r\nassert(isequal(nnz(a==rot90(a)),m));\r\n\r\n%%\r\nn = 6; \r\nm = 6;\r\na = twist_n_match(n,m);\r\n[r,c] = size(a);\r\nassert(r==n \u0026\u0026 c==n);\r\nassert(isequal(nnz(a==rot90(a)),m));\r\n\r\n%%\r\nn = 10; \r\nm = 11;\r\na = twist_n_match(n,m);\r\n[r,c] = size(a);\r\nassert(r==n \u0026\u0026 c==n);\r\nassert(isequal(nnz(a==rot90(a)),m));\r\n\r\n%%\r\nn = 10; \r\nm = 14;\r\na = twist_n_match(n,m);\r\n[r,c] = size(a);\r\nassert(r==n \u0026\u0026 c==n);\r\nassert(isequal(nnz(a==rot90(a)),m));\r\n\r\n%%\r\nn = 20; \r\nm = 83;\r\na = twist_n_match(n,m);\r\n[r,c] = size(a);\r\nassert(r==n \u0026\u0026 c==n);\r\nassert(isequal(nnz(a==rot90(a)),m));\r\n\r\n%%\r\nn = 21; \r\nm = 1;\r\na = twist_n_match(n,m);\r\n[r,c] = size(a);\r\nassert(r==n \u0026\u0026 c==n);\r\nassert(isequal(nnz(a==rot90(a)),m));","published":true,"deleted":false,"likes_count":9,"comments_count":9,"created_by":7,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":85,"test_suite_updated_at":"2012-07-03T15:06:05.000Z","rescore_all_solutions":false,"group_id":18,"created_at":"2012-06-28T15:15:32.000Z","updated_at":"2025-12-16T03:15:00.000Z","published_at":"2012-06-29T19:04:07.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGiven n and m, construct an n-by-n matrix a such that a, when rotated 90 degrees and compared with itself, matches itself in exactly m places.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe number of matches m is calculated as follows:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ m = nnz(rot90(a)==a)]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYour answer a is clearly not unique. It must only meet the criteria stated above.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eExamples:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ Input n = 2, m = 1\\n One possible output: a = [ 1 2 \\n                            1 3 ]\\n\\n Input n = 3, m = 7\\n One possible output: a = [ 0 1 1\\n                            1 1 1\\n                            1 1 1 ]]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":56573,"title":"IQpuzzler Challenge #2: Find all possible solutions on an empty 4-by-5 board with 5 pieces, rotating and flipping pieces allowed","description":"We are playing a simplified version of IQpuzzler, with a smaller board of 4-by-5 spaces and just 5 pieces, as shown in the picture:\r\n\r\nYou are provided a cell array with one cell per piece. Each cell contains an N-by-M matrix with zeros and one unique value (the piece number) representing the positions of the 3 to 5 elements that define each piece. In our case, the pieces are provided as\r\npieces={ [1 1;\r\n          1 0],...\r\n         [0 2;\r\n          0 2;\r\n          2 2],...\r\n         [3 3 3;\r\n          0 3 0],...\r\n         [4 4 0;\r\n          0 4 4],...\r\n         [5 5 5;\r\n          5 5 0] };\r\nPlease note that the orientation of each piece in your solutions might be different from the one provided as input. For example, the red piece (number 4) was flipped from left to right before being placed on the board. The pieces can be rotated in steps of 90 degrees, flipped vertically or horizontally.\r\nYour solution set needs to be provided as a 3-D array with 4 rows, 5 columns and N layers, where N is the number of possible arrangements of the given pieces. The order of your solution set along the 3rd dimension does not matter, as long as it provides all valid solutions without repetitions and without symmetric solutions (180° rotations or flippings of other solutions).\r\nFor example, the solution above would be represented as\r\n[5 5 5 2 2;\r\n 5 5 4 4 2;\r\n 1 4 4 3 2;\r\n 1 1 3 3 3]\r\nPlease provide your entire search algorithm, not just hard coded solutions.\r\nHint: Maybe you can reuse some functions from the preparation phase. You can find a C++ implementation for the entire puzzle on https://github.com/deverw/IQpuzzler","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 973.417px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 486.708px; transform-origin: 407px 486.708px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 376.4px 7.91667px; transform-origin: 376.4px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWe are playing a simplified version of IQpuzzler, with a smaller board of 4-by-5 spaces and just 5 pieces, as shown in the picture:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 245.917px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 122.958px; text-align: left; transform-origin: 384px 122.958px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cimg class=\"imageNode\" style=\"vertical-align: baseline;width: 320px;height: 240px\" src=\"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCADwAUADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD86H17Ux0eTFQ/21qTZyXNdXceG78TeWs1kAMjIfrj8OnFK3hKdVjZtSsRu7KSSDXkKpDsdvJK5yn27UJMEswxS/bL05G9sHrXTv4VlbhtWsx6YDVG3hcxtj+1LduP4UaqVSPYlwZzkd5cqw3ZNaNtqjwqCV9sCu08L/BnWfGlyLfS3W4HedY2C165ov7EupSQq2p60sfcrCnSuujGVX4EeHj8dhMEv9oqWPnRvEzRqRjaPpVGbxQhzk4r6lvv2KbVIz5WtSlsd0GK8r8a/si+JNFjaaxnj1BF52qMN+Vel9WrRV+U+ep59ldaXJGr+h5P/wAJIjcVXbxD6dKr6p4Tv9FvHt7uNreRcgrIpFUv7PYcF/0rmatoz6OnGnNc0HdM0013nO3NTr4ixgbcfSsqPT2x9/8ASvSfhj+z74j+KEy/2fCyWmcNdSJ8g9qSV9ETVdOlHmqOyOTHiI9wR+FMbxMFHI/Svrrw/wDsF6fDbo2r65cTyY5W3UKo9qu6x+xB4XktRHb3t5E69HJBP0rtp4eo1oj5KtxDlVKXK6m3kfGL+Jkbgj9Krv4gHOFr2/x7+xrr3h+N59IvBqcS8+Xja/5V4TqPhu60e6e2vI5bedDhkdMGs6lKdP4ke3gsbgccr4eakO/t05zipo/EJ4G2swaf/tt+VSx2K8BmYj2Arn0PZ9nE2E8SM3G2nN4k2jG0/lXqfwp/ZV8QfEyGK7QS6ZprD/X3Cgbh/sivonw9+wT4Us4UOqXt5qEuOTuCL+Qrop05y22Pmsfm2XYB2rT17LU+H28Shv4SPwqvJryNnivu7Wv2HfAtxCy2wvLR8feSXOPzFeGfEj9inWPDsMt3oN5/asKc+Sy7ZB/jXS8LVSuebheJMoxE1Dn5X5nzvLqxbgLVZr9z2AqzfeHLnTbmS3uUkgmjOGjkXBGO1V/7NP8AfOPpXG9HZn3FPlcVKDugXUJFOOSaT7ZI3UdKnh01N2HkZfQhauL4fDAFZix9AvNdWHpVcTNU6MbvyNXJRV2zMN83emG+OfatpfDI6vJgVFN4fj/hc19tR4NzmrDm9n+Jy/W6V7JmWLo/hThfFTkDmnzaNJH0aoPsL9nH5V8zmGV4zLZcuKp8p0QqRn8LLI1R/Tij+0GJzUAsZOm7P4VZj03dCf3mH4wMcV5ClY2GfbmUjHH4U37YG+9kn2qxFo0sjDBDCrZ8NswDMwX2FfS4HIszzBc1Ck2jmnWp092Za3jLypKn1pPtXHNaMmgYHD1Uk0uWMfeGBXRjeFc2wkOepR08tRQxFOWiZEtx3yPzp63Dd6QWzlvvj8qkWxZujKK+NlFxdpaHUC3B7NirMUm4ffApn9mNt++u70o+xtxjaOMdetZgeoQ6ZNNO8TSwwOoyRLIFFa3/AAr/AFi5thPaG1vlYbttvOjNwPSvH7S6kndhJIzsepY5zWmbfUIGjuYZJLZ8ZV4yVFeROjOOzR2xqRe6OpvrG80sobmEw7uitjIwa7z4K/C67+KHiNYhuj0+Ehp5Mf8Ajoryu38TXtwyWurbrkrwsx++D7nuPrX6Gfs0+CYPC/w/spQgE92POdscnPStacf5zws4x31HDSqQ36HoHhDwHp3hXS4bOwtkhiQAZUAE+9dXHoUMluWKs7Y6KKjWRYl9farH/CSS28JRUTHavbw84ppN2R+BYqdTESdSq7tnIapp7W7ENGyemRiubvoVOQQMV2uveIJNTRFkRE2jGVFcVqTjmvbjWgnaLufP1aD3R5T8UPhRpHjixkSeFY7kDMcyABgf8K+MfGPg+88F61Lp96mNpyrgfeHrX6BTt5jFc1xHj74IxfE63jVSsV3H9yXGfwrGvRjWV47n1GQcQVcsqqlXd6b/AAPn79nT4In4t+IDLdRlNGs2XzWAxv8A9mv0R8N+E7Dw7pkFlYW0dtbRKFVI1AA4rlPgz8M7X4Y+D7bSrcK0q/NLIFxvY969FjmEfJGfavF5lTlyntZ1mkswqctN/u0WG0VWtz5atI+O3QVzeqabLbYEkZTIyK6FvEFxDHsQqB/u1i6xrE9+wMrg7RgYGK9OlWpxhdy1PiqtDm6HH6lbjnNeK/GL4M6b48095EjS31FRlJ1XH4Gvb9SkGCa5q4w7FSeK7lUjUjyyOSjOtgKqrUXZo/Ovxd4PvPB2sTabfKvmx87lOQw9a9w/ZV/Z/X4gamNf1mDOj2z/ALmFhxM4/oK9i8Wfs52HxL1iC8Nw1rIvEhRQd6+le/8AgHwfZeC/D9ppVlGEgt12gAdfevHrUVRfN0P1L/WtYjAcsH+9ej8je0nRYNPto4IYlijQbVVRgD0FbLaSWixGrO3rjiq0Mmzk81Y/tyeFSEIC9MYrOlWXNq9D4CpTdRuUtWZWoaXJb/6xCoxXN6haqc8V0+papPeACV8gcAVz943Br1Y4iKl7rPJq4VvY+Z/2i/gjaeLdNm1XT4Fi1aAFiUH+sAHQ+9fFk9qbeV4nQo6HaykdK/TzXgPLcEZGK+JPjH4Tg0nxldvDGqx3H7wKBxk1pWw31i06e5+i8I5xVpSeCru8eh5DbWZmkUY5PSuo0vw81w0USlVaQ7QTSxaMIl8xDmReSAOK1tCvI7WZZp+dpyqr1+lfunDeV0MswqlFXm92fc1sX9YlZbHTSfA/UJrWNrFWvLjP7wBflH0rnvFnwl13wrAk1/YtFEwyGHSvSLP48atptq0NjawRLjG5hk9K5rxp8XfEHjKwjs9QuI2gXoqoAR7Zr6+jisTfXY8ic66q2ivdPG7i1dXwVOfpVCRBHJyP/rV1txtboPxrE1CwaSQGNdxPZanNMPh80w7oYiO57mHrNMzvLXjAq1Z2pllCqOT6dqv6db/bLXyY7YtOOGbFXNPU29w5CYI6jFflGRcIKljJVMYrxjsu53YjG6csC7pHhm4vLiK3gizJJ0rpW+Fer+YEitHumx1QZANWfCOoJZ38V9cSbAmCFA5PtXq1r8e10ezMVnpUTtn78hx+Nfr31idC0KMdD53EynGPNDVnhfiD4f6t4fTN/ZPb5/vCuPuLJtxXbXs3xE+KupeOtq3qRRhegjXFebzKGbIr0KeJlOH71Cw1Wra80cqVRVEbxjOeG7/Sk8lV7Vp6zZhY/MHBrDutY8tfKVFOeCTwRX4Fxzk9GhOONw6snuvM+swVbnXKy8JIdo3FRSq1uxwCprntpXZIfmDc1PGrM2VH5V+Q2PULNhbsqRtjAc4Df4V9LfA34W6Z8WNDuLCExLqWn2s19O0zbcouMKvPJwDxXgui6OlwVRm2FT/FwAPXpXceHdWuvCskjaZPLExG0SISpII6fSuLF4epVpvk3N6FWFOXvEtxpOiN44s4dUuDp2lrdhJJIo97pHkDGO9fop4Q+x2uh2cVg5ksljURMwwSvY4/Kvy38V30kl0sjOHlY7iwPOc19+/s+eMk8RfDbSJw+XSIRuM8ggdP0rzJQqUKcZSZ87xFFV8PaK6ntSybuAMn2qjeOY8huDVnw54gi0jWLW7lhW4jibcY26H2qr4w16LWNYuruGJYElbcI14A9qiGOtNR6H5m8vTpud9exh31wFyc1zWpXI+atDUbz5cdhXM6jdBgea9aljF3PNngirJd7WNd/wDDu6EkcqrGsjYyTjJFeR3V4Y3Jzjmt3wP4wfTLySNJ/L8wbSM4yPSvQljpQg5I8f6jGVVKR7fbzk54x7CpUZppAiAk9AAM1z2mav5i70fqMcVs6F4gbRNUgvAiyeU27awyDXzMsc3eXU9+GDjdR6C3yvbsUkRkcfwsMEViXlwFzWv4s8TNr2qTXrAI0hztXgCuPv7zc2Sa2w+Ocopz0NMRgYxm1B3RW1K6GDzXM3F4Q5wfwq1qd7gEZ7Vxupat5UhwcGvXpY5dDz6mX8y2PZvhrcS3hkjhi819pJAXJAHeusjkPmEdPYV4R8O/GjWeovGs5jdhj5WwSPSvXNO1LzsOrc+tedjczk5qD2KoZXGnT5kdJCxkYKoJPQAUX1vNZyFJo2jfGdrDBqnY6o+n3Uc6H50O4GrfibxVP4ivPtNwR5m0L8oA6DpXn/XpKaS2O+OBhKnJyevQyrm4Hasq7m4OeKdcXQrF1G+CqeeK9WnjY9zg+oyk9jC8SXpWNsHt2r5P+O18smq2zg88ivffHPiAW8L4fHFfIXxZ8TfbdcijDfc96+vyzHLmjc9PLsrlHEqaRWtLiWZ/LiyWYY2r3qzouk3Go33kRqzSHgKBz1rndL1J7e4jkjkKOpzuHGK9A+GXj2Lwb4stdXuoluFt5hIVZQQxHSv2+jmfJSvDV2PusPhIqdpFbxF4fvfDMgS+geA4yQykEfhXL311Fx5cu/1GMYr239o39oWy+MF8l5Dp0FjiIRlY0Azivn+KVG3HGR19K6cszariKPPiIcj7HZjMLCnO1J3Q97zaBkHFZ818/nKYC2/ou3rUlxdKAcdKxpNQeCVZIztdGyGHauuvmcYrcxp0T0j4Z6pcSa00UNmk07RMpQJknjrisy6nlbVriKOPa7SMCijnr0xVP4a/EK98G+KE121kUXsWfmYAg5BBGPxqVPEVxceIn1VSqXUkxlyF4GTzx+Nedhc65qvL0saTwkUuY6Xw7pV3qtwtvFG0krcKijn6Vc1bT5tJuXtrz/RZk6rIMH6VvfB/x+ngz4gaZrNxbQ3K28okZJANreta37UPxP0X4n+MBqmk2Menhx80cYwD710POqixdOioXjJavsbfU4OjKV9UeRXF0GY4YH6VWa8C4z0qLevc4qC8nQRnB+lfSSx0Etzy402JfXCyxtg8VzmqWf2GYhwC5XO30rVjY3DJAgy7mqP2drq+dHJODivyvi7MI1cP7Jdz2cFT5ZDNNs/PXLKPYV0miaDFeXaxuCM8DaKk03wrdXKztZo88Nv80pX+Bcjk102i6f8AZ3SRUPynPWvxiV2tD21ZPU9E+E3wl8P+L1kkvdaWyVUzuCjr6YrR8dfDHQfB+lr5+tw+egZh5ZBMi/wivnjQNY1WC4hsop5IhuwEZioH+Fdzc6Lc65Ky6lfCadFARYGDs/HTPQV9XB0JUORQ94+XqKtGsp8/unDeJLqC8vClqmYUOA+OW969z/ZY+IUvhu6l029fZp90/wC5LdFavJ7vw1HDIsIPlpnLDIJ+hNblvClusQhygQfKF4x718visOpRdOR7GmIp8r2Pv+HUBJGGByMZBFRzTM3Tmvnr4WfHSGyEWleIZNsY+WO69PY19B6XJHrCx/YGFykx/dspBBzX53Ww9XDVOSR8njMLLD620Mm+ZjmufvOc7uBXS6xG9g0iSLhkODXDa5r0NspDNivSwtNy1Pl69ZR0aMPXr4RZAIBryb4lfESXwjY+bbSBbxuI/ar/AI++JmnaJHI0kyvKPuxqea+ZvFfiq68Xak88xwvREHYV9NGn7vKzXKssnjKyqzj7i/E+xP2X/j/L4zjl0jWZlGqRHcjDjzF/xr6aW8E0QIPNflX4T1ybwvfQXtnuhu4mDLIp5+lfZ/wf/aO07xVDBY6lKtnqWNuG4V/cV8/j8HKMuektD6fMMu5P3lFadj3yZnKmsW8Zua6HT7OTV1AhAOV3ZzgYxXP6zutN25SK8mnCTdj5z2nKtUcvq0+xXz6V5d4o1r7NISGArpfGXjG00+OTzJAm0ZJPGK+WviZ8XFv5JrXTn3Z+VpR0H0r3cNh5X1O7D05Yp8sEN8afGbVtN8Rf8SW58owHlgMgn0+lfX37PHxeHxD8Jwy3DLHqcI2Txjjn1+lfndZrum82Ubz1PvXo3w7+I134F1yHULJvLYYDxn7jr6V04zBKrStFe8fYf2bS9j7NLU/ThboPEDmoJrglTzgV5R8N/jdovjSxi8u4WC6xhreQgEfT2rvJdViZNwdcfUV8FWlVoy5ZHirA8jtJE91c4HWua1rUBDCxJ/CjVvElraxktKo49RXjXxI+L2naPbSlrpA2OFDDNdOGdWpJJHXDBQ3sc78XfGkdnDL+8AwOa+VtYvJtbv3uASSzZH9K1vGnji58ZagxG5bbPC+tULVxbqB5YxX6LhITo01fc9bDYWNN8zQRSvHtB4NasOryi1MBI8otvK4GelZV1JHJynB7io4bkI2Ca+5wGac0FCb1OuVHlldG9Or3FsZwhMSnaW9OKyZnZc44FL/aG1cA8enaqc14D3x7V7azGS6g6EWEhwu4tx0/yKzZmM0myMbvTFOmmMzYB4qezjWE7sZauDF5ry09HqTGjZ6EemwzxzlXXaG6ZrYt5zGw7EVWu50ePJGw+o9ahS8Lbc9v4vWvDwGZSjU/eG1SmraHUw61IRGrEbUGBjAxUN9JLtDurAOPlbsax7dmkb5RXTXHg/WI9Ft7+S3kFnLxGxBwfXFfe0cU7KSZxOLd0YDXLswGcVXmlkJ2j5j6CluLaeNgpGOeO1Vgr+aVzjBxxTxmPlRhdyM4U+Yms7eW4csh5UcEVNGps5A+7ccc47Vp6dJHbwhdmPU+tNuLXzGaSNVLY+6a/N8bi5Yqd3sd8IKK0Oi8J65DHeRuQu/K5WUZQ/UV9ReF/hL4JvNEtb+48UwgyjMsagDyzjpXyl4Z8Lf2zkm5S0Ze8mcfnWhcafqljbyi1u0njUlSI5M/jW2CVOm+epHmR52MdSouWnPlZq33iIaow+2WFpdSKP8AXeSA35jrUCXAfJWFYR0+XPFcRZ/EbWYmJtBbxZOcCEH+dblv8aNU2+Xqml2GoREbSWt/Lf8ABlxg14csVXjsj1lhaJemmEch3n6Yq7ZziYDoBjg1T+3aV4mAfTWe2lAy9rMRkfQ9xXpPwP8AhTcfEPXkgk3LpluQZ5AMZ5+7SjV9oZ13HCwc5fCjK8I/DXW/Hlx5em2rGPOGmZSEFfZfwt8E3HgPwnZ6bNKbmaIZMnpnsK7Hwz4PsdBsorOygS3t41wAoA/Guph0m0+zliJJWx91RxXTHD0qludXPxrOuIq+MvSw+kfxPPdatxfIUZFHuBzXlvjD4fy30MhgfD4OPrXsmqRvC53RFB1AIxWBdYfKmvXjhaHLblPzmeMxKldyPzb+K3w18R+FdZnl1KGSWB3JWdeVI/pXEWsHTjmv0u8VeGbLXrGa2u4EnhcYKsB6V8R/Fr4WyeAPEB8kFtOnO6JsdPavPrYX2fwbH7Fw7xNDHJYauuWa28zz+K1JxxXtXwd/Zx8R+OL62vxnTtNVlcTsCC3I+6K6X9lr4Gr4+1Ua3qsO/SLR8JGw4lcf0Ffeek6Hb2NvHFEiwxoMKqrgD2rBU4vSR2Z5xB9R/c4dXm/wMfR9Nk0fT4LdTuMaBdzd8DrVHWLV9QUiVVxjHyrXe/2VF9mJQNI+Ow4Fc7qFpJGcOhX6iu/D4ejFaQPxjFYnFylzykfOXxf+C0vizR7mKxm8mdl+XPA+lfD/AIs+Hur+B9Ve11W1eBwflZh8rfQ1+p9zGpJDAV538TvhvpnjjRZrW8gVyR8kmBuQ+1bVMFTavDRn0PD/ABNXy+fsqy5oP7z85YLXcOOKsC2K9K6nxX4NufBXiC4024HKMdj4wGXtVzwt4X/ta5EjrmIHgetePUgqUXKR/QeX3zSUI4bXm2IPA/h3V9Vvo1s3e1XOfMyRj3r3/SIdY0mx8ubX7u7wOdxGKreEfDaxbRGFiAGM16Xa/D8XOkOYDJcXjD5Qo4r4/FNYmdoo/a8NwfhcPSUsW7s8a8S2Nxq0bq2o3qE91kx+leKeK/h7dQTmYXkl4PSQkmvpfxN4G1/SIDJdWrJH/eC9K8z1G13M6y5z06V3Yek8O7WsdlThXLqtO9JfceHQ2LQSbHXaR6irssPyjjtXYa5o6NlgOR/EBXOyQn7uORwa+hotTR+T5xlVXK6lnrEwpoSeFGT0GK2dF8C6hqyhmUwRnu3Wuw8H+D1mZbmdNzH7q44HvXsPhvwqt0MAKoUdW4ArgxGJjRlZH1/DnCdTMoLE4n3YfmeO2fwfV4TJJJI6r17AVFdfCez28GRT9a+qh8LWbS1/s5Xu7luSqpxXL+JvhzrGkW4nvbCSCPoGK4FZ0sZXqR5lsfo8eG8mgvZ8qufLGo/D2bT8tCxkHuOawpLZ4mKsuCODkV9CXVmgZ43j3A9MV594q0KNpGeJdrAV0U6/tLcx8XnnCMKMHVwnToeazAstU9jbsD8q3bi0KnBHSoYbZV6Dmvr8nyOtnFdUqW3V9j8cq1vY3jLdBp8ckYHPPau+t/Hms2WhRWRl8yzX7kci5A+lY/hnw7Lq04RMAZxk16MPhNqE8McdtC1wAMnaOK/ofA8O5dltONKouZ+Z83icY7ttnkmo30t87M4XJ7AYqlFGAwHQ16P4v+Fup+GVEl1blEddwOMCuDksHBPHSuzMuG8tzahyW5X3Q8LjItXgyReBipUcqQQaaskbQKMbZRwfQiqd9fpZJk8nsBX8355klbJcQ6VTVdGe9RrKqvM34bwphlJU4x8pqxHfvHyvBrgP7cuJZMA7F9BUi6pcLj52/GvmVUlHRHTyRlqw0tCWDdFBHSux0/wzca5ZsA7eWpyq7e+K5qwhaNYsx4xn73pXt/wS8eWPge7upb/TIdSjktZIVjmXKhmBAf8ADPH0rz8TzqLcUdlHlbszzjwv8O9b1jxJZ6Zplu819cSeXCqcHd6Gv0T+AvgNvBHgm1t7qJU1CT5rjbg/NXwDrHiGVPEUE9pI9v8AvlO6NypA3DjjpX6U+DbhJPDunMgAQwIQB/uiuWnOompSPlOKJ8uE9nDqzqF2IuSM+1WB4ma0j2LAvpms7eZOFyT0AFULrcmQwI+terRxfs5Jo/FpYVyWwzxFrbaoy7o1QKMDbXHahJtyc1q38+3Nc1qVzgE160cU5u8jzamDK8lxu4PTpVPUPhhpnxAsTa6hbCeHOR2K1TkvDu2g16D8Pb1p7aVVI+UZbpWzrwim5HDHC1o1YulozW8A+D9P8D+H7fTNOgENvAMKv9c+tdSsgXkjPsKo27dR1qcNuwAMnoMV8/LEqUro96VKpN81R3ZpJ4gktYiixL+NY2tay+oAb0VNox8oout8bbXBB9DxWTdTY4FejRxr5eVPQ46uGd9TLvhnkVgX0xAYGtm/m2qe1chq15s3c16EMQranPDBc01ZHz9+0r4aS8Wx1CBB5yyCNsehOBUHhrw3BpekRBYwZFXLflW98WNUjmtYkcjHmrgfjWVZ3jvGyIeCMYHpXzObVrxSR/X/AISYBtynP7O3zNPR7iOObc74Un7teveGfixb6HZiI2CuVGA1eF2Mck02xFJYnjFa8i3WmtsnRox12sMV81h8SsPUUluf1HjcDTxVP2c9j0f4gfG7+3rE2senxRDGCSM14VrEMVw7SoAGPJX0rV1S9hNqxDZZjx7VzFxdMFNepXxlTFSUpnk4fLqOBpuNLQwtSsvMzhcn0FVPDvhF9dvJIYrcyuo3njoBUl/qEnmYQkHtius+E+uanHr8sFkgM7xFSAgJK4zW9Or7NXufPY3C0sVL2dSPMXtA0sW77GX5k7YrrtLuAkhMjbIc52qK56S8mk1CTcAkmcfKMVo2OZJ1jUFn6AV4FaopS5j9JwmGhRoRhFWVj2nwv8bk8NWpgh0xJI9oUNnB4HWqfj744XHizw82nGwhgT++OTXmd5DPpyhpomQYzhhjNY11qwkyFXaK9TDZnVhR9jB6HiV8jwdausS1eS8ynfBM8AZrkta037VMqRDLscBfWuhvLhiOAK5fVrx+ccMOhFKjJ86YY+K9m0eW+LIX0/UmhYbDnBHpSaXaecyHGcdqk8cecNSjE4IlPZutGms/yJECXYgAevtX9K8G1qVPD80d2fyRxLS9njZqJ2Phu6XT2DthV3ZCivZPDfx0/sW0+zw2Echx/rH+leN+G/Cuo61dSRQw7mhGWXv9Md6seINPvfC94bW9tJbeXHMcqlSP0r9FnVo1Z8spas+Iq4WVSm+ZaHdfEj4xXPjTS0sriKMFOFMa4xXkl8qbgF54p0l2S3Tmqs8jMMAV6FLlorlicVGhGirRM68gUDd3HpXKXys9w245HQV1M0xkV19qw9SjjM0flA52fNn1r8544jTrYNSe6Z9JgW1KxRg05pGBQ7j9Olatnoss7AY/CtWzt7aP/j3LsmB99QDnFdRoVqsEyTPGWwcgEda/nyaa1PoY2bNDwd8J9c8VRmWx02e5jXq0cZPatC+8B6vo8hWbTrmKTHRoyK3Pg7+0Tq/gmyGmLcpHaznbJKY8soxjit74ifHZ/FyrY2AuLyXbsUxrtzxXvSo4X2F7+8fP+3xPt7WXIeB+JoZbO6jD4V852+mPWv0N+AfjSHxP8NdFuI5AzpCsUi55DKMEfpXwLr3hG+sZjJqB23k3zCDOSgPrXtn7OPjYeALhdKu5T9iuiCWJ4RzXy+OpONN9zXG4f69RtHofdvhfxKmg6xBfNClwIzkxv0PFU/FniJda1CW4SJYFc52KMAVykGorJEGVgVYZBHemTXDOp2gnjJr5SNdOan1R8RKhOnB0WtCLUrzIAPRRXKandjBOa0tQnPNcpq0xVCScV6tPFS6HF9RizIv9WEMh5x6Grng/4jQaNfGKedY1bjLHArz7xRrHksRuxivnn4p+PJJpvsFnORg/vGRsfhXbedaFjow2V+0rJRP0x0DXotUtVmgkDo3RlORXTaLrX9k6hBdGJZfLbOxxwfY18F/si/GiXS8+H9au/wB1I+baSV849Vr7Ph1JZ4VKkEYyCK8OtKWHfJM6MVlcsPUudBrusnVr6a6KqhkbO1RgD2rnbu4AzSTXJ2npWReXXynms6WYQpLlTOOpl860udrcralejaecV5x4r1oW6Pzium1rUBGrEnt0rwr4l+LFto5MyBQOvNelRzB1JWid2Fyj3k2ea/GLxl5f2dVfJ85Tj2BrofDurfabeORHGHXOfwr5/wDE2tP4l1nKt+6Q4Uk8H3rvPBWsG3tktXlyyjA54rfGU3UpKR/RPAeLpZfifYz0Ul+J9GfCnWtM0fxdbXOrIslrEdzBunaun+OXxB0TxZrSXGjW6w2yps4XGfevDbXU/MjC9/Wp764Zo8feAHavkJ4fmqqbex/RVSjGpUjWvsMupg7t6Gsm8ugq4zSXV58uM1mzDzPmZgFr2aeljkxVRRjcxNUuNnzA4561c8A+KZNG1w3MUxSfBGQeTn/61c54u1dI1CR4G2uT0u6l+2i5MjLg8c4r1lRdSFj8rzDPIYSsmz6JtNUe4u/NJ+cnOa6rwvrsej63bXk8azLFIrFGGQ3I4rybw/riXUCOrDcOo9K6yHVmZVQ4K57CvnatPl90/YMux9LHYaNSm9Gez/GT4qad44uo59O0+OwiESoY1A6jvXkZuRySajuDJIvmBGKDgkDgVk3Mr+hFThqSoqyNIRhh4ezhsXbq7XaRXGa5qAUSfNWjeTsq53Ff8K4fxRrCKvlxnk9TXvYem5O58pm+OhQpSk2cvrupPqGqozuXK9yc9K0LCc+YhVtrDHTqKyJoYlPmry9TWlwUZTn6V+pcPZj9X/dn8v5vN4qvKqes+BfGl34N17T9VMZmMc6ynf0fBHHvXs37Q/xl8PfHRI9Xj0+PR9ThgCSLkfOQO1fLkWsyNGkbOSi8gHoPpViX7ZcWYn2loSdoYGvupSpYitTxEnaUNjyaVaUYOnbRjmuFDE5qKWYeXkVmyM0chD8EdailutqkZFfTTziMY7nmfV+Zjri5CHr1PanzNaNqweEMbfAA3denes+AGeYE8qKtSW5DAgfL/KvzDiHOHi/3MWepQoezakdfosMZmGUWRf7p4Br2Dw/8I/EeqadBdQaZcPbyf6tgpxXhmnajfQ6eojtQ8KPkzKhz/u5r2vwf+1P4h8M+H4tLWVVghxsDDJHHSvk8HRpSn+/2JxlStGH7jc88vPAegNceZZ3t5aqDzDMgYfTINdxovjKy8L2K2+m6PZidFx9oZCW+tcXH4+8LRziKS6uJE6kww5/KugtdY8Da5+70/wARG2uHAxHqMBjBb03DIFeIs0qUndR/A9SWXQqqzkc7qt3c+INSaZzukY5PGKsQq0aBeSV4z6Vp6l4futGuFaVF2SLujkiYMjj1BHaq6gt8wTn1FclTEPEPmbOqGHjQjyxWh6j8OPjtc+F4U0/V42vbADCyf8tI/wD61e26R8TPD2vW6ta6lGSRyjMFYe2K+b/C/wAL7/xFia5Vra2OOWGCfpXpWk/CPRNLUN9nM0mOWdjXp4HhnFY1+1pwsvM/P8/zTK8PeFSfv+R6HqXiTTolLNdRAepYV5j42+Kmg6XC5kvoc4+6GBNW9U8D6TdLse1G3GMZNedeKvgHouqo7RCS3k9VYkV9E+EcZTjdJM+Dw2e5fOpy1JNL0PIPiB8YX1eaSHTMojZBlPp7CvM1je4kLuSzHk9zXd+NPg3qvhPfPEPtdqOSyjkfUVxls3zEHg14VbB1cLLkqRsfrOWzwlSkp4WXMixatJbSI8bMjpghlOCPQ19HfCP9qy88Oww6d4iDXVsvyrcryyj3r54Vegre0Pwbd6zInymOMkckf0ry8Th6daFqh7VPCSx0vZ048zPv3QfjB4b8TWiy2eqQNkZwzAEe1JrHjzSLSMs9/bgY/vivljQ/hvZaLbjJeWUjJO4gVW1jwrZXKlWRwP8AfNfFSy+n7S0JaH0FPhDF8t2rHo3xD+PGhadHIsV6k8mMbYzmvmLxp8QL3xhcuF3RWx6Lnk/WtTXPh7bRszQMwPoa5C90efTWG9cp/er6bBYSjRV1qzjr5FicEuacdCK1twvbFXIppLWQSQuVZTkYqK3ORUwUswULk9MAV7fJdanmxnKEk46M7jwv4y+1SR20/wAsx4B9a9H0rS7zVQ4ijd1Vdx2gkV5d4R8F3DX0N3ONiqdyr7+9e1+GvEV/4fkL26rjGGUjg+1fMYzDrm/dn9D8K47H4jCP6zHRbM4nU91uxUoQR7VxHiHxF9hVlzhq9d8beJ38Sbf+Jfb2m0YPlJ1968f8SeFXvMuDhu1bUcOk1dnTnGIxfsJOlDU4e6vpNQlLSH5ewpq8CpbjT5rGXy5UKnoD2P0o8o44r6GEUlZH88YupWlVbr/EWNN1y60e4WSJzt7qehFek+GviFYXGPPPlSdMN0zXmtjo91q10ltaRNPM5wFUf5xXr3hP9m25vY0k1S4Me4ZMUfb2zUPLXjH7sdTow3GX+rUb1Klo9mb8Xi20khKifMZ7BuDWbf8AimyjyS6gema7nT/2d9EtYQNszY4J3mo9Q/Z50O4U8SqfXea0hwzid9DoqeNeVNWs7niHiXxpbyDbbtuPTiuHnuHvJC7nmvavFH7Oj2sbyaZOzlRnZJXkOpaLd6LdPb3UJikU4wRXR/ZtTB6TR5M+M6fEStSqadjKkyMdhTYrhkPPSrMkJcGqX2SSd9qcDoT6VdKjVdRKitTn5lb3jWs5zP8Ad5xxXYQeG9T/AOEZOpiKX7KZvKXAO3dj+eK5DTbJ7TgHvkmvRPDfxC1bw7pghi8uW235Eci7l3Y64r9fy7IMzq0IyqRszyqlanB6HA3SzRM25WHqCOlWdHj024tL6TUJpEnWP/Ro414ds9/QVpeINa/ta9e42BWk5YbQBmsRog0m5Fx/s1rnHD2ZUsO50VcKFZP4lYdEMYxxj0qeOcjg81AMjincLkkjFfjtSM4ytUVmeimraHY+GfGs3h1HSOCGWNxgq6gg1T1K+sNSkEnkC1PcQjg/hXJnWoIW2g78elKNeTcMxtil7ZxXKR7GMnzFG1tYWcAFs4Gcjv3FWZNHeM5QlvTiixh2xpI3IY8YI7V7P8EvhzD8RNaaze8trIRwvO8t24RAFGcV49eoqUeZno048zscH4J8VX+g3C21yGu9NbiS2kJIA9V9DX0b8M/h/DqsiahMhksc7od38foTXlq2dn4W8d2FvBYW2qz+f5QjnyYn3diPbNfXmg6cLLTIIvLSMqgBVFwBxXqZBgo5hi1Nr3FqfN8T5lLLMC1B+/LReQ6209MhcBEAxjGPwroLPR7X7Pk27ytjjH0rPVlh525+tXI/FU9lGQkanjAr9zjaMVGGiR/Nk26knOpq2cZrFnLbzEtE0QJyARisKaQZIau18TeJH1pYw8KR7FwNorg9Q+VmrvhPTU4HR97QzNWs4riNlZQynjB5FfMvxZ8CJoOoHULJNtvI3zoBwpr6WmlLAivPviFYrqtlJasP9aNo+vavnM5wtPE0Xdan3PDmJrYPERcX7r0Z4/4B8KPrki3UkZNupwCRwa908M+HIPtCxuViVRk9KPDPh1NF8KRxRKoFuihjxy3c1c0qaGG4Es+ZP9kccV/PuY1JKpyXP9COEcmpYbAqs178j0rRPAul32lyTlZ7mXBCqinGcV5N4r0TUNNkPnWMlvGc7WZCMivcfBvxwsPDNo0DaWWTGFKnmsX4rfGLTvGeixWlvpv2eRT99sVthsHQlQdWdT3uxtWrY2jjPZKg3B9ex83agFkUqV2kd65jVLOOSFlKgg122qQIZCVrmriyeeR1QZwDn6VlTl0R2YmlCUeWSPNrzT2sbjaASjHjHau28A+FTdTfaZ4+/wAisP6V0fg3wZceIL2TyogzRKX5A4rudF0J7WYpt5Xk7sCuqtiHCjpufG5dwrTrZj7WT9xa2L/hvwul1MkZKxr1LHsK9Ps/hRYXWhyT25kubor8ixpxn0rg9LmjhuA8pO3ptXivZfBPxttPDNmLd9O3QqMKVIz9a8agvb1VGcuVH6nmEa2Fof7LG7XRHhHibwTqGl/Nc2T2w6AspAriLqzj+dWGG+lfTXxX+M1l4u0NLGDTRA2f9aeoFfP2pQoxOO9eriYUsPNRoz5keVg6+IxdFyxNLkfY8x8SaPHdIygZI6HHeuEa3eOYxEfPnAAr2ddONxeMqqDtGcGuVn0JJfGdiQoCM3zDtkdK7sHJyaR+R8ZYelCDrxWsT1f4L/DuHSdNjvJ4w13MNxYjp7Cvb9O03zGCKABWH4YtVt7GFVAGFrp7R9jZLYHoK/Q8LGNKCUT+CM/zKrjsXOU3oa0/hxYtPEqP5khwdqjisK60+WHBeFkHuK6/TPFkenRhRbB+MDNQeIvF6atYrb/ZUjK/xjrXrU0uW8mfPe7umcDdWytkEV5X8Ufh/b+ILGSRE23KDKOB19q9fudp+tc5qsYlynrxWNSMaseSR7WWYyrha0atN2aPiTUreSxvHtXXa6naasW8O2MADArtPi1oKWHiQzqABL1A9axrCx+1bUTGcd+K+k4Sy2lSqyr1VdrY/o2ljliMNTrd0P8AD3h+XW7wRKVjA6s3AFd7q3wpu7SzgFiGvmblkRSccda5rQZEs7jfM5RM8hOtez+Gfj5b+HLVoYNIE7bFRZHIzwO9frNavVi17LY4a9WXK5RWp4nrngPVdJjEt5YTWqMMqzqQDXMmykjbPcV7f8Tvjde+P9PgspbCCzjhGAU+8a8qm2n8RXdRxE5w/exsRhsRVcf3isYmoSiVUbyxGyrg7eh9652/vGnYohwg44711V9t8tsYrlLiELIfc5r8R45ymnTSxtFW7n02CqX91lSOFvM6e9XI7ctWpZ2v2iJS/pkDFP8ALWFWC8fyr8WcWexojQ0fQ2kwu3cw74rrNMS40VC0b7D044r234G+Gfh7qGhzy63cSSX7nbFHGcMK1Pit4L8F6RaedYGZwq8L0Le9etLLU6HtZSR4v9o8tf2KTPDfCNwL/wCI2gtLJvJul3Bq+4YTujH0r8/rHWhY+L7G/s4CsNnOJMnnIB7/AIV95aLqSalpdreRHMc0auD9RXqZBOGHconyfFtOeIhCfY0Wi3rwM1m3kezIPGK9H+G+qeH9Jmnudcg+2J5bKsPo2ODXC+KL6LUtSmnghWCJjkRjoOK+2hjr1vZW+fQ/N5Zb+4VbmXp1OT1Biv0rmtQb5c102qOGVVC7SowSO9czqGFU7q9JYpWOD6rqc7POVY4PtXFeKr5Y7i3BI/1gz+ddDrFwYSzZwB0ryjxzrgt187dxEd1ePmGKvTdj7fIcJH20XJbNHqcc7y2rgE7cZIHSlsLaSX7i7jWDoOsNqGkxTwtlZEBIX6dK9N+C/iTQdB8VWs+u232qzU5eI9DX865hUlGpKR/o1ldWH9nwnTV/dX5HKXatb8MCp9Olc3qV9JIxQ4CrxXpXxd17R9a8UXl1o1uLWyZyUjHQCvKdRuFkmJC4FcuFrupFSasdUZe1gptWKV2zbTzXN3E0n2gojYZjjjitq8uAVI6CuV1KQpufdgdjXs05dj5rHSUNWegfC6TUJtantLaQJIsbE5YAYFdXCLm6umxln6Haa8T8L+KYdH1EvLKULDAOa9X8I6vHeTBA/wAsnRgelc2JdTRdDoyPEUZSkk9To7OGR/uqcjjFT3Qlt/kYbD6EV1XhDxJpPhLULVb2EXipKHcMvXFJ8ZPG+leLPEI1DTLKOxgKAeSoHUd/rXhfWJwqqnyn1c8Q5VFBR0fU871O8kkABIIHHSsS8YleDirF1dbpCScDtWXeXQ2kA4xXs05dzlxCSizIluXjuCA2D0z0rIW/EPijTVYjLSAVJqExXfJngd+1cVNqm/xNpzK2RE4Jx9a9zCzcZJn4Vxk4zoTguqPs3QrjzIY1U84GK6K33vJsAy3TFebeE9aWa3hbd26ivR/CfiBNI1y0vZYluEjkVyknRsHoa+7o4q8OZH8AY/BOOJlCWmpdvLeaxUebG0ZIyNwrPkuCy84r0P4ufFLTPG8kMlrpsNkY02lVAyeK8mkvAD6Ct8FjJ16fNUjyvsc2YZfSwlbkoz513LFzNwea5nWbnarYNX7u/HY1yHiLVPLjfnoK7ZVktTbBYdymkeQfGKTddWwJ+bNcjYszMip95jgYqT4gas1/rCKGysZqlp7+bIq5xn0r6XIczjGUoXP3zBYaVLA04s3rOwuLjUktIo2luGfYEQZy3pVvxRpup+Fbxba7t5LOcAZWVNpH4EVc+H3iC58E+MdL1pYll+yzrKvmDIOCK7j9pb42r8Z/FS6iNPgsgsaoFiHXA71+gf2pV+sUqcIc0Xu+x6VPD05UpTlLVbI8f+0PM252JJ70jqCvWo/OVAKQ3G4fKK+iliopHDyu+hVkAyy5qitrFDqVubuBprdvmKKdpcegNPuZjuI/CkutSuLr7P5jbvJQIgwPujoK/MuMMfCWEdK+rPXwsZKSZes7N2yAgVegXOcCtweDJZoUZJFIcenSs3S9WihYO45r6o+D+s/C+48IRHWYi2qKfnUtwfwr8dwdBYifI3Y6sZiHh4c6VzxPw7pviz4e30V2uim52/cdQJU+vFXdU1bVfH2tRPr07adbfdYBcbV9AK9UtfBc6wloWMbYBCCTaMH+VSv8P/s8b3jW7y+WAWdhvA9vSvmnnWHvex6/9lVu55lc+G9ImuIrTS7aRbFOXmlGGlr3n4R68lxpa6MSFltx+6Vjjcv90V5pMotyIzEyoxKrwOOelSRiSzuIrmGRo50OVZTjHHFck82quqqtP3UayymlOg6NXW59B7wcjOD0xVW5xtzxmvP9F+Jn7gRamhMqnBuF6keprt1LXEatD86uMhh0PFff5bm31yNlufkmaZNPLp+8vd7mTqDKuea5XUptzFegro9UPk5DcHvXnHjDxVDpkL7fmbB4FfRwdSW7PnlGF7RWpznjDVEhRk3DvXgHjbWhqFx9mjO5AcsfU1a8Z/Ei51K4mhi/dKTgt39K423bzWyeprwswx8ZL2VM/QcnyudD99W08j034V+Lzpc0dhcNiLPybv5V61fGNwk8AwOp2mvmmMmPaynaw6Y4rv8Awd8TH0maOHUV8624BbqRXw2Iwiq7Lc/oHhrihYOCw2Iei2f6HpNzcM0XU1jXcxZe/wCVdTZ+KvDuqW5NtcRYYcg4BH4Vn6pqmjW4LG4ix+FcEctqRP0n/WHC1I3izjpmMjfNwK5nxRrESW4hXb8vTFafin4h6VBG8dqolfGBxxXll1qj6hMXfpngV2U8K4M+CzrPqUlywepI9wZZvMb5sH7vavRPh541+zXccE5WMA/Keg+lebooOMU9N0bBlOCOmO1dNSgpx5WfA4LNq2DxSxMGfVtxqyX8McoYE4BrOurwyDIyQBzgdK8c8J/EltLkSK/DSRDjcO1el2HxC0e7gdYrlFVxyrDFfP18LKMr2P3nLuKMHiqS97XsOurg9s1msftEhUnauOam1DxTpEKk/aEIA9RXC+IviJaKjR2XzuRjcOAKKdCcmGPz7DU6bbkTeNtdht7P7NCQD3xXncd88bbhj196hub6W/mLyNnPahVHHFfQ0aPLHU/Bs2zL69VbWx7R8L/iGkkaWdxJtmXgZ7/SvbbHxCXjQ7tw7CviyOVraQSxOVdTkFeor1r4X/Ee5vrtdOuBvkI4b1x61206jpux+N59kKrXxNFep9Ef20ZF3ENjpntVSbWBjG7iq2l2d5qFpP5at5Ma7mwuR/KsbUJjBkEEfUV3wxL2PzN4GO7RdutUMmdrcjk155498WRWFiy7v3rA4rP8aePF0UGGNSZWryPUtWuNYuGknYtnoKmeIk9D7XJshdRxrTVo/mVbu/a4naRxkk5Bq7p998wYNgj9Ky5E4NVGla3kyDg1OGxE8LU50z9UdKMoKCO9ju55IwyksOwp01vctaid4G8tjtD9s46Vz2k+JjGBG8RYf3lFdBH4iiaIKwbb1CkHFfe4XPNLqR4lSFSi+W10Z0m/PINRtmNcl8ewrQl1e267CfbFY91ci5m3Iu0eldtfiPlhuOjGVSVuWxGAZHH90VY2qzAlcimR4qVTX5/jsdUx0+abPbhTUFodRpdl4cvtL2z3ElperyGIyregrPt7W6gm2WcuVzgFWwKxWmWP7xAoW+Tp5wHsGrkjUUehm6Tb3uU7jxRrmqTM8+o3UzP1zKf8a2/DvxE8VeF7hXsNYvLYA52GQlD26Hg1z9ou2TEY57V2Gg+HW8RyC3hIEoXOOuTjpXg1KdKMbOKsexCpNvRns/w++MWn/EJU0rxLFHpmtM/7jUIV2wynptkHY9Oa6nVdBl03UHguI3SWM4K55OfSvDvDng+z0vXrca7cyWWnF8SyRrukQeoFfUXgy907xtYJc2sVy1vauIIZ7s5kmjUDDN/n0rxoYCeKxMKWFV+b7kdVfHU8JhpV8S7KJm+H/CKvbtLc2zBm4VWORj1rsrK6udPhRIzhUGFGMDHtW1DarwvQelalro8FxAw8hm449a/oPJ8hwmW0VGUeaXVn8y55xJjc2rtwlywWyPONalm1DcDgVweteCYr8PvJyRXqWuae9rMw8po1zxuXFc7cAd+tfWRweHlHSJ8pDH4mM7uWp83+MvgWkzST2b7JuTz0NeOX+lXWh3z2t1GY5FOMEcV9sajbh1OBmvI/ip4BOu2LT20O67h5G0csPSvi82yClyurh1Z9j9RyHiaq5xo4p3i+vY8QsbeW+mjggQySudqKozn2r37wD+zibiCK71zJZwCLdTwPrWn+zj8HTa2417VbfFyxKwxSL90etfSNrYJuUN8o9q4cnySFRe2xS06I14j4nnh5fVsE9er/AMjyiL4N6LZwbIbFFGOcDmsu++EejzcNbjFe+y6PbSWbMFcvjjFcjqFi0LkGNk/3hivuKeX4GWns0fnT4gzWmv4z+88I1j4B6LdKQsWw/wCzXkfjj4J3nhxXubHM8C8smPmAr68mjAJrC1axW8hdWUEY9K4sZw/g60PdjZnrZdxZj6NROpPmXZnw3DlCVYYb0q7Z2MuoXEcEEZklkO1VUcmux+Lfg9fDutG5gXbbzHO0djXoHwF8BiS3Gs3MWXbiPcOi+or8oq4GdLEOgz9kqZ1Rp4D69fS349ip4R/Z/FxbrPqbFpWGfLXoPau1j+A+lLHgRkfSvXdN00OyRjCjpk9BXXx+FLP+zZJjc7pAONo4PtXuU8DhoRtONz8UxPFmZV6zlSnyryPmq4+AuktkYYfjXPap+z7Y7GMRIPavoi5tdpOVI/Csue3U5yK6Xl2GtpGxnT4qzNv3qrZ8b+LvhzfeFJd5Bkt8/eA6Vy+Mdq+wPFmgw6paSxOm7I9K+cta+HOrRau1vZ2ck0TNhWUZA+tfP4rBexleCuj9VyPiBY+nyYh2kvxMrwn4PvfGOpLa2keE/wCWkpHCj/GvofwR8DbDQJEnXc0+OZG6/StP4U+B4vDejww7B5x5kfHJavWbGxDFFHA6V3YTAQa5qqPieJOKqvtHh8LK0V+JF4blm8O2k9tEA8EwxIhHBrD8QaDb6k24QrHxggV6J/wjqmxMqfM3YCsG80+SHlkK17FPB4fVqCPzb+0sTonJ2Pn/AMa/BiLWmaVHKygcV4b4l8JXvhW8aG5Q7f4Xxwa+3Lm3DKcivOviF4Lg8RadLHsHmYO1sc5rixWW05R5qa1P0DIuKK9CcaVd3h+R8kSN07ntXp3w7+CEviJEvtU3RQtgpCOpqDwb8K9RufE269tWSzt2ySw4Y54r6f8ADumrb28cYQAKMYxXkYXBe0leotD7TiDiNYGio4WV5S/A47TPgjokMagWq4A9K1V+DOg7ebRT+FelabYrcSKrHavc1v33htIoY2tt0pIyQBmvo4YehHTlPxipn2YVZN+1Z4fdfBnQWU/6Go/CuF8WfAW2aF5NMJimUZCHofavoy+02W2/1kTJn+8MVkXEAPtWtTA0JK3KdOE4jzCjNS9o2fEOp6Tc6LeSW11E0UinGGGKyr6+8gYj+/8Ayr6Y+MPgSPWtNkvIEC3UQzlR1r5entHFwySHa4OCK+MxuFeFnZbH7/kOcQzfDqb0kt0Z0skk75Ziabg1otp4xlGz+FOj0/H3uOe44rzbdT6hWNLRrMSSDuuecfyr2PwT4gtfAfiXQ9b0IMLq1CySi6RWUSAnoPTGKi+G3wb1fxdCf7Ms/NEY3EkgVveJPhD4g8MYW6sHRcE7lwQB+daywE6tPncfdOb69Tp1OS+pxvj/AMRTeNPEzTsqpcXk+WWNQq7iewFfX/gbQINC8M2FrDGEWOJQV98da+OfD9iT8QNGhmIVTcqME9Oa+5bJFW3VeOBjNe/wxhadCpKS6HxPGmKnUw8Ka2YIwjbpVu38SXGn5EaJ0xyKpMnXAqpcsVXpxX6nGaZ+JOm1sSeJfEkmsWkccsMaFehUVwGoYVvlroL9jgnpXMX7da7Kc1HRGHs23qUJCGzzWn4b0VdSlfO3gZwa56a4+brXWfD0Lc3VxmUIVTIHrVSrRWrOj2U2rRO00vTo7a12rhdpwFFXlCxnON1FrAfJJA4HU07yzjpXF7VPYxlRl13Llv4mksVKrDGRjjIrI8Sa2dW2kwpEVGMqOtE6kZ4rIusjOa3g43ujGcZWszBvQNzHpWTM3UVsXy4U1zV5NsYjNdbqaE06bueZ/GLQ01TTkAHzeYuPzr1TwJokenaHaW6KEWOMD07V5n8QtSSGG2Vz1mX+des+H3M9tEIxk7Og+lfnuOlT+tuXWx9NjqtaOVU6XRtm3Cqq3JwB6V1uh+JbLS0VJLcygd2/wrjY2LNjv0xU0hMfGMVhGolK58PHmg7o6PxZ4ksNWs0igsRBIp5euDvCO1WZpiScms68fiuidXn1OmmnKV2ZN4vmEj2pfDei/brpo1UFm5qjqNxsY81c8DTm68RQWnnLGZHC7t3A/GuZ1Ip+8e/GFT2T5Dq7DTPs8hjwABz6Vr27BXGeBVG8X7Lqs9uJFk8t9oZTkGrNtG0kojUEsTgKKhVoyd0fMYiE+a09zstJ8RWlnCqvHux61F4k8RWmp2KpHAquO+MVzl9ZT6e2yeNomxnDDmqbScYzxXbRrpRsjKTnH3JKxXulAX3rAu4w8m3IH1rauZPlrnNSm2secVLmduFi2y14a0cX175I2jdzknA6V0EFmILho+AB+Vcn4TuUbxJbWzzqiu4UvngAkc122rxW9v4guLWzuVuoVfas3QGuWeIp6ROvF0atufoWrRlRhu5Arq9P8YLYx7FtlOBgFq5Kzt2mm8tR5jZwNvOan1a1n03C3ETwE/wupBq4VoxktdTxowqxvKKLnivxc+tRxxGGOIIMZUcmuPmlFJdXW49aoyzjHWu91HLVnTCDlqynrCrNDIpAwR0r5K+JWjDS/Es+wbVY7hX1TqFztVj7V8//ABit4JdStpEkDO4+dcdK8HM4qdK5+ocHVJ0MXy9JHB2NvuiGFzwOcVJPaybGO3oPStfQbOJf3bHOenPFfQXgP9nPUvHXhy21GGCzt7WT5Vkd+W+or57D4d4h8kT9nxGIjh1zz2Mz4GeKtbjvI7W0mFtuXJLLjjNdb8XvGV9qUNxFPqSypGmHKMAxOOnFdNqHw4ubPfhbWVtuTK0ZjduemVxWGPgcl5dE3twIFb5isWS34bq8afEFCVPkhV906FktX2vPOn7x4L4P8H315rVpfKHe6M6mCDqz89fpX2pBHJBaW4fBLRqcr0PFeeL4P0/wvGU05PKlkXaJXbdI/OPwro/D/iJUtYbC6cbo+FYnjr0oyziOlDFxhBWgzjzzh6picE5PWcT1z4U3nhu11uUeJLT7TayRFU9Fb1rlfGFrbWupTJAV8rcSoHOF7Cqccg4ZT78VU1GQysTX6fTxClV9tGeltuh+PyoqnQdCUNb79Tm9Tb5iB0rmtQ+VSa6a+Kc81x+u3ixqcV6MswhFbnnRy+U3ojmdUvhbsTWbofxXsvCOtA3hYwyfKdgJI/CsPxRqz7tkQ3OeBiuY+wmOQNIA8zfMdw/QV8xmefqhC0XqfY5Tw5LFVE5r3T7P0XUkvtPhuImJilUMp6cEV3/w51LQNO1Zn8QWRvbJo2XCnlW7NXzJ8GfiNG0EeiX0gSSPiBmPUf3a9oSRWUMpyvtW+AzaGOocsnZnm5lk08sxd1G8d0WfEjWpvrg2fFvuPlg9dua5W7brWvd5bJ6Cse66HJr6ajiY04JXPmK2GdWbko2MTUCOa4PxFqC2hY54rsdYvI7VGyR0rxD4ieJlhV1DfvDwAtcuIzaFNbnbhMonWkkkcL8S/EUmoXkFvb8lG3H0GDXvfgXWDc6HZTbwS0Y+ZT7Yr5hmzLMZHO4sefb2ru/hn42/secadcSEQMcxs3RT3r80qZnKpiXU6H6PmPDiqZUqUV70dT6v8Capp1n4isZ9VjaaxWRTKi9SM11/xm1bwxf64t14agMFpIg+Q8HPfivFNN1qGSJX8znpVqfVlmIO/tXoc0a9WFVStbp0Px3knhKNTDTpp83XqvQvT3Qyay7y6HPPFVLnUlXuDWDqWtKinLYr1niVFHn4fCSk9EVfEGqLDn5q4Wz+JEOi62pdjgHHFUvGnihVRwjjPQV5dNK00jSMclua8HF41/ZZ+tZHkUcRD96tD7D8P+IV1JEuA4YSAMGBr0r4e+JLbQfFFhqF5AtzBE4LI4yPrXxv8L/iGdJZNOvHxBn9257e1e/ad4jikhRg2R65qKGM54OEz5PO8gnl+J9pTV47o+ivjh4y0rxpqNveaVYiCPbtMigDfXksk23k9qybfxUyx7FlIGMf59KqXOrL035FejgVHCUvZxd0fLZnKeYV/byjZ+SNC8u+vNcf4i1RbdWJbtUmoa0kasS4GK8p8e+NFgVgpySCABXXWxijE7cqyupXqqKRPZ/EaOz8VpCG74z2r17R9c+1sHZvvc5r43lnkkuDMSRJncCO1es/D34lA+Xa3rhJhwGbgGvmnjKntOZ7H6dmnDEJYVSpr3lufWPg/wASf2Fq1re+UsxhkWTa/IOD0rZ+MPxOf4gawNRkgjtAECCOPoAK8asfEwkUFXBGO1Q6v4kUJy2DXpUp0q1WFWW62PzJ0MRh4Tw0V7st/ka82pDd1qrLqQ9a46bxInd6z7rxMixlt4H419H9ZikFPLJvob+ua0sCsxbtXgXi7Uhq+tMQ3yqcZPSt3xd40MqtFE2SRjNcCZCzFm69a8LGYpT92J+pcO5Q8P8Avpo6JtLuLe180SKeAflYV0/hP4u6/odmthaalcQw5wIVY4rz2G+kh+VWOPTtV6x16fT7hZ7cRpKvRtoJFcNKt7KXNB2Z9vVo+1XLNXR6Tr37XvinUWdLG3tbOAkYDJvbj3NS+Hv2ufFVjdIb20tb2IcEBNp6eteGQ26nAxz6VoW2kyThXgBxnAxXybyzCxjy8h9D9drt35j7I8I/E/SfiplrOUWeqBcGznxuHTlT3rTvLGbTbhonYF1BHGPz/WvlT4f+HdavPF1jaackiapvBhwwX5hz19OK+tdTiW7tQZ761udYtUVL4Wp3IJCM5H4fyNfM4zDQwk17N6M9rD1nXi1JEdn42msowszBwox8owaTUvidplnCsl3crbK3AMhAzXMa5eW2l6fPPO/liOPLFl44r5O8a+MLrxRqEssrHyFbES5OFXtX0GV47FN8ilofMZnlGEq++42kfWmpfFDRJIy0eoROP9ls1w+s+Oor/cLYmTPQ9BXh/hyHNrGR0xXd6PGCir3FfQzxFVrVnh0cpoQep21r4O1m/wBAbWFt1uYAcH7PklR6kVztwW3bdjcf3h0r2T4K+LodIlOn3LqsUx+UN0z6VqfGb4Z2zW/9u6Unkrj9/DGOM/3hXxeKxEo4jlqn3OGw8I0V7LofPTM0EqyRF0mB45wQfavSvCfxwu9JjW31cNNGowJV6j6ivP5oSGLEc9Pm4rgPG3iFvO+wW7Bf+ejL/KvTwtSpGS9mzzcZhqOIjasj68034yaBrkZ+z6jExHBUnBHtTNQ8cWG35buM/RhXyT4YxbcDgMMV11nucgk9K+k+uV0rXPkv7Cw7d0e93/hvW/EegvqGmRx3ORmOLfhn+nFfMniq01Wz1qePVraW1uVJBilUgrX1v8B/FcMmm/2ZO4EkfKZ7iu3+Knwz0f4m6EYZraOPUIlzb3SjDA/3T7V8fis4r067p1fhPscFkmGp0lOl8R+fLRAjAOMjpUUkZTBHBHcVv+IfDtx4b1i60+8QpLC5Q8YxWRqEkdpbbyNzYwoHc16lKSlFOJlOPK7SNvQfiTeaLst7jNxHwBj7wr0XT/GSXyqUJDEfdbg15NoujjyxO3zzPyW9Paus0uzMbKcYr0oOUFoz5XHZJhMbLmasz0q30PxHrKq1npV1Mj/dYJwawviZ4K8V+CNDj1HU9Mnjt5h8siDcqezEdK+kvgT4pi1Dw/DZyH9/bjbtPUj1r128+y6tZvZXttFcWcieW8cigggjpXyuNz3EYer7Pl0PUwHBeC5faOWp+TFzcTX0xeVtxPQelRNHhemD+le8/tNfAeP4Z+Ihf6UhXQ7wlo16+U3Ur9K8REA2nPI9a9rDYiOLgqkT0p4X6m/ZJWsZ+3y/m6Y7+lei/DnXtZluYbZjm0Y7RJKTkfQVy+haOuoXHnSjMKnCr2PvXoujWot5kdRjae3au63VHDWw9LEx5Kquj26T4UeK47aKe3hjvInXcDG2DULfCnx3NGXGjSKmCQzMoBH517Z8F/GVvrvh2C3dlNxAoVlPXp1r1T+0hKojcDZjAx2r47E55jMLUdO2w6fBGWYhKom0fmH458YX2j6lc6bNbTW91E211mUrg/SvObu6m1CYyTOWJ/T2r7O/bE+G9lq93FqkKLFfrDuZ1ABdVPOfevjFoTDIVODg4r6DL8wePpc73F/YdDKZ8tNfMrtHjpW34N8H3fi/XLWwtWWASyBTcPnanNQaTpbatfJAvC9W9hXrnhe1XR7i2aBAgiIIxXpSvyux0JJuz2Pozwj+y/a6boiQXGt3d5dY+WYgBV46Vzfjb9mXxPBv/s68gulHTflW+le7/DTxpb69oNvKrL56rh1zkg4rsftgvNySYLY4bH6V+eVM1x2FrNXPZlw5lmMgpuFn5H5j+OtJ17wLdGHVIWj5wHXlc9xn1rhbnxBc3HAkIH1r7M+Pem2N14qvtMvY1e1u4Vfn+FsEZHp0r4u1vS20PWLmyYhvKfAYdx619pluaVMZD39zwMTkeHwcrwV0VjIZGyxyabJMsSZPbpTC3FVpFMrc89gK9omMUtI6Ijm1F2bC/KPami6lB4kOKf8AYZF6rtqaKyDKPlz9KWppoj//2Q==\" data-image-state=\"image-loaded\" width=\"320\" height=\"240\"\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 380.192px 7.91667px; transform-origin: 380.192px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eYou are provided a cell array with one cell per piece. Each cell contains an N-by-M matrix with zeros and one unique value (the piece number) representing the positions of the 3 to 5 elements that define each piece. In our case, the pieces are provided as\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 224.767px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 112.383px; transform-origin: 404px 112.383px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 53.9px 7.91667px; tab-size: 4; transform-origin: 53.9px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003epieces={ [1 1;\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 69.3px 7.91667px; tab-size: 4; transform-origin: 69.3px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 57.75px 7.91667px; transform-origin: 57.75px 7.91667px; \"\u003e          1 0],\u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(14, 0, 255); border-block-start-color: rgb(14, 0, 255); border-bottom-color: rgb(14, 0, 255); border-inline-end-color: rgb(14, 0, 255); border-inline-start-color: rgb(14, 0, 255); border-left-color: rgb(14, 0, 255); border-right-color: rgb(14, 0, 255); border-top-color: rgb(14, 0, 255); caret-color: rgb(14, 0, 255); color: rgb(14, 0, 255); column-rule-color: rgb(14, 0, 255); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(14, 0, 255); perspective-origin: 11.55px 7.91667px; text-decoration-color: rgb(14, 0, 255); text-emphasis-color: rgb(14, 0, 255); transform-origin: 11.55px 7.91667px; \"\u003e...\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 53.9px 7.91667px; tab-size: 4; transform-origin: 53.9px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e         [0 2;\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 53.9px 7.91667px; tab-size: 4; transform-origin: 53.9px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e          0 2;\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 69.3px 7.91667px; tab-size: 4; transform-origin: 69.3px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 57.75px 7.91667px; transform-origin: 57.75px 7.91667px; \"\u003e          2 2],\u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(14, 0, 255); border-block-start-color: rgb(14, 0, 255); border-bottom-color: rgb(14, 0, 255); border-inline-end-color: rgb(14, 0, 255); border-inline-start-color: rgb(14, 0, 255); border-left-color: rgb(14, 0, 255); border-right-color: rgb(14, 0, 255); border-top-color: rgb(14, 0, 255); caret-color: rgb(14, 0, 255); color: rgb(14, 0, 255); column-rule-color: rgb(14, 0, 255); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(14, 0, 255); perspective-origin: 11.55px 7.91667px; text-decoration-color: rgb(14, 0, 255); text-emphasis-color: rgb(14, 0, 255); transform-origin: 11.55px 7.91667px; \"\u003e...\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 61.6px 7.91667px; tab-size: 4; transform-origin: 61.6px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e         [3 3 3;\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 77px 7.91667px; tab-size: 4; transform-origin: 77px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 65.45px 7.91667px; transform-origin: 65.45px 7.91667px; \"\u003e          0 3 0],\u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(14, 0, 255); border-block-start-color: rgb(14, 0, 255); border-bottom-color: rgb(14, 0, 255); border-inline-end-color: rgb(14, 0, 255); border-inline-start-color: rgb(14, 0, 255); border-left-color: rgb(14, 0, 255); border-right-color: rgb(14, 0, 255); border-top-color: rgb(14, 0, 255); caret-color: rgb(14, 0, 255); color: rgb(14, 0, 255); column-rule-color: rgb(14, 0, 255); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(14, 0, 255); perspective-origin: 11.55px 7.91667px; text-decoration-color: rgb(14, 0, 255); text-emphasis-color: rgb(14, 0, 255); transform-origin: 11.55px 7.91667px; \"\u003e...\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 61.6px 7.91667px; tab-size: 4; transform-origin: 61.6px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e         [4 4 0;\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 77px 7.91667px; tab-size: 4; transform-origin: 77px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 65.45px 7.91667px; transform-origin: 65.45px 7.91667px; \"\u003e          0 4 4],\u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(14, 0, 255); border-block-start-color: rgb(14, 0, 255); border-bottom-color: rgb(14, 0, 255); border-inline-end-color: rgb(14, 0, 255); border-inline-start-color: rgb(14, 0, 255); border-left-color: rgb(14, 0, 255); border-right-color: rgb(14, 0, 255); border-top-color: rgb(14, 0, 255); caret-color: rgb(14, 0, 255); color: rgb(14, 0, 255); column-rule-color: rgb(14, 0, 255); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(14, 0, 255); perspective-origin: 11.55px 7.91667px; text-decoration-color: rgb(14, 0, 255); text-emphasis-color: rgb(14, 0, 255); transform-origin: 11.55px 7.91667px; \"\u003e...\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 61.6px 7.91667px; tab-size: 4; transform-origin: 61.6px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e         [5 5 5;\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 73.15px 7.91667px; tab-size: 4; transform-origin: 73.15px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e          5 5 0] };\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 361.617px 7.91667px; transform-origin: 361.617px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003ePlease note that the orientation of each piece in your solutions might be different from the one provided as input. For example, the red piece (number 4) was flipped from left to right before being placed on the board. The pieces can be rotated in steps of 90 degrees, flipped vertically or horizontally.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 84px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 42px; text-align: left; transform-origin: 384px 42px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 363.042px 7.91667px; transform-origin: 363.042px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eYour solution set needs to be provided as a 3-D array with 4 rows, 5 columns and N layers, where N is the number of possible arrangements of the given pieces. The order of your solution set along the 3rd dimension does not matter, as long as it provides \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 58.7px 7.91667px; transform-origin: 58.7px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eall valid solutions\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 1.94167px 7.91667px; transform-origin: 1.94167px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 62.5917px 7.91667px; transform-origin: 62.5917px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003ewithout repetitions\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 15.5583px 7.91667px; transform-origin: 15.5583px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 94.875px 7.91667px; transform-origin: 94.875px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003ewithout symmetric solutions\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 93.0417px 7.91667px; transform-origin: 93.0417px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e (180° rotations or flippings of other solutions).\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 178.167px 7.91667px; transform-origin: 178.167px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eFor example, the solution above would be represented as\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 81.7333px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 40.8667px; transform-origin: 404px 40.8667px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 42.35px 7.91667px; tab-size: 4; transform-origin: 42.35px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e[5 5 5 2 2;\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 42.35px 7.91667px; tab-size: 4; transform-origin: 42.35px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e 5 5 4 4 2;\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 42.35px 7.91667px; tab-size: 4; transform-origin: 42.35px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e 1 4 4 3 2;\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 42.35px 7.91667px; tab-size: 4; transform-origin: 42.35px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e 1 1 3 3 3]\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 229.9px 7.91667px; transform-origin: 229.9px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003ePlease provide your entire search algorithm, not just hard coded solutions.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 373.95px 7.91667px; transform-origin: 373.95px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eHint: Maybe you can reuse some functions from the preparation phase. You can find a C++ implementation for the entire puzzle on \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://github.com/deverw/IQpuzzler\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003ehttps://github.com/deverw/IQpuzzler\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function solutions = IQpuzzler2(pieces)\r\n  y = x;\r\nend","test_suite":"%%\r\npieces={ [1 1;1 0],[0 2;0 2;2 2],[3 3 3;0 3 0],[4 4 0;0 4 4],[5 5 5;5 5 0] };\r\n[r,c]=deal(4,5);\r\nboard=zeros(r,c);\r\nnsol=14;  % confirmed by brute force\r\ntic;\r\nsolutions=IQpuzzler2(pieces);\r\ntoc;        % Just curious: Can you beat 1s?\r\nassert(ndims(solutions)==3,'3-D array expected.');\r\nassert(size(solutions,1)==r,'%d rows expected.',r);\r\nassert(size(solutions,2)==c,'%d columns expected.',c);\r\nassert(size(solutions,3)==nsol,'%d solutions expected.',nsol);\r\nfor n=1:nsol\r\n    s=solutions(:,:,n);\r\n    assert(isequal(board(board~=0),s(board~=0)),'Solution %d: Fixed pieces on input board expected.',n)\r\n    assert(nnz(s)==r*c,'Solution %d: Full board expected.',n);\r\n    bsum=0;\r\n    for p=1:numel(pieces)\r\n        piece=pieces{p};\r\n        pn=max(max(piece));\r\n        bsum=bsum+pn*nnz(piece);\r\n        assert(nnz(s==pn)==nnz(piece),'Solution %d: Number of elements of piece %d does not match.',n,pn);\r\n        arr=false;\r\n        orientations=rotflip2d(piece);\r\n        for o=1:numel(orientations)\r\n            if nnz(conv2(1*(s==pn),rot90(orientations{o},2),'valid')==sum(sum(piece)))\u003e0\r\n                arr=true;\r\n                break;\r\n            end\r\n        end\r\n        assert(arr,'Solution %d: Piece %d arranged incorrectly.',n,pn);\r\n    end\r\n    assert(sum(sum(s))==bsum,'Solution %d: Original piece numbers expected.',n);\r\n    for m=n+1:nsol\r\n        assert(~isequal(s,solutions(:,:,m)),'Solutions %d and %d are identical.',n,m);\r\n        assert(~isequal(fliplr(s),solutions(:,:,m)),'Solutions %d and %d are symmetric.',n,m);\r\n        assert(~isequal(flipud(s),solutions(:,:,m)),'Solutions %d and %d are symmetric.',n,m);\r\n        assert(~isequal(rot90(s,2),solutions(:,:,m)),'Solutions %d and %d are symmetric.',n,m);\r\n    end\r\nend\r\n\r\nfunction orientations=rotflip2d(piece)\r\n% Returns all non-identical orientations of a 2-D matrix that can be produced by rotating or flipping it.\r\n% Input is an M-by-N matrix. Output is a 1-by-P cell array containing P unique M-by-N or N-by-M matrices.\r\n    orientations=cell(1,8);\r\n    orientations{1}=piece;\r\n    for n=2:4\r\n        orientations{n}=rot90(orientations{n-1});\r\n    end\r\n    orientations{5}=fliplr(orientations{4});\r\n    for n=6:8\r\n        orientations{n}=rot90(orientations{n-1});\r\n    end\r\n    d=false(1,8);\r\n    for p=1:7\r\n        for q=p+1:8\r\n            if isequal(orientations{p},orientations{q})\r\n                d(q)=true;\r\n            end\r\n        end\r\n    end\r\n    orientations(d)=[];\r\nend\r\n%%\r\nfiletext = fileread('IQpuzzler2.m');\r\nassert(~contains(filetext,'str2num'));\r\nassert(~contains(filetext,'str2double'));\r\nassert(~contains(filetext,'regexp'));\r\nassert(~contains(filetext,'evalc'));","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":2414210,"edited_by":2414210,"edited_at":"2022-11-10T17:57:09.000Z","deleted_by":null,"deleted_at":null,"solvers_count":3,"test_suite_updated_at":"2022-11-10T17:57:09.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2022-11-10T10:54:03.000Z","updated_at":"2022-11-10T17:57:09.000Z","published_at":"2022-11-10T11:58:23.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eWe are playing a simplified version of IQpuzzler, with a smaller board of 4-by-5 spaces and just 5 pieces, as shown in the picture:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"240\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"320\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"baseline\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYou are provided a cell array with one cell per piece. Each cell contains an N-by-M matrix with zeros and one unique value (the piece number) representing the positions of the 3 to 5 elements that define each piece. In our case, the pieces are provided as\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[pieces={ [1 1;\\n          1 0],...\\n         [0 2;\\n          0 2;\\n          2 2],...\\n         [3 3 3;\\n          0 3 0],...\\n         [4 4 0;\\n          0 4 4],...\\n         [5 5 5;\\n          5 5 0] };]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ePlease note that the orientation of each piece in your solutions might be different from the one provided as input. For example, the red piece (number 4) was flipped from left to right before being placed on the board. The pieces can be rotated in steps of 90 degrees, flipped vertically or horizontally.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYour solution set needs to be provided as a 3-D array with 4 rows, 5 columns and N layers, where N is the number of possible arrangements of the given pieces. The order of your solution set along the 3rd dimension does not matter, as long as it provides \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eall valid solutions\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ewithout repetitions\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ewithout symmetric solutions\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e (180° rotations or flippings of other solutions).\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor example, the solution above would be represented as\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[[5 5 5 2 2;\\n 5 5 4 4 2;\\n 1 4 4 3 2;\\n 1 1 3 3 3]]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ePlease provide your entire search algorithm, not just hard coded solutions.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eHint: Maybe you can reuse some functions from the preparation phase. You can find a C++ implementation for the entire puzzle on \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://github.com/deverw/IQpuzzler\\\"\u003e\u003cw:r\u003e\u003cw:t\u003ehttps://github.com/deverw/IQpuzzler\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"target\":\"/media/image1.jpeg\",\"relationshipId\":\"rId1\"}]},{\"partUri\":\"/media/image1.jpeg\",\"contentType\":\"image/jpeg\",\"content\":\"data:image/jpeg;base64,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\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"}],"problem_search":{"errors":[],"problems":[{"id":60813,"title":"Matrix Rotation by 90 Degrees","description":"In this problem, you are tasked with rotating a given matrix by 90 degrees in a counter-clockwise direction. The input will be a square matrix (i.e., the number of rows is equal to the number of columns), and you need to return a new matrix that is rotated by 90 degrees.Input:\r\nA: A square matrix of size n x n (where n is a positive integer). The matrix A contains numerical values.\r\nOutput:\r\nThe function should return a new matrix, B, which is the original matrix A rotated by 90 degrees counter-clockwise.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 164.792px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 406.493px 82.3958px; transform-origin: 406.493px 82.3958px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 62.9688px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 383.49px 31.4757px; text-align: left; transform-origin: 383.498px 31.4844px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIn this problem, you are tasked with rotating a given matrix by 90 degrees in a \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003ecounter-clockwise\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e direction. The input will be a square matrix (i.e., the number of rows is equal to the number of columns), and you need to return a new matrix that is rotated by 90 degrees.\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eInput:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 20.4167px; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 390.486px 10.2083px; transform-origin: 390.495px 10.2083px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 362.5px 10.2083px; text-align: left; transform-origin: 362.5px 10.2083px; white-space-collapse: preserve; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003eA\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e: A \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003esquare matrix\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e of size \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003en x n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e (where \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003en\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e is a positive integer). The matrix \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003eA\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e contains numerical values.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003cdiv style=\"block-size: 20.9896px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 383.49px 10.4861px; text-align: left; transform-origin: 383.498px 10.4948px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eOutput:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 20.4167px; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 390.486px 10.2083px; transform-origin: 390.495px 10.2083px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 362.5px 10.2083px; text-align: left; transform-origin: 362.5px 10.2083px; white-space-collapse: preserve; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe function should return a new matrix, \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003eB\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, which is the original matrix \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003eA\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e rotated by \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e90 degrees counter-clockwise\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function B = rotateMatrix(A)\r\n    B = rot90();\r\nend","test_suite":"%%\r\nA = [1 2 3; 4 5 6; 7 8 9];\r\nB = rotateMatrix(A);\r\nassert(isequal(B, [3 6 9; 2 5 8; 1 4 7]));\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":4810860,"edited_by":4810860,"edited_at":"2025-02-23T18:44:01.000Z","deleted_by":null,"deleted_at":null,"solvers_count":17,"test_suite_updated_at":"2025-02-23T18:44:01.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2025-02-23T18:23:52.000Z","updated_at":"2026-02-09T16:42:01.000Z","published_at":"2025-02-23T18:24:25.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIn this problem, you are tasked with rotating a given matrix by 90 degrees in a \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ecounter-clockwise\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e direction. The input will be a square matrix (i.e., the number of rows is equal to the number of columns), and you need to return a new matrix that is rotated by 90 degrees.\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInput:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eA\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e: A \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003esquare matrix\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e of size \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003en x n\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e (where \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003en\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e is a positive integer). The matrix \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eA\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e contains numerical values.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eOutput:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe function should return a new matrix, \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eB\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, which is the original matrix \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eA\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e rotated by \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e90 degrees counter-clockwise\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":1830,"title":"Matrix rotation as per given angle","description":"Given a user defined matrix and angle of rotation, rotate the elements of output matrix as clockwise or anti-clockwise. Angle will always be multiples of 90 degrees.\r\n\r\ne.g A = [1 2 3; \r\n         4 5 6; \r\n         7 8 9]\r\nAngle = 90\r\n\r\nOutput Matrix = [3 6 9;\r\n                 2 5 8; \r\n                 1 4 7]\r\n\r\nHappy clocking !!\r\n","description_html":"\u003cp\u003eGiven a user defined matrix and angle of rotation, rotate the elements of output matrix as clockwise or anti-clockwise. Angle will always be multiples of 90 degrees.\u003c/p\u003e\u003cp\u003ee.g A = [1 2 3; \r\n         4 5 6; \r\n         7 8 9]\r\nAngle = 90\u003c/p\u003e\u003cp\u003eOutput Matrix = [3 6 9;\r\n                 2 5 8; \r\n                 1 4 7]\u003c/p\u003e\u003cp\u003eHappy clocking !!\u003c/p\u003e","function_template":"function y = RotateMat(x, angle)\r\n  y = x;\r\nend","test_suite":"%%\r\nx= [1 2 3; 4 5 6; 7 8 9]\r\nangle = 90;\r\ny_correct =[3 6  9; 2  5  8;  1 4 7];\r\nassert(isequal(RotateMat(x,angle),y_correct))\r\n\r\n\r\n%%\r\nx = [ 1 2 3 4; -10 -20 -30 -40]\r\nangle = 270;\r\ny_correct =[ -10 1; -20 2; -30 3; -40 4];\r\nassert(isequal(RotateMat(x,angle),y_correct))\r\n\r\n%%\r\nx = [ 1 2; 3 4; 5 6; 7 8]\r\nangle = -90;\r\ny_correct =[ 7 5 3 1;8 6 4 2];\r\nassert(isequal(RotateMat(x,angle),y_correct))\r\n\r\n%%\r\nx = [ 89 -100 88 -101];\r\nangle = 180;\r\ny_correct =[  -101    88  -100    89];\r\nassert(isequal(RotateMat(x,angle),y_correct))\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":2,"created_by":16381,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":120,"test_suite_updated_at":"2013-08-15T21:19:19.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2013-08-15T20:45:14.000Z","updated_at":"2026-02-18T21:32:44.000Z","published_at":"2013-08-15T20:49:56.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGiven a user defined matrix and angle of rotation, rotate the elements of output matrix as clockwise or anti-clockwise. Angle will always be multiples of 90 degrees.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ee.g A = [1 2 3; 4 5 6; 7 8 9] Angle = 90\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eOutput Matrix = [3 6 9; 2 5 8; 1 4 7]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eHappy clocking !!\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":623,"title":"Rotate a Matrix","description":"Input a Matrix x, Output y is the matrix rotating x 90 degrees clockwise","description_html":"\u003cp\u003eInput a Matrix x, Output y is the matrix rotating x 90 degrees clockwise\u003c/p\u003e","function_template":"function y = RotateMatrix(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = [1 2; 3 4];\r\ny_correct = [3 1; 4 2];\r\nassert(isequal(RotateMatrix(x),y_correct))\r\n","published":true,"deleted":false,"likes_count":6,"comments_count":3,"created_by":27,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":720,"test_suite_updated_at":"2012-04-25T21:51:04.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2012-04-25T21:50:27.000Z","updated_at":"2026-02-24T02:55:59.000Z","published_at":"2012-04-25T21:50:27.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eInput a Matrix x, Output y is the matrix rotating x 90 degrees clockwise\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":61152,"title":"Pascal's Pyramid - A Variation with an Arial View","description":"Let's create a matrix of size N x N containing a Pascal's Triangle in each quadrant that diverges from the centre to form an arial view of a pyramid made of Pascal's Triangles according to the test cases provided.\r\nFor example, given an input matrix size 5 x 5 for your starting Pascal's triangle, the output matrix will then be as follows:\r\n\r\nHint: Mind your matrix positions!","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(33, 33, 33); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none; white-space: normal; \"\u003e\u003cdiv style=\"block-size: 370.8px; display: block; min-width: 0px; padding-block-start: 0px; padding-inline-start: 2px; padding-left: 2px; padding-top: 0px; perspective-origin: 408px 185.4px; transform-origin: 408px 185.4px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eLet's create a matrix of size N x N containing a Pascal's Triangle in each quadrant that diverges from the centre to form an arial view of a pyramid made of Pascal's Triangles according to the test cases provided.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eFor example, given an input matrix size 5 x 5 for your starting Pascal's triangle, the output matrix will then be as follows:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 259.8px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 384px 129.9px; text-align: left; transform-origin: 384px 129.9px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cimg class=\"imageNode\" style=\"vertical-align: baseline\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAdgAAAD+CAYAAACZWxQGAAAQAElEQVR4AexdBXwUxxf+4kJIQgQILsHdaYHitKWlQkuVUvnX3b2lpS2UIgUKpbgUd0sIcXd3d3c/y13++zZCCFDitwtzv5u7vd03M9/73t68eTO7O5q17MUYYAwwBhgDjAHGQIczoAn2YgwwBhgDjAHGAGOgwxlgDrY9lLK8jAHGAGOAMcAYuA0DzMHehhi2mzHAGGAMMAYYA+1hgDnY9rDH8raHAZaXMcAYYAzc1QwwB3tXm5cpxxhgDDAGGAPqYoA5WHUxz+plDLSHAZaXMcAYEDwDzMEK3kQMIGOAMcAYYAyIkQHmYMVoNYaZMcAYaA8DLC9joEsYYA62S2hmlTAGGAOMAcbAvcYAc7D3msWZvowBxgBjoD0MsLwtZoA52BZTxQQZA4wBxgBjgDHQcgaYg205V0ySMcAYYAwwBhgDLWbgFg62hXlrKpAb74crJ0/iZLN0xdkHCSX15UiKkBHm1Chzxdn7+rF6EfV+SVGcFQHnJjpcdvREXPF1VNKSLES63KjnOTs3hGZKrwsJYkuJqsIUBNicw1WXYGRKmoBSVqEwJRA2TfQ8efISHNxj0UTVJhmEuSkvz0eM2422OGvjiMB0odnizvwpJaXIDLbF2Sv28E+T3DkDk2AMMAZExUDbHaxKivKCNESHhiK0IQW6w+7Ufuzadwlh1GqTE4725JzwWdj6hiLUxwl2Z/7FEbtwZAumPaxBdWkuEhp08HXGtbPHcdw+DiX1pqzMiobrya04cMW3UdeImERkldXUSwjgq4ZzoMnBcDx9BucO/Y3Nuy4hqqIJLnkJ0gNtsW/rcTg36BoaibikPFQ3ERP6ZnV+MrxObsTeSz6NtgiPjkd6iULo0JvgU0JSmokwxzM4e/Eo/l7/F06Hljc5zjYZA4yBu4GBtjtYXUsMn/UMvly3Duvq04+fvoZHZo1G/8HjMbYXIC1IgJebKyI05+CbXzi5NV/j+enmSLQ7AruYBvelbhqN0G/MYrxVr8O6Hz/B0+O6I8HRAQnS69j0e1lj9srv0KDr6k/+h0fGGF0XqN9Sz5cSVflpCHNwR3KJCv3GDrkNDGP0Hf4Q3mvQdd23eP/Vueh3G2mh7tYzH4Bpz3/baIufv3gXyyd0Fyrcm3ApJSXIDreHS3Qu5AMnYdhNEl27QyqVIjg4GJcvX0ZqamrXVt4BtVVXV8PT07NxlIxG1C5evIiUlJQOKL3jiqitrUVFRQWcnJxw7do1lJWVNRauVCqRlZWFc+fONepx+vRpuLi4QCaTNcqpc4Pwl5SU4MqVK40Yiee8vLxGWITV29u78TjZ4vz580hMTGyUUeeGSqUC4SVMhK1pon25ubk8PJJLTU1t1KPpMV6ghR+aLZS7sxgXrWZGByEgvhS97p+LkUZS5CZHIyK+pP43V4SOAQy7G0CWn4gAvyQI47ThcDV513B/AgXHir6BLrQVTQ4IelMFmVwbRlZTseKtxzDWRNBg73lwtQoFNLS7Y/yzH2LFpB5q44MazNLSUjg7O4Ma9i1btoAcrdoAtbHi8vJynDp1itchJCQElCIjI1FUVNTGEjs+GznQ7OxsvhNz4sQJbN26Ffn5+Y0V1dTUIDY2Fn///Td8fX15HUK5kab4+HgouPOlUVCNG3S+UGeGuCWOAwMDeX3IyZJjJWh0nDoGZ86c4XUgubCwMBQWFtJhtSfSgc4XwkTYKAUFBcHOzg6bNm1CRkYGyLmSoyXnSx0cOk6dT7Ib/V9ao4Rma4T/S7amNBXx0ZHI1hqLORP6cKLlKCktRHVFb4wZ0QfSogyEu9jAOyIbMNBDFXeyFXBSgnjXVCI/yR+23J/05El7BKRoYdSDszG8+3V0ivI8xHtf4v/Ip85fg1toFpoEuNcF1bKlA7NBwzHjsTtFoxKU5EbAkdOTGqTLDu6IFU4bBKBl5NVUFiHZ53KdLc7ZwikwQ0C2uLMO2sZWGHL/CiwedGfZzpSQSCSghiYiIgK9e/eGiYl4e2bdu3fH008/jd9//51P3333HaZOndqZ9LW4bGrUKXL18PDgRwhGjx59y7xaWloYPHgwvv/+e16H3377DW+99RaMjIxuKd/VOzU1NdG3b198/fXXIJ5//fVXLF++HPb29jc4UH19fTzxxBO8DMn99NNPmDlzZlfDvWV9xPGwYcNAmAgbpTVr1mDJkiUYPnw4+vfvz3do3Nzc+A7P6tWrsXbtWrz++utwcHAARee3LPg2OzvIwUpQkBbPzecpMXD2I5jet6E2AxjoG6C2LBzOFy7BjpuY7TZoNp6Z3R8qmRzyBjF1f6tkqODmkyO5YbKIpHwo9M3R26AE2cV1wPR79MHQUZPQRxbP9fD94e5wBcf2n4SToJxsHdbbfmp3g/ngEZgwsTvyOT2DfZxhf3Yv9lwQl5PVNbbE4LEzMUiZwNkiAJ4uV3Fs71FcFZmTva2duvAARVXa2tp8IzllypQurPneq4qiImNjY76htrKyuisIoI4DRa4GBgai1YfsQkPGNGR/3333oVevXvzQPY3q3H///SBbaWho8J0c+r+Q46XRhpYqrNlSwf+SqynPRHR4KJIUQ7DwgZG43t+SozQnDn72dggr7IbxT7yLlYutoc0VptfDDCbctyDeuuYYOnMFvqTe79pPsWKmJvwO78G50Lp5YqO+Y7Dkzd/re2Tr8PP7j2C0xA9HTvhDMFH4nYjU6YGBU5fjC9KR0i/f47X5/ZBhtwe2ccKJxe+khmHPoZj3vwZbrMUvnzyDGRoBOHjIC7l3ynyXH2+tehT1zZo1i4+aWptXaPI0jxwQEMCPatBwN21TgygEnBoaGjAzM8PSpUv5hvp2mKixLygowKVLl3g9aFiy6TDy7fJ15X7CmJOTA5qTpGFg4nnBggXo2bNnIwwa0qZhVRolO3v2LHx8fCAUWzSCrN8gZ0mjODS3PHv2bFCngebGaUh74sSJfDTr5+cHV1dX9OjRA6Q7jfzUZ7/jl+YdJe4oIEFBQjgCA/OhP2UhpvVtyGCAbob6UEiykVXZH0+++woeGmWE6soKlJWXwsTCDHoNokL65pxtz/5jMMJKioKC4lsg04Fpj14YOtAU8pIiXL9M4RaiQt5lZArTQaNgraFAWWnTy42FDLo5Nh0YGffE8KHmkHNzPKXND7Pf9wQDFEFNmDABNIRJDbu7uzsOHToEahiF2rA3NwwNXfbmhumpUY+Li4O/vz8uXLiAY8eO3TBX2zxfV/8mB9Qwh0lzsdrcCAgNYRcX17WVenp6mDRpEnR1dUG2oIvPDhw4AC8vL8E5WdKFnCkN+86ZMwdDhw7l6dTQ0AANc1NnwtbWlr/QrFu3bvwUBHUeWnNOtd/BSnKRFB2B6GJLTLvPukn02h1Wfa0x6f5e0DTQhVYNh11ShMzEWCRWGWHM5Kay3DGhvKUlKMpMQa7cEiOse92Mipuvzc2IR2hKBcwHDUSPmyVEsUdWlofksCBkyKwwqL++KDDfBFJZjaLsOATEFcN86GCY3yTAdtwLDNDc8apVq+pHmH7HF198wUeKx48fR8ujDfUyRY6K5mZ/+uknXg+af33hhRf4q40pwlIvuuu1U0dgxIgR/BwmYaR5b7qoiRwpSRkaGuLFF1/kdaD5TZoLt7S05Ds8dAEUyQglUfRKnQS62vyRRx7hOwWEjRxvVVUVf7U3XQRFEfrKlSv5aJbONepEkFxLUjsdrARFSVEICypA96kL8QAXoTattHvvoZgxZRxMs65ix8FTOHX0KGy9klAzZDHuH2bUVFR929JiZEW48EMyNKRx6uhJ2HunQXP0Q5g9nDDWoDI/CQE2HH66OOjECVxyjUDF0AV47LH70Biwq08DvmZZaQ6iXTmMF+3hHpWN8oJEeF0+hcsOHnUXMslKkRvl2qjnsVN28IjXxvTHn8Dicd35MoT/oUR1cTqCbDk9eVucxAV7f+T3m4/lKx5Af+ErUIdQXoGiODfOFudh6xSKrKoSpPpdxqmLdnCKLqqTYZ9tYkBDQwM09G1tbQ2KTuRyeZvKUXcmHR0d/oIbGloW0tXQTXkhZ0sXBQ0ePJi/xajpMdrW0NAARX7kkIVmC3KipaWluHr1KkaNGoWm0asBN6dMEXhERAR/kRnNzZIzTktL4+doSW/SryWpnQ5WgUqlFroNmoZHlk5Dn+Y1Gg/A+EWr8OajU6CXG4SghGJoD1uEV1Y+jFFCadMV1SjNiuOHM2hIIyi+GJrWD+Gt17l5Vh6jCrKKQqRGcviDuBSRAUmPmVj1wet4VDD3wQI1kjJkJ3D44rJR2WMM5k3tC1l8EMJjEpBbxRlGIUFZTnyjnrH5SgxY9jE+eG0u+nGHxfFWQV5djPQGW4SnoFR/El765D1R3QcLpQyVuQmcLaKRVmCI0YtnYYiS+x0WhdjsSnGYQqAoafiO5smocaTGvzXRhpBUojllilyrq6vRp08fIUFrxEJc061HNDxMTrTxQP0GDbHSBUTUrg4cOBBCsgVhp8g1KioKc+fObYxeNTQ0+PnyGTNmgBwtTTuQHnSPMt0yRfvJ+dareMevdjpYYwyc8DBe+fgVPNwsem2smXOyE5a+g/Xr13PpJ3z8qoCcK4Hs3g9jHnqbw0b4KH2L91bNaRKZ6sJ86Ays+IqOUfoZn77xKMbwzpcKEEbqZjUSi94gfDem7z58DfMGcBiNrDBi0ZvX9fzuQ7w2tx93QExvHZj2m4gnv2zQcQ2+fP8pjDcWkw4cVgMLDJz7+nVb8P8NTqcfP8N7iwZyAl3zpvkkajToYhU3NzdQQ0lzf3RfY3R0dNeAaGctFInQnCA9vIGGKmkUiubNaCjvySef5COodlbRIdnJYdJc3/nz57mOVRAfXV+7do1/aEN+fj4oQkpOTgbpQIkuDiLH9NBDD2Hy5MkdgqG9hTQ4JcJHqYHrQYMGgebAqXwaWqUrcBuO07lEw8YrVqzgh+1JRt2JzhmKqOke12HDhmHatGk3QCIHOn/+fP6Cp71793IjTad4u9AVxjS/fIPwHX6008HeoXR2mDHAGBAsA9SoU4RB80x0FSX1zqnxCQ0NBUUmggXeDBjNs8bExIAefBAeHg4awnv//fcFcx8swaXODD3NiPBRVERXrNJDDShKpXtkKUoiR0s6UCJZiqyEdB8sYaSrawkfJdKFhoA/+ugj0AVadO7QbTv0wAw6TucR6U3HZwrkPliyBSXCRY70mWeeucnx03z4xIkT8cEHH4A6b6QH7aPfdNsO5W9papmDbWlpTI4xwBgQDQM0BEZXT9aNLnERdH0kTTfXL1q0SBR6aGho8PNi5FBJD3qU6YcffnjDbSNCUITmhelCLMLYNNFFQDT/R409OaGGYz///DMefvhhIUBvxEDzwhTtNWAkrt99991GB6WhUTe8SvtIhi5y+vzzz3nn21iIADY0NDR4TJ988gnoXtdbQSKHSiMHDXp89dVXaK1zpXKZgyUWWGIMMAYYA4wBxkAHM8AcbAcTk7Cv/wAAEABJREFUeovi2C7GAGOAMcAYuAcZYA72HjQ6U5kxwBhgDDAGOp8B5mA7n2NWQ3sYYHkZA4wBxoBIGWAOVqSGY7AZA4wBxgBjQNgMMAcrbPswdIyB9jDA8jIGGANqZIA5WDWSz6pmDDAGGAOMgbuXAeZg717bMs0YA4yB9jDA8jIG2skAc7DtJJBlZwwwBhgDjAHGwK0YaJeDranIQ6L/VdBzM/l0yRHekTmQNdRUU4G8xABcPXv2uszZq3DzS0QphPNSVhYgOdCuHuMlOHiEI1vaFJ8SlQUpCLSr1+OSAzzCsnGDSFNxtW0rUVWUiiC7i7B3C0VWc4CyMuTFuNfreRY2Tp6IK1Yb2HZWLEd5QRw8zl6Bo3sMxKiGSlKGrNBruHDVCYHpzY3VTnpYdsaAehlgtXMMtMvBUgORmxgKX19fLnnBweYCTp60RUhOvYuVFSDe8yL2bj0KO16G5EIQlZALWuCFq1/975pK5CYEwu6cLdw4jF6OV3Hx38M455aAknp00pIMBDudwJHTdvD19YLT1Ys4cvgc3BMaJOoF1fmlrEJRaiicz5zBmX3bsGHnBUSWNwFExxN8YXP0GM66+sLX7RqunjqAgza3cMRNsgl1U16Rg9BrO/H7z5uxe6cT0oUK9Ja4VJCWZSHc+SzOnT+EbWu34GRI2S0l2U7GAGNAvAy0y8Hq9hyO2S98gw0bNnDpd3z7ymxYFnvgamBBE0Z6YPCEx/EJL0Ny3+LdlbObrFbTRFQdmyopF4kaovd9b2Eth/H3Xz7AI6Ok8D9+DqHkPzkHnBPhDSePFPR8bjWv5y8fPIpRMm8cOu3TLNJVhwJUJxe55qcjzN4V8fkK9B07lHbekGQl6Qhwt4Nn1XR88xtnh7U/4rX5A5ByZR8uRZKiN4gL+4eyGgVx4fByiofxnNGwEDbam9CpJCXICreHU3gGqgdMwvCbJLp2B630EhoaClqFhta87NraO642etg8rZ1qZ2cHDw8P0IPnO6709pdE+OjB/q6urnB0dOQfJN+01JqaGtCKOvxoIDfqZ2Njg4KCpm1pU2n1bNND8mmR8gaM9vb2/MpATdHQijqkI8nQ6kF+fn5QKpVNRdS6TTzTMnWEjxJhpCCxASPZiRZeuHTpUuNo37lz50CrBNF/pTXg2+xgb65EBZWqBjUqDdBqERDLS9cCQyfNxfJlY2DEYda16Il+nIMyK09GcgagLM9AUnQ4MjWm4MGZ/TgJLejpd4OZdjlyIzzglwcBvFSQSTVh2HMKnnn3CYwzbQ5JhqLMOASHZML8gcUYR8u76ejDwKQ7NMqS4e0Zx3UymucR6m8lqouSEO7tgzzzJ7FyyTChAr0tLpVCDg1NQ4x77hM8O9nstnKdfYAaktLSUri6uoKWrNu0aRO/lFpn19tZ5VPD7uDgwC8DeODAAdDvzqqrteVS452Tk8MvT3fkyBFs3rwZtJJRQzkqlQq05igtAUdOy8vLC9Sok11oRZcGOXV+E0bS4cKFCyB8lI4dO4arV6+ioTND37T/+PHj3GifL39u7d+/H7RikzqxN62b9KCVjMipUqLznzDS0o0kR7ZKTEzkbUTLOJIMdRKoY0EdDJJpadJsqeDt5KTFGYh0o7nJ47jsGwu5xRwsmtCniXg1CjND4cj1yKi3cNXVD4kCDpiUlRUoySpAlb4FLHsA8vIyFBSXo3bIWAw3qERBsj/snf0QU6YPc+QjM1cIc2c6MBs8AjOfmIf+TZi/vlmFsvJclBT2woQx/SEry0OM+xV4BKZC2c0QkoxMThOI4yUvQ1a0P5xiVZi64gEMEAfqG1BqG1thyKxnsWTwDbu7/Af1xmnJMYpee/XqBVpDtctBdFCF1ChSo0mN5ciRIwW1uDd1ZCorK/momiLU0aNH36R1dXU13N3dQSMIa9aswbp16/DCCy+AnC2t0XtTBjXsID3kcjlGjRrFd2J+++03fsUfWvuVOgfkuOibOgYPPPAA/vjjD3z//fewtLTEoUOHQGuwqgH2TVXSykW0zi6NvBLGH374gQ8KaX3YBmEKEvv164cff/yRG7XcwOtLqzTRqkgNMi35breDlVcWIT2Km9PzjUZGqS5MB5oDJTl1Fzppd0cv62EYYa2NDF9OxtUWl0/uwQEbP2E6WW44OJdrvD08U6Exdh4mN3grfT1o6shR6G+PSxecESvphtFLn8JkExXkckVLeG4mo46f+lyj0x060hi4X7gIm4AMKK3m4OWFg6CUSuvspQ5YrapTjvLsSAS6hkM64Xk8NsG4VbmZ8I0M0FAZNSTLly/H1KlTbzwool/U8FMkTpGTmZkZqPEUGnziulu3bnjjjTfQp0/TAAQg/DS0TfhnzpzJL79HdqHGXM45NE9PT0EMsWppacHa2hpPPfUUaOk6clRjx44F6UaRLWGlDht1JubOnQsNDQ2QDHXcwsLC+M6D0OxCeKhjQElbW5t+dmjSbG9pxgMmYum73JweN3/5/avzYZlyHgdPeIC/KFLPEsNnP4dvuGPUW9jw23d4cboxEuwOwjFR1t6qOzY/51wLEj1x4YorwrUnYtlj96FfQw3VRciMcMcFl1hIzOZg1QcrcZ+VBIoaXa7X371BSuDfClQWJsHf3gb+aUpYP/ox3lw2Cjrc0JSeuQVMIfyXsroA8RFecMvujScfmgDmXttnM2rAZ8+ejSFDhrSvIDXnpmE7GtILDQ3FkiVLQI5MzZBuqF5DQwPm5uZ49NFHG9dObSpAjTtFd9RJGDduHGhkgYYkyeEaGRkhNzcXEomkaRZBbJNjzc7O5qM/cqL0m0YR+vbty0ethJvmkWkoXE9PD+SEBQGcA0HnDHFMQ/A0B0sdgXnz5nFH6t7U6SkpKeGH9GnkleZjSY+6oy3/bLeDbVqVca++GMpFrHqFuSi8VWBnbAGLgSMxGHJuuKCyaVY1b0tRkhmMy8cu4lp6Hzz84gtYNtaIx6SlbwAjLQUq0rMgmb4K77/yAPrVVKGytAxF1Rb8MDIvKOgPPRjoG6K2JhOJWWZ47ON38MT47pBUV6G4uBDGlubQFzR+AqdEVV4awl19kaRjgLKgczh38SqcA2KQVRgNFxtHuIv3niNSkKU2MEANIV0IRBc10dDllClT2lCK+rNoaGjAwMAA1PBfu3aNHy42NjbG448/zo2SyQURwTZliToF5DDJgVIHbdCgQfxhirwNDQ1B85kXuLla+l66dCkGDhzIdxx4IQF8UGcgISEB5GRp2H7YsGFcW1jM80w6WFhYYPLkyaB5V+rokJP9999/b5g3b4kaHehga1BRlIeM7Ero9hmKAd1vrl5anImkqEjkKnqhn5XezQJq2aNEZUE83C5egmNcDzzyv1fxypx+jUh0zXpjwJgZmGSiDzMDTW4oVck19JmIj8qDcvB0TGkYRm7MIcSNbrDsOQzTH7CCZndD6NVwGGVlyE+JQXSxPsZPH4lbmIsTEtJbBZW2AUwth2GCQSa8vb3h7RuEiIQMFJenIzIwDFGZQuq0CYm7uxcLRXs0LJmSkgIaGtbR0RGlstRRoCjWyckJNJy6cOFCPPvss3yDT9EhRVhCUazBudJcK0WpTz/9dGNkTo6LRhPoSm7a/vTTTzF4MBdScUPd5LSEogN1ZlauXImNGzdi9erV0NDQwM6dO0FRKzlYcri//PILf5zmaWlon66yDw4ObpUK7XCwnEPNS0KAHRdJnKN0GqeueCBa1hOTF02suw1HWozMSDf+ajgyxokzjvBP1cOMR5di3pi6CLFVaDtBWFmZixinczh22hvFXA9Sv8C/Du8lR3iGZ0Om2wN9x0zF5KFKhBzbixPnTuPoeUd453XD5IemXB9G7gRsrSlSVsbp4XEO52yc4BWTgwpuONjX9hxsnb0QXwx0s+iPqdOmo0+eLf46xMmdPAEb51CUDXgIc0cJ370COjDtPwnLv97In/T0x9i47nt89MISjBvyED5Y/RneWTigNZSpT1ZeiaJ4T+48u4xr3HxydnUp0gJsce6KA1xjOGN1KrK7p3ByStQgUvRKkR85posXL8LHxwc0dEkXCNHtGELXWENDA9TgE06Kqt58803MmDGDj2bpoiG6SKgz5gepvtYm4ry4uJg7d8/xVwm/+OKLuO+++/hiyDFR1J2UlAQrKyu8//77oGi2tLQUNMRNHQVeUGAf1HmZNm0aaO6YUnN4NPdMETjZgUZLmh//r9+a/3Xwv4+pICnNQWIwF0lQNOEdhDSpBWY99wZWzupbl1VegaK0yLpog5OJLNTG0OUf492XZtc54DoptX4qpRLUQA8DZt6PsRZliOBw8tFRQCiiU0u4wWxdWAydjsf+9xIW9C/njgcivrQbJjz5Kl5tEumqVQmuckVVKTKjOVuEp6LYaARmT+yFikhvBIbHIIsCOyMrjJi/Ch8+dT/0srzhHZ4BSZ+5eP31J8HftsOVIbq3lgF69B+FmQ+MhJmYwNdIUJEdzf0vQpCQpYPh82dggDQK3oEhiMisEJMmasdKjXrv3r1BDTv9b2nILzY2lh/uo1tDaE5Q7SDvAIB0oOiOGnmaP6YGnaK/zMxMpKamgvYLJTInB0T38NIVzy+88AKWLVvWqB05qgkTJoDmYGl+n3Sorq7mb9Ehh9swjNyYQSAbNAoSFxcHOo/Mubny5rCo8xYaGso7YNKt+fH/+t0OB6uLniNm4/lvNzZGFGs+fQ1LRxtdr894ICY88l7j8Y3fvouXGpzvdSm1bulaWOO+5765jpEbMuCjo18+x5uPjakfOtXlnOxMPPtNva7ffyAo50oEGvUZicVv1eNr0IH7/vHj1zG/IbAjJ7vk7Xpdf8WX7z4pXudKSuuYot/kJVj1ziIMoN9iSYaWGDTvzXo7NLHZT1/ig8UDu0wLajgoYqKLPCgKpMgkMDCQv7AjJiamy3C0tSINDQ2+UaTbJ/j/LHe+r127Fq+++iro6tavvvqKHzZua/m3ytfWfdSI0/2UFGHTMCMNB9M9uzTsSFEROdY5c+aA7t2le3jp4hu6sIZunxo3blxbq+3QfHSVMHVa6J5Rui2KdKKRSZprbbiViCI9imgvX74Mun2HjlOexYsXNw4jdyioNhRG0bSbmxsfhdPcKmGk850ukKOOAQ2Bp6en88fpGP0/6EpuOj59+vRW1dgOB9uqepgwY4AxIDAGKMKgC1Uo6qMn19CtOtSIBgQEQAyR363opOivT58+mDlzJujK1VvJqGMfdWYoSgoKCgI14OSE6OIa+k3OlqI/arxpeJhsQU5YX18f77zzDiiyUgfm5nUSbopgx48fD7qwiTpjDaMGdDETHTczM8Mrr7yCiRMn8g8tof3kmJpGus3L7crfNMQtk8lAFy8RdppOILs89thj/AVlhIX0oE4PHadE0SvZ66OPPgI5YJJpaWIOtqVMMTnGwF3GAM370QMBGqK/hu+ff/4Z1CiKUV0aSqUHObz88sugqFAoOlDDTJgaOA2QZ8MAABAASURBVG74pocc0L2lhJOcLDXkdIwurPnss88E41wJnz7n8JcuXXrTyAs9FIMuGCL8GhoaICdL86+kB40oXHeuVIp6k4aGBkxNTfHee+816kEPzJg1a1YjMJrvpqvRCT8l0u+JJ55oPN6aDeZgW8MWk2UMMAYYA4wBxkALGWAOtoVEMTHGAGOAMcAYYAy0hoGOdLCtqZfJMgYYA4wBxgBj4K5mgDnYu9q8TDnGAGOAMcAYUBcDzMGqi/nm9bLfjAHGAGOAMXBXMcAc7F1lTqYMY4AxwBhgDAiFAeZghWIJhqM9DLC8jAHGAGNAcAwwBys4kzBAjAHGAGOAMXA3MNABDrYGlflJCLxmAxefKOTKmtBSU4n8pCDYnz8PetxUXboGD/8klDURE8SmtATZ0R44f80NfkmlzSApUVWYimD7ej2uOMErIgdNVW2WQbg/ZWXIi/Wst8cVOHqEIVsqXLjNkckrChHvdb4eP/d91Rme8SXNxUTxWyUtR3aYAy5fc0FQhlR9mFnNjAHGQKcw0D4HyzvQELicPYVjOzdj0z5bRDd9VrksH3Ee5/HP5kO44ukJep6jp6c/wmKzQc+f7xSN2lCorDQbMT4XcfrEAWzdtA373TNvKEVWmolgpxP498QVTgdX2F0+i8OHzsE9qbkjviGb4H7IyvMQ53IW50+cxWXeHrQYQBIK5YKDeltANdWlyIxsOJeccfXKCew/aAtxLQWrgrQsGxHO53Du3AH8+etmnAgWXJfztjZgBxgDjIGWMdAOB1uDypwkhDi4I6lYid6jBt+mxh4YMvFJfLZpEzbx6Qe8v2qOYFbTAUWuMd64EpyGEqNhmN58WZaaKmRHeMPJPQkWz/3M6bABv324DCMlnjh4ygc5Ygk8lNXIi/bG2WNOyO6zDD/ztliLr99bjvHGEM3LsJc1FrzVcC6txbevzkavmEu4GC0WQwAqOucirsEhNAUV/SdhuJrZp4e2h4eHw87ODvSQczXDaXX19PB2epD++fqRMloEPDo6utXltDFDh2aj50OnpKTwIzT0EH0nJyeUl5d3aB3tLYwe9J+WlgZ6oD8907d5ebSCDq22Q/agBQsCAgJAeZrLqfs3nTe0yAUta9iUY3peMT2L+MqVK7wdSA+yhaurK+g5xq3B3Q4Hq0J1tRZM+s/AiteXYrRJa6oVkKy8Eko9E4x48B28MufmlUyU5RlIigpHhsZUPDSzHwdcCwaG3WGuW4nccHf45XO7RPBWVmQjNS4SGb2X4403F6C/CDDfEaKyFlBoQMPQEDpa4gnDVTIZamGAcc9/huenNO/R3VHrDhOghoQeNE+N4alTp7BhwwbQA9w7rIIuKogaPXKoNEJGulDD+O+//6KwsLCLEHRMNdTRoY4CrUJDjpX0oYf+k8PqmBraX0rDYhC0KhCdL+RAm5ZKtvDy8sKRI0dAzotWDNq3bx/CwsKaiql1mx7mTwsq0EpGR48eBT0vmdYPbgBFnQFaZYqeQ0xL85EdKIWEhID0b5BryXc7HKwueo4Yi5mP3Glt12oUZYXDub53ec3dH4IaWTXuD+vJi/HY2O635EteXoqC4jLUDhmD4d2qUJgSAHtnP8SU6MCsNh+ZObJb5hPaTklJEbJzUyDtZ4zChrlkOxd4J5QIDeod8CghKclEqMN5nD97FvaekZBZL8X80eIJw7VN+mDo7Ofw4O0Gfe7AQEcdpgadGj5a0aVnz54Q6oLYd9KXHt7+2muvcaNLm/gHuL/99tv8akAUld8pr1COU6NP678eO3YMtGDB77//zuvyxRdfoHfv3oKASY6HIldy/rSG7aBBg27ARTqQo6Il4GgRCRqx/PHHH0FrrB48ePDWkfgNJXTND4pcqSNG0ffYsWNvWSnp169fP9DCF6QHOdtPPvlEYKvpaBuh59AhGDqoFskeHvBwuIjzx3bjgG0AkktvqZcwd+rrQVO3BkUBDrh0wRFRFfoY+cgKTDZVcUMG4oic5FzUVJGXBkl6GNzIFh6OuHLpBPYevIpwMV3lBI7zynwkBnDnk28oEkq0YGVtjso8sXUU1H+q0xJqGhoaWL58OaZNm6Z+QB2AgKJyauh1dXVB2x1QZJcUQZ0davD19fXxxhtvwMjIqEvqbU0lxCs5p3nz5jUu7dY0P0V31KmhJe1IRkNDA2QHWl0nNDQUqampTcXVsk3nBHUUNDU1QSv+kBPtTCCanVk49HpixJwX8f3mzdhMad0PWDm9O+Js98M+QRyRH8+PpBhZEe644BiJCpPZeOXjVZhlJUVNjS5MTG8d+fL5BPahrJZDU7cPFnxB9liPn16fjwGptjjgmAapwLDeHo4OTPtPxtPfbubOqY347n8Pwch/F7YcCwBzsbdn7VZHjI2NQYt8Dx069FaHRbOPGs2KigrQIto0X+bs7AyKrm4XnQhRMRpapbVTaSSBhoVpzs/GxgZRUVGCgUuRNa0Fe//9998SE80f0xw+rcdrYWGBvLw80Lx+VlYWvzYvrT18y4xduFNDQwN03lOnkpYQvF3VdE6Vlpbi6tWraLAFDSvfTv52+zvXwaJZtSaWsBw0CkMgR1lZZbODwvyppW8AIw0ZytIyUDX9FXz02jz0U1ahkiO/qMocFqbCxN0clba2Noz6DUWfKbNRd1GTESwth2PcuG7Iy86FonkGUfzmnK1ZH0wc1x+yrGyIZDpcFMyKDWRVVRVojszb25tv2AcPHozi4mLRqEHOiRrw3NxcvqNAnQWaS96/f78gIr+WEqnJRYbdunVDYmIiLl68yHcQHnnkEQwcOBAU/ba0HHXKaWho8MPaEyZM4M8pV1dXnDx5kp9XJhu1Bptma4TbKystyUJydBTyFD3Rz0qvvcV1SX5ds94YMHYmJpsYwsJICzIoUZWXiYTofCiHTMfUARDFy8DYlHOoPVEUHY5sPlyVo7KyAPmlmugzbDC6i0KL5iDlqCjPRXKmFOajRsKq+WH2+55gQENDAzRP+fHHH3OjGpvx4Ycfgi56ogtYKDIUCwnkZGnYnoaIad7v888/5+ctydHSsKYY9CAdkpKS+MiPhr1JhyFDuJBKLoelpaUYVICWlhaGDx+O3377jT+faP71zTffBF01TdcrtEaJdjlYcphRHhdwwc4DAQm5KMuNh+/VC7D3qJ9jlXJDq1EefIh94cIFnDrjCL8UbUx9ZCnmjTFqDc7Ok62pQmFKMBwuXIajVxjSi0qQE+GKCzbO8I7MgUy3B/qOnoqJgxUIOroPpy6cxfELTvDO0cekB6eiX+chQ0cWrWPaGyNGj4N1njP2nrrA2eQ0Lrn5Ild7Eh4WSy8BclQUJsCLO5cu8OkMzto7I6xqGJbOHw1jiOSlqERxgjdnAxs4ukcip7oM6YHXcOGqE9zFdUOv4AjX0NCAqakpJk6cCLrVghp5wYG8BSCK/OhioMmTJ/OdBfpNw6w0zE0XDtH85y2yCWoXYabhV4peqcNDHR1DQ0NutLIMFL3SMUEBbiEYcrgUgffq1Ys/p1qYjRdrl4OVl+cjJcwd7mFp3NzkcEwb3h2FIe7wC4tBFo0AyypQkBwKumKLUmiuBoY8+amw7oNVSVCaHQd/d19EZyvQZ9xEWCMZ7l6BCE8q4pp0XVhYT8cTr7+EBVbFCCG5Qn2Me/J/eO0BsbhXzta6Zhg0aSGeWmaN0lB3ziZBSK+2wtw33sTCgdxxUbxrUF2ajnB3wk8pEMml5lj0wUd4ZpJo3CugkKA8Mxzu7gGITtPA0LlT0beK+594ByAkrVwUlhAqSJo7o3saaS6QIidq4IWKtSkuPT09DBo0CDQPS/PJpAcNe1MnYdiwYfyVxU3lhbhNFzTRsGrfvn35K9IpmiXHShc4WVlZgYbthYj7TphoVIGutie70PzyneSbHtds+qO128YDJ+HR9+likxvTD++vwpx+XGkmAzFx2Qd8mM1f5PTD+1g1uy93QEBvXQtYz3oe39FFWE3T2i/x9uNj64dOycneh+e+r9fzx4/E5Vwb6Dbqg5EPvttoj58+fRMLRONcSQlD9LJeiHea2GnNF+9h8SA61jwJ+LehJQbNf7vRDvx/g3T65Wt8tGRQlwGnhoOiDZoro3sXS0pKQBfY0P2BsbGxXYajPRWRIyoqKsK1a9wIADeqQRc50VBeaWkp5s+fLwrHRPrr6+uDnBM5JRraJj1oaJiOzZ49m77UniiKpguXbGxsQA9nIOdP5w/xTQ+TIIAU6c2YMQN0f+y5c+f4BzXQvdULFy4UzJXRdN4TXsJIQ77UkXFxcQHpRXOspGdGRgY3wnSBT/T/oABx0aJFIN1Iz5amdjnYllbC5BgDjAHhMUCNOd17STfR05WeNKxKjQ1dKET3OwoP8c2IqDGkiJUe0EAXBtHDDcgJvPrqq5g+ffrNGQS6R1tbGyNHjsRTTz2FuLg4/iENZJOXX34ZFMEKATZxTReOUWeMbikivCYmJtxIjDtiYmJAx+mWHOJ+3Lhx8PHx4S9yWrx48S1v61GXTnTe0xw96UG3FFEHhkYO6Dd1MkkPOofofKJEznjmzJkQ3n2wYC/GAGNAqAwYGBhg3rx5+PPPP29Iv/76Kx588EGhwr4BF82P0dDj6tWrG3WghxtYW1vfICeGHzTESrfANNiDHnIgFOdK/FEnYNSoUVi3bl0j14SVnui0atUq/p5XDQ0N/grcjz76iJdZv369oJwr6UHnPXVcCHvTtHbtWowYMQKk59SpU3n8dPyPP/7g7xWnvK1NLIJtLWNMnjHAGGAMMAYYAy1ggDnYFpDERBgDjAHGQMsZYJKMgToGmIOt44F9MgYYA4wBxgBjoEMZYA62Q+lkhTEGGAOMAcZAexi4m/IyB3s3WZPpwhhgDDAGGAOCYYA5WMGYggFhDDAGGAOMgbuJga53sHcTe0wXxgBjgDHAGGAM3IYB5mBvQwzbzRhgDDAGGAOMgfYwwBxse9jr+rysRsYAY4AxwBgQCQOd62BrKlGQHAzHS5f4Z1PSsx8vXXKAV2AyykRC0I0wZSjNjYXXJXt4+CehFCJ6KatRnB4Gp0Zb2MLZKwI5/NJ1YtJDgtLM8EY9bB09EJYlNiXq+FZJy5ET4QwbBzeEZIpThzpN2CdjgDFwKwY618HK8hHrfg47NuzDeWdnOPPJG0GRmai4FRqB75OVpSPQ9m/89u0G7N7ngkyB470BnlKKspxY+PA2cIbDlQs4ffgwzgfmQHaDoJB/KCEpTkOI7Smcs+XOJwcbXDyzH3tPuiC+uAW4BSOigrQ8G5GuF3DuzB5sXLMRx4LE2eUUDKUMCGNAgAx0roPlFe6BoROX44stW7CFT6vx4SsPgBbbgZheyiou2giDn1cius0YDnMxYSesumYYPONZfM/bYAs2//weHhlSAZcL3sij46JInGOS1AAG4/D6+i3Ysvl3fPncDMBvH44FlohCAwKpkpYiO8Ie9oHxKO03GSNopxqTTCYDPbzdwcEBtIoTBSumAAAQAElEQVSIGqG0qWqlUomcnBxcvXoVtLILrfRCy9W1qTA1ZaIHzOfm5jbqQCvpuLq6gpZIUxOkdlVLqxyVlZXByckJtJgEnWPtKrALMxP2wsJC2NnZ8ecTnVNkD1pIorV6aHYhbhFXpURVXizCAsJQ3utxPLtwqIh1qYNOJ5FKxTkrjdq6HaL41EGPAWMx/6VnMcmEA6zTA+b9J2JMvyrEJaZxO8TxVsmkUKl0MeaFL/HiVDO1gaZzgBpBajhOnDjBP8SdVg65DSBB7iYdysvL4ejoCGoEadm6U6dO4fjx46Bl7AQJ+hagyMFSo06rt5Au1Fk4dOgQv6oOdSBukUXQu+RyOdzc3EALR2zfvh20ao2gATcBR3zT6jq0qAEtYUf2oI6Cv78/SK8monfc7AIHK0FRdiTcLl/mewOOXkFIEdtomKwIyeEB8ErVwKTHZqH/HWkVqICsHPnx3rwdzl71RlCpCWY/PB0DBAr3jrCUElSXZSOvTBeWFj3uKC4UAW2TPrCe8wIeHqJeRFKpFOHh4fDz84OlpSVMTU3VC6iNtVOjp6enhx9++IFfAeX1119HaGgov1xaG4vs8my0gsvYsWPx+++/Y+vWrfw3LZFG0ZNEIulyPO2pkDoLFI3TusK0Og2tddue8tSRV1NTE/379+c7CGQPWlXns88+Q/fu3VsFp3MdrLYRLAcPwuB+csRyPUzHK6dx6t9/cOCqmJysDKVpYQj2S4Zy4go8Mr51BLfKGp0trKhEEV10xtnCNyINKuNRGKRXJr4LnXielNx8bBJCXO0RWT0ai6YN5Peyj5YzQAtPUwT49NNPi2rt1KYaamhooFevXnjmmWfQu3dvfoH1QYMGoV+/fvy6qk1l1brdysrJLpRamU0Q4lVVVXz02q1bN8EtVdfVBHWug9XriZFzV+JHrkdGvYCtf6zGqmndEH1lL67Fy7pa1zbVp6zKQWSYHwILe+HRheMgYvcKGPXBqIfe53vIW399H08MzsCpvw/AKVUctrhuQM65lmYgwOYybD2qMeqxZzBv8PWjbKtlDBgbG+OBBx7A0KHin/Jo0JiG90pKSkBD3xSVN+wXwzdhT0tL40eYKPpLTEzEkiVLYGRkJAb4PMaamhqkpKTw864PP/xwqyM+vhABfFDnhs4hms+nUQSajy0oKGg1Ms1W52hPBhNLWA4ZjaEacu4PUNmekroorxLlGYkI9wlDup4BKsO4Ye6rzvAOT0BWbjTcHT0RkCy28e566ows0WvEeIw3zENGjrgcrLyyAJH2x3HyVCi6L1iJ/z03Ccb1arGve5eBhkbR1bXu4qAZM2aIigxysJmZmfx8Mg3b9+jRg3euYrnQifgvLS3lL2waPnw47rvvvo7iv0vL0dDQgLm5OcaMGcNPn5CTPXLkCI4ePYrWOtkudbDSkmykREcjT2aJvr11u5S0tlWmhFLLEKamfTBIEcef+I4uXgiKTUFuQQL8PQIQll7etqLVnEtZXYaijHSUallh2GDxuCelpBSpPjY4f8EH2gv+h3c+WIKBauaSVa9+BqhxJ0fk4uICLy8vPPjggxgyRM2T3K2kRVdXF7NmzeJHmGguljoIO3fuRDTXZrayKLWI05RDREQEKC1btgykj1qAtLNSLS0tUAeBbEAjrzT/+tZbb+HixYsIDAxsVemarZJurbC0BNkxXvzVfXSF39nzTvBN1MAkbuhg3lgxDLbqwmLY/Xjhx638SU9kb/3jB3zwzBJMGfc4Pv/5E7w+r39rWVGLvLK6BBlhzo22uHjeBi7+eeg24SFMH6QWSK2vVClBSZIXLh0+BMdcY1hYyRFx5Qqn01U4e4YjW9r6ItWSQ1HF6eHL4baDi2c0ciVlyAhxxBV7V3jFi+d2I7Vwd5tK6UIguhr6zJkzmDJlCmheWUdH5zbSwt9Nzsna2hoWFhbIyxPHjXR0pTB1cDQ1NZGQkAC6AtfX15eP+ugqXLF0FJqfHeRwaV6f5vqFFcHKypAbHwAKsSn5pSsxcPln+OjVuTfcB9tcIUH/1u4G84EjMHnqUNCdIoLG2gSciov8sqO9Gm3hGpYDzUnP48N3FmFAEzlBb6qkqJZWQdJjImaONUOBn329Ps7w9I/mRkYEjf46OEU1SlODOeyeCElQYMD9E9Gz2A/2rl7wTy69Lse2WsSAXC5HaGgoyLlOnDgRb7zxBj+02qLMAhWiaJDuSaZhYzFE4jSCQImGtQ0NDblz254fKg4ODgbdfkT3wsbFxQmU7f+GRbagqJxuB7Oysvpv4WZHNZv97tifJoMw+fGPsW3btrr004d4dY7oHjFxIye6FrCe9QhWvTEf4ohd6+DrmA/GjOd/qLMD2eOP7/DhigkQz+Awp4dODwyY+gx+IPw3pA348dPnwN8by4kJ/m1oicEL371uiwZd1n6HTx7ququ1FAoFkpOTGyMNmj8L5RwV3UtK9wEKnkcOIDkgujDo8OHDvC40d+bKzcFS9EQRLQ0bc2KCf5MtYmJiuFENGpG5wl/oRHrQrTuDBg0SPH4NDQ1+3vKTTz5pPK83b96Md999F6NGjcLq1avx5JNPCl4PAki3GdFcOI26NiSyxYIFC0C3TpFMS1PnOtiWomBy7WCAZWUMtI0BuuKTnBMN39GVn9SYk5OlxiQpKalthXZxLmoM6bYQuiJ6woQJ/H29NFpGT6Wi4Uk61sWQ2lQdOVjq1BB2Sj4+Phg4cCDee+890UbjNFRMV3LPmDFDVPOxdE7Rk8HIDpRoTp90+Pzzz1t9VTRzsG36O7BMjAHxM2BgYID58+c3RhwNI030BBu6xUIMGtI868SJE/HHH3/coMeWLVvwxRdf8PfGikEPGlZ9/PHHG3XYuHEjVq1aJSrH1JxnmrukB0288847rXZMzcvqyt/a2tqYNm1aoy02bdqEp556qk0QmINtE20s093CANODMcAYYAx0FgPMwXYWs6xcxgBjgDHAGLinGWAO9p42P1OeMdAeBlhexgBj4L8YYA72v9hhxxgDjAHGAGOAMdBGBpiDbSNxLBtjgDHAGGgPAyzv3c8Ac7B3v42ZhowBxgBjgDGgBgaYg1UD6axKxgBjgDHAGGgPA+LIyxysOOzEUDIGGAOMAcaAyBjoEgerrCxEaqgL7D0CEJsnFxlFDXBlKMuLh6+NM7wDUyDSRepAD/3PDHfFNTdfRIlsmboGSwAKVBYlwc/GER6+iRDr03tV0grkRrnhmrMnwrLEslIB2IsxwBhoIQOd7GCVqCpIRbjbeZw8tBW//74LFyMqWgJNWDKyMuTF+eHK6ePYvX4tNu1xQoawELYAjRKSkkxEuV/EmWPb8fsvW3AqtLwF+QQmIq9EUaI/rpw9hf0bfsParXZIhdheKkjLcxHN2eL8qZ1Yt3o9jgSKtcsmNu4ZXsZA1zHQqQ5WWZmL5OBrcIrOhrTXGIhrdcYGI8hQlh0Lr4s+iMnRxbAZFg0HRPWtrC5Ceug12IckodxqPIaJCn0DWAUqCxLgc8EdIcnaGDnbsuGAqL5V0lJkR1yDnW80ivpOxkg1o5fJZIiKioKzszPoIedqhtOm6mkll5KSEtByaf7+/qAVdtpUkJoz0TOJ6aH/9Czl9PR0NaNpW/VkC1p5hmzh7e0NOr/aVpJ6c9FCEvR86GvXroGe2d0WNJ3qYGuquGi1mxWmPfcOHhtn0hZ8AsgjR1mNDgytH8aHby6A8Ne1AICbXypJFVTaxpjw/CdYMcnsZgFR7JGjUskB7fsgPvvwIQzlNsX4VskkUCq1MPrFr7FymrnaVGhoCD09PXH8+HH8+uuvIOekNkBtrLhh0YJLly7hr7/+wvbt21FZWdnG0tSTjWxBCxPQg+VPnz6Nn3/+GeSc1IOm7bWSU6JOGq1CQ3agFXXEZgvSXiqVghZcOHfuHH744Qe4ubnR7lanTnWwer1GYtzsxzC3f6txCShDdwwYNhkPLR+P7gJC1VootFzdqDkrsFisPQRe4W7oPWASHn1+sqjW4uWhN/nQNumLYQ+sxFI19xCoEQkPD+cbEgsLC5iamjZBKY5NckzFxcV89E1L740ePVocwJuhpMg1MjIS7u7u/LJvtK5qMxHB/yRblJWV8evA0tqv48ePFzzmWwGkDhuNIjg6OvK2MDNre0CieasK2D7GwD3MwD2jOjXqFHE8/fTToOW4xKg4LS1Gw8GWlpYQ26otTfmmRr26uhorVqzA7Nmzmx4SzTY5WLIFLR340Ucfgb5FA74JUDqnaLrhmWeewbx585ocaf0mc7Ct54zlYAzcFQxQAzh37lxYW1uLVh9aEq1fv35YtmyZqJd2o+XqaOnA4cOHi9YWtP5r7969sXz5clHbQldXFwsWLMDIkSPbbQvmYNtNISuAMcAYaGSAbTAGGAONDDAH20gF22AMMAYYA4wBxkDHMdC5DlZaipxYH9jaOsMnJBn55flIDnKErYsvQtLEcg+mEtVF6Qh3tcU1V19EZhajNC8WXrYO8PCPQZ6s44zRqSXJK1CQ4MfZwhGeAfHIrypGWrATbJ29EJAslnswVZCWZSPKzRZ2Ll4ITS9BRXE8vG3t4eodgRxppzLYcYUrqlCS7A9b7hxy8+bOIUk5MkOdYevoDp/Eko6rh5UkNgYY3ruMgc51sLKSegfriehcbQyYMAA6GR6wdfFBSKp4HGwVOVgXWzgGJKDMfDhG9ZMigmvU3f2ixeNgZeWcg/XlGnV3hKWo0G/KcBjleMLWyRP+yaUiOa2VkJRmI5Lr7Dj4RCLfeAQmDlMh2vaaSB2sCwJipOg7cxzMC7xg6+gG7wSx2EIkpwyDyRhQIwOd62BNBmPyE5/y96XRPVGNac0neG1uPzWq3ZqqdWE5fDZW/ry9mR4b8N0HT2G8cWvKUqNs974YvfSjZjpwOv32Fd5bNFCNwFpTtQ56DJyKZ1dzuLc3TZvw0+cvYLJY7jIx7Ikhi96/2Ra//4DPHh7cGkLaJUtXEaekpODq1av8/a+lpaUICwsD3Z6QkJDQrrK7KjNduUr3WdI9o4SbbtUpLCzkbxWhe0rpWFdhaU89dDU3PViCbEG60IMaIiIiYG9vD7rlpT1ld2VeuhKa7h8l3ImJiaCrcZ2cnPjbjyoqKjoXSgeVTlcRZ2Vl8f8Lum2KcEdHR4MeOEHframmcx1sa5AwWcYAY6BLGaBbQ8jBUsNBDpXuIS0qKgI9RYh+dymYdlRGDSA5U2oMdXR0MGTIEL5BpwdoiMXBki3IwdrZ2fFP1Ro3bhzonlJyVLGxse1gp+uyUmdHIpHwD8igp4JpaGhg1KhR8PDwgKurK8hOXYem7TU1dbAhISGYNGkS/+CSBtu0pmTmYFvDFpNlDNxFDBgYGPC3IzSOLNWPCqxfvx5Lly4VhaYaGhqwsrLCF198ccOIAD3R6auvvkLv3r1FoYeenh5//2tzW2zcuBGPP/64KHTQ0NDgH8zw2Wef3WSLH3/8EX369BGFHtra2pg+BDjJTwAAEABJREFUffoNOpBd/vzzT/4+5dYoISIH2xq1mCxjgDHAGGAMMAbUywBzsOrln9XOGGAMMAYYA3cpA8zB3qWGba4W+80YYAwwBhgDXcsAc7BdyzerjTHAGGAMMAbuEQaYg71HDM3UbA8DLC9jgDHAGGg9A8zBtp4zloMxwBhgDDAGGAN3ZIA52DtSxAQYA4yB9jDA8jIG7lUGmIO9Vy3P9GYMMAYYA4yBTmWAOdhOpZcVzhhgDDAG2sMAyytmBpiDFbP1GHbGAGOAMcAYECwDzMEK1jQMGGOAMcAYYAy0hwF152UOVt0WYPUzBhgDjAHGwF3JAHOwd6VZmVKMAcYAY4AxoG4GxO1g1c0eq58xwBhgDDAGGAO3YYA52NsQw3YzBhgDjAHGAGOgPQwwB9se9sSdl6FnDDAGGAOMgU5kgDnYTiSXFc0YYAwwBhgD9y4DzMHeu7ZnmreHAZaXMcAYYAzcgQHmYO9AEDvMGGAMMAYYA4yBtjDAHGxbWGN5GAOMgfYwwPIyBu4JBpiDvSfMzJRkDDAGGAOMga5mgDnYrmac1ccYYAwwBtrDAMsrGga6zMEqq4qQHuEBZ59gxBfIRUPQjUDlKM9PRIC9G/xCUlF+40HR/FJKSpEd5QlnzwDE5MlEg/tGoApUFqcg0N4V3gHJKLvxoGh+qWQVyIvxhJO7DyJzxGoL0dDNgDIGupSBLnCwSlQVpSPS4wJO7N+IX37ZgfNhFV2qZIdUJitHfmIAbM4ew841a/DHP45I75CCu7IQJSSl2YjxuIQz//6JNT9twolgEXYTFJUoTg7E1fMnsefXn/DLZlukdCWNHVKXCrKKPMR6XsGFE39hzXdrcci/tENKbmshKlkl8mO94OTmjYhssTr7GkgrMxBs7wwP73iUtJUMNeerVUhRHO8FRxcPhGZK1YymrdWroJBmI9TeCa7usShuazEdm6/VpdUqFShL9IaDkwsC01tni053sMqqPCQH2cE+LA2VPcdgaKvVE0IGOcpzYuB1zgPhaVqwvs9SCKBajUEpKUJ6qB3sAriTvdcEDG91CULIoEBlQSJ8zrvAL1YDIx7oKQRQrcagkpUhO9Ieth4hyLWaglGtLqEjM6ggr8xHnJcNLp76Cz9/8wv2+6nX2bdJuxopKtNDcPXSeRxc9wO+++U8EttUkDoz1XJOqRgJnC2unN+Jnz//Dju9RNhNUCkgzQqB3ZXL+PePb/HFtycRp05a21R3LZSKMiR5X4Xd5d34+ePPscWtqFUldbqDrakohUrfElOffx9PjjdtFTjhCEtRIteG3uCH8fE7izBYOMBahURZVQmlhiHGvfA5np1i1qq8whGWo0KhgrLXg/jyk6UYJhxgrUKiklShRqbCiJXf4+UZ5q3K29HCKm50JjfKHjZugci2mooxHV1Bl5RXA2l5KvzP28ElQIkxi3p3Sa0dXUmtohqFMfa47OCFtL4zMb6jK+iS8lRQVGci6JwNbN0VmPBQny6ptaMrqVXKUZrgiIuXHZEwYBYmtaGCTnewer1HY8IDT2L+gDaga0OWzslijIHDp2Dpigkw7pwKuqRUXYshGD33OTw4uEuq66RKusFq4GQ8tnIKTDqphq4oVtu0H4bNexnLrLuitv+uQyWTQF4tx7CVP+K1mRb/LSzYozWQcBFskcEifP/DcowULM7/BqZSyCArLsHAVb/i7dmW/y0s2KNKyJTlSMN8rFn7LEZDnK9aZQ2k2RmwemUjPprbq01KdLqDbRMqlokxwBjoMga0ja1gPf81PC7W4QCeKX306DkRK968Dz0g3peWoRkGLXwHT48Qrw6ADoxMJuCFD+ZArONkxL6mbjf0XfQxXmhHD0GTCmKJMVDHAPtkDDAGGAOMgY5igDnYjmKSlcMYYAwwBhgDjIEmDDAH24QMtskYaA8DLC9jgDHAGGjKQOc7WFkZchMC4ODgDv/wVBRWFiI11BUOHgEIz6hoikXA20pUF2ciytMBTp6BiMkuQVl+PHwdXOAdFId8sdwyKK9AYVIgZwtX+AYnoqCqBBlhbnBw90VwarmA+W8KTQVpeS5iyBYevojILEVlSSL8HZzh6R8N0Tw3Q1GNstRgzhYu8PLnziFJBbIj3OHg6g3/ZBHeItPURGybMcAY4BnofAcrKUJmhCvOnHHgGnEleo3qDVWCPc5cdYNfklgaEiWqClIQePUMLruHI89oEIb2LEPAmYtw8AhHduvuPeaJV8sH19nJi3HnbHENvjES9Bw/CDopDjhj4wTP+GK1QGp9pUpIStIRcu0MLjoHIk1vMEYPlCCIs4WdczAyJK0vUS05FJUoivfgbGEL9+AyWE4ZAaMMR5y5Yg+XmC62RY0E5Wl1zt7Tj3P2skrkRrpzzt4Lvkld9R9trxVUUFQXIt7LAY6unghOK4OkMhUBDk5w8woXz39UKUN1ZggcuA6jmxfXYVRIkB/tAQdnd3jFl7SXpC7KX4saWSkSvR043G4ISCmDXJqOIAdHuLiHIFMs/1FVDeQ5YZwtnODiFoHcGgWKYz34B064xbbsP9r5DtZ0CKYu/wK7du26Ma39HG/M699FBm9vNbqwHDEHL//WTIddW7D64xWYKJb7Rbr3w5hHP73RDmSX9d/hwyWD2ktSF+XXQY+B0/HCL81tsRW/fr0SU8Vyq7VhTwxZ8tHNttj4E756ZEgXcVlfjaIKJQnk7G3gGlAMi6mjYZzJOftLdnCKKqoXEvqXCrLKXIRzHa8L19wRqzEUk0erEHbmPK7Y+SKtWuj46/HVSFGR7MV1vC7DwT0X5vdNRs9cJ5y5eAV2EQX1QkL/qkWNtBBR9mdw3sYBoTXDMHOKNiLOnMPFK55IqRY6/np89LCMNB/OFhdgY58OswfuQ/9CF5w5dxGXQ/Lrhf77q/Md7H/Xz44yBhgD6mbAwAIDF93C2W/+Bd89NlTd6FpYvzaMeo7F02t2Neu0bMeGX97EfWYtLEbdYnom6PXA+8104HTa+gd+eer2z15TN+wb69eEvok1Hv+Jw00d+Mb0N7b88QHmqPe5KjdC/a9f2gYwnvn2zbbYsQUbn2/Zndaa/1U+O8YYYAwwBhgDjAHGQNsYYA62bbyxXIwBxgBjgDFwVzDQeUowB9t53LKSGQOMAcYAY+AeZoA52HvY+Ex1xgBjgDHAGOg8Bu4FB9t57LGSGQOMAcYAY4AxcBsGmIO9DTFsN2OAMcAYYAwwBtrDAHOw7WHvXsjLdGQMMAYYA4yBNjHAHGybaGOZGAOMAcYAY4Ax8N8MMAf73/ywo4yB9jDA8jIGGAP3MAPMwd7DxmeqMwYYA4wBxkDnMdD5DlZZjaKMKHg5OsKxMXkiKCIDYllL50b65SgvSEaQoycCwtLFpYNSgrLsGHg32sEVPmJaDajBECopynNjG/Vw9QpAjGiW0WlQou5bJatEfpwPXDz9EJ0rq9vJPusYYJ+MAZEz0PkOVpqLaKdj+OOHjdh78iRO8ukynLzjIZa1IZraWF6RiaCr27H6o9XY+rc90poeFPq2sgqFKQG4wtvgJI4d3I99/+zHxdB8yIWOvRGfCtKSdITaHsGBw9z5dOwQDuzbjn9OeSO1rFFIBBsqyCrzEe9tiwvH/sTqb37FAT/1rlyjklehIN4Xrl5+iBKjs1cpIClKgK+TE5y45OLpg4gckXVaamsgLU5s1MHJyQUe3uHiWQ3opn+eCgppDsKdXOHhJbI2v1YJRXkK/Lhzic6nuuQCN49YFN+k5613dL6D5es1w7Cpz+PHPXuwh0/r8eVbCzEAIntxEWBuZCh83KOgPWUYLEQGH7oWGDprFdbyNtiDf/74DI8PLYX9GU/kiUYXJaorJJDWjsBb27jzadc2/LByGhTuf+NwoFjWtAVUsjLkRNrjiqsfsnpPwWi18q+CvKoACZyzv3TiT/zwxU/Y66NeZ996OlRQVOUiyu4I9h08gRPHDuPw3q3Y+q8LEsXUk1fJUZUbBtsTnA5cOv7vYezbshVHfLLRyq5C6ynshBwqRRVS/fdjzcdf4YevjiO2E+rotCLJFslX8Ot7P+FvzhYn+HQKZ88HoqXtZRc52E6joAsLVkJSGIfwgHCUmj2GFx4a3oV1d05VGhqABmqhqlFACbG8dGA2aAKW/O+luqXpdHrAYuBUjB9QiZi4ZLEoAaWkCvJqBYa/tBqvzrRQK26VvAK5Ufa47OSD9N7TMFataNpauQoySTWKS/rg1a3U8dqBte89CH2PTdglps6CliHMRz+FNfWd4F1/rcNH85S4tPcastpKjbrycdF4dV4C7PfaQ7lgAvqoC0e76tWBofE8fFZvjz17dmLb5pUYhZa9usjBSlGaHw//+lDbKygSGRUtAygYKXkJUsID4Jkox7jHH8BAwQBrJRB5JYpSgvkhNFvnAAQX62PGQzMwCCJ9cfOxkop8FFbowKyHsWiU0DHth+ELXsVj1uqHrJJWc8PVEliv+hmv36deZ992NrRh1HMElrz/Fu4340rRNoJxv/tx33ApIqISuB0ifmvUAjVy1IhKhVp+TdhEj7Pwla/AZysniQo9OgitZgeVc/titA1h1r83LI3z4UUh9qFd2PvPNhxwEJOTlaM8PRwhfomQjnsGj08ST0N+k2FkpdzQpDNouOMKN9RdbTwJEyxkyJfdJCmCHSpIS1IQ7nENYWUjsHD6EBFgFh5EbWMrDFvwOp4YJjxsbUbEzcfKK3OQU6oFC3PTNhejloxKOaqzwvhOsL2zJ+xjazBzxXwMVwuYNlbKDa9WpvvjxKUUjHvjMYxoYzHqz6bi+jZZCK4PDl3cPBDb0glYDnznO1i93hiz8H9Y1xBib/sNr07XQ8jZv2EbL45La5TVOYgM84VvlimWLp4IEbtXoHs/jF32ed1c+MaP8fTARBzYtBtOaeKwBXfO1r9VkJZnIcTeFjZOJRj6yLNYOLT+EPu6xxlQcfOx2Yh2Pw/33BF4eJbIeg41ElQkuvOd4HM2Lsg2nI05faQiutCJ+E9H+KVLiB7+Nl6faybO81FDCzrG/TBumhbCKDg8dgRHd6zBhhMtd7Kd72CbU2vaG72tx2OklgylJeoaJ24O6r9+K1GRkYRwvwhkmfaCVpITnNx8EBybiryCRPh7BSJcdOPd9fp274XeoydjUrccpGRK6neK40tRVYgYp1M4ftgL2rNfwJurpsJEHNAZyk5lgGvcqwsR6XIFZ86lYcCyl7FUbOGTngl6zf2grhP812/4cn4pDqxejwsJsk5lrqMKr62pRn6CPfa7aeL55x6ASN0roKmLbkMew08NweGuHdj4wSJkH/kEewKkLaKryx2svDwXaQlxyKk2Qy8LnRaBVK+QEvJaLehpdoNZgTeOHz+O46cuwykgEqmZwbh2wR7urRkzgHBeKkkFSnKyUaHVE0MHicc9qaQVSPe/hvNnnKCY9Rre//xRDBEOrQyJGhlQyiqQ5H0Gh7fbQDL1JXz09v3ooUY87YCzZEkAABAASURBVK5azwjdx87DAotMxKdUt7u4zi+glhs9KELUBRtE9p2IXjnOcHZ1h2dwEkqlmQhx84R3gpgu627CmLYudDlbzOtei7z8oiYHbr+peftDHXREVob8xCA4O3NEc8nmsjN8IqsxatFDWDDRuIMq6cxidNFz5Fy8+vte7N1bn3asxRcvPYoZk57BDxu+xfuLxXHJk0pShpxYn0Zb2Nvaw807DRjxIFozfdmZbN+xbJUUJcneuHJ4H+zzemLQaEOkcueVs7MbfAJjxTOXrKhGWXooZwt3+AYmoIDrNOREecHZww9BKaK6ofeOJusqAZVCgtwwZ5w5cAbFk/+Hz35+CiIbHL6JqtoaGSoyk5Bb0wujhouhq1ALJeSoRh9MVAbj2LFjOHb8FM47hCGvOg5Op87iQlBLb3K5iQ617lDVyJEf64bwXEsM6qvfIiyaLZJqj5CkCGmhDuCJ5si2CS9Fzye+xldvL4To7oNt4EHLAKZ9h2DMuAHo3rBPBN813LBqst/lRluccYlB9Zjn8cUnD2OwCPDzELnhp4ryAuRpWWPsIG0k2B6r1+cULl3zR5pYRrrlFSiMceGwX4CjXyF6TLCGfrItjp27AvvIQl7VLvuokXDTIGG8s/cJ4Jy9rAp50eTsfRGQLBJnr1KgKisEV/dvxdkUCwyb2gMZfMfLFZ6+kchp2Yhel1F+u4pqa6QoSfTjbOHMJ0d7R1y74ouKYU9h/sjb5RLSfk0YmAzDE2v2Xg9Idm3Hpq+WY4TZQny+40/88ZwoFAFUNZDnRvB2oADR0cEZZ08HwWzBi3hxgXmLSO98B2s6BNOe/vo62eu/wtsLROta60jV64kRc5/AG+8vgThi1zrYuhZDMevltddtsf1XfPniFJjUHRbHp64ZBs1cibUNowmN3zuw7rtVmCb4C0brae7WC0Mf/OS6LRr0+PMXfLOsi6/Wolu3Yl04Z38e9t55MJ00HIYpnLM/cwl2EQX1gAX+pZJBUpGFtBprTBltjFS7ho7XSZy/7IkUMYyuchSruM5NbqgNZ4s6/CcvuSC+53NYs/ZZiOoqYk6XxreGNnRNBmLy/cMhhhi8ETfXaZOmeDTa4tQle2RO+Ql//fmS0O6DbYTMNhgDjAGhMWBoiUGLP77Z2W9dix8etxYa2lvj0TZCz3Er8EtDR6Xxeyc2/fZ23b2xt84pqL1a3cwx6uk1123xzxb8/v5scTmm5oxq6cNk+FJ8/sfzEEnsWqeBtgGM73v3ui12bsOfL7b0ERN1RWjWfbFPxgBjgDEgfAYYQsaAmBhgDlZM1mJYGQOMAcYAY0A0DDAHKxpTMaCMAcYAY6A9DLC8Xc0Ac7BdzTirjzHAGGAMMAbuCQaYg70nzMyUZAwwBhgDjIH2MNCWvMzBtoU1locxwBhgDDAGGAN3YIA52DsQxA4zBhgDjAHGAGOgLQwwB9vAGvtmDDAGGAOMAcZABzLAHGwHksmKYgwwBhgDjAHGQAMDHeRglaguzkSMrycCI5JR1HRpUWU1ijNj4OvqCtfG5IOQqExUNqAQyjc9HzYlBK4+wYjMrGiGSglJaTZifV3r9PAMQFhiIZqq2iyDcH8qKlGcGlqnh6sH/EMSUNA+RbpUV0V1KdLD6u1A55R3AELTyrsUQ0dVppJVoiDBDx6+gYjNE8dyZB2lOyuHMXC3M9B+B1vvQL0vncCeX7/HT1vPIqxpWyfNRZTjv1j79Tr8ffgwDvPpHK65x6JYQOzKKwqREmyHc/9uxbc//Ia/HNJuQCevyEO460ns/msHp8NB7Nr5D7bvuYiAmxzxDdkE90NRVYw0Xxtc+ncvdvC2OIEL1/yQXi04qLcFJCvLRaRjw7m0H//s2YEtBxyRJpLn0tcppoK8sgAJvldx4chGfPvFz9jnW1p3SE2fKnkVChP84e4TgJhc8Tl7pawKWRGu9R1H7ttTRIsVNLe5Ug5JdkS9Lu7w8hXgggX0rN6cSLh6eME3sfm5WwulvAwpAa51OtAydeHZEN5ZxeFUlCM1wA0eXmHIbrooRK0SivJUBFAnvjG5w9MrHiXN7XWb3+10sEpU5ycjyMYWgXElMB9jfZtqzDF82gv4af9+7OfTBnz9ziII5pH/XOSaE+OBs67+iNewxmwL3PhSSpAb4QV7p3B0f34jp8NubP36SQwrdcCuE/4oFEv0p5QiP9oLJ3afRqTRUvzB22IH1/lZiSlieUg+Zxkjq5FY+lnDubQD696bh14hJ3E6SiyGAFSycmRH2uOyozfSe03FGE4v9b1VkFcVItHXDpeOb8R3n/2I3T7NG0z1oWtpzYqqEsS7NHS8DmDPvr+wfucVJItMFaW8Gjmh9rh2ZA+28Z3gozh1zgWJVS1lovPlVAop1yY64tql/fj5s4/xxYnYGyqlpQMzgs9j5+ZtOHz4EA4c2IUNfxyEY2LpDXJq/dHgQB3tcXHrN3j3o01wKWyCSCVHVfJlrHn7e2zl7UDn1lGcOO2LnCZi/7XZTgdbg/IiBfTMp+CFj5/CBFEtldCEFkkRJCpt9F/yOT5YPLTJgbpNZUUGEqNCkaqYgqVzBnI7tdDd2BwDTOXIDnaBdx63SwRvVVUWUmIjkGaxAu99shSDRYD5jhBVGtBU6kK3ux5quY4QRPJSSiogq5LCetXP+N99zXt0XauEiutg5kbb45K9B1J6TcfYrq2+w2rTN+uH+R/u5zrAlP7B5m+XY1go1yiGCi9uuq3StTWoyo7EmS1/4XLJ/VjHd4J3YesfH2BOy1ZIu23RHXaAi1yrM0Nw/uI52MnG4dG+zUrmdJDkx+LK7sPIenAtZ4992PXnN3jGxAW/brO/MUpslrXrftbyEXaS43mcvRiBPrOn3KZqHRgaz8cXvB32c7rswvYtqzAaLXu108HqoffYSXjg6YV3iEalKCtIQGB9mO0TEgVBjayaDMLImcvw7GTjW7ImLy1GXn4xlEPHY5SRBKXZUXD3CkBougTdlLnIyBVH5CQpLkJWTjIkQ3tB7ucKV7KHdxDCMypuqbdwd6og44bs40kHrvfp5R+Fij4LMW+siXAhN0OmY9ofIxb+D08IYEVwlaQKsvIqDFn1C968X73OvhlNLfl5axkVoFGjA11jfa7jJZ75j1puZCM/xgEe8uX4ct1zGAEBvmqkqClOgnzub9jw3LibANYqqlAUdRn26VPx8jJaP0cDOjomGDbUDNV+Z2GbcVMWNeyoRY2iGhnJlnht22eY17NzILTTwbYAlLYhzPr1RA/DbLhSmL13O/75eysOOArMyd5JFQN9aBtqojLSHVfPnYdHshRDHl+FmaY1qOYikTtlF8JxmVSKivw0yDKCcfnEYW7oZh/+3s3NX+53QIKYrnKCElVFqfA7z+lw4hJvi/7TRkOnvFwINIsOg7ZJHwxb+AaWi3bB0QbKa6GQFCPJ3xWuzo7w8PBFXs+HsGSSeIbWFJJqZEYFo2LKCOiQHq6cLh7e8EsS0NCqbneYTlmJj+aaNRB/w7dSLkN+bDQKR8zCVDMl5GXJ8HV3gkNMDfroZSIhTXaDvHp+aELPqB8Wf36ntV1VqJFnI5TswCV3Ty/EF7cccec7WL3eGLPojfr5Pi7E3r4Or03TRdCZHbCNV7QcqboluZ5lHjdPe/6CO5JUM/H69+9iYX85aqGHHmbG6kbX4voVXKSiqDHF/NWcLfb/jQ3vLYBV1Fn845AOccThpKoOzAbNwEu/kw578Nu7j0LXaT1+OxIE5mKJn3s1KSEtz0LghUM4dPQsroWXYdADk6BXViYaQmpqFCjKTYdOcTRsTx7CoUMHsGf/X/ht2yVE5nSCY+osZrS0oGHZA1pJfnC6eBbn7EJgtvIbPNK7FhXlAppM/i/9NbSgbdwXoyepEHCIs8XB/TiwZTU2nPZGfAuvcup8B9tcAdPesBo+EaO0ZCgpEUdzqKWrBwNFKXLj4pE/5Q18/+GDGKSsQgU3dJxfZgLT7s2VFOZvLe6kN+pvjSGzl9Rf1NQdvXqPxuRJ3ZCTmgGJMGHfARXnbC36Y9qkgZAkJSPrDtLs8N3MgDa69xqHZ9cewIEDe7Hp21fRy/1XfLPLB2UiUlsplaMqqxoTviU9dmPHr69hRvK/WHc+SYBX4d6GWG6eVpIehEvnzsIuvC/e2PYHXhglhVSmiZ69bh353qYk9e3W1IXRkMfxy4ED3PnEpb3/4M8PFyLj4IfYFSBFS16aLRHqSBl5eS7SE2KRU90DPS10OrLoTitL17w3Bo67H9PMzTDYyoiL9JSQFOYiLaEYqgHTMXVwp1XdoQUbGJvA3KIn8uOiUXflswISSQlKqrTQc+ggmHRobV1VmIIboi9CVmENzEaOgFVXVcvqETgD2ujORR+zZg2HPD4B6QJH2wBPU1MTRpZW6LPwqfqLmvRgZDQGCxZaIjM+CVUNggL+1tDUgkE3bu476BLsLN/A1o0vYmRtDRSVGUjOsQAX2AoY/X9A09aF7rgFWGBSi7y8IhK8Y9K8o8QdBOTl+UgOdYObTwiiM4pQWZSOSG83+IZGI6uCyywvR35yCNzcOBkuXbVxhXd4JUYsfAgLJxpzAgJ4K+nCpVj4uXnALzQeuWXlKEoMgptnIMKTCiHXM0ffUZMwplcpvP79F3ZuTrhy1RluiQpYL5qKQRDHS7dHbwwfMQr9Ux1w6CrZ4xocvH2RUm2NJWLpJYBzqKXpCOPOpbpzyh5XXZ3hk2GJBXPHwhQiedVIUJ4RDjc3L/gHJ6FQWoncGF+4eQcgRKQPzRAW80rIpEVIzZLAdMwY9BMWuNui0dHTh9VgaxRGhCCXD5KUUChKkJNfg56jhkMMsZ+WngGspi/BNBNzjBtkAhlqoZSWI90/Erl9FmPB6NuqL+gDqho5CuLcEZZjiQF99FuEtd0OtrogBUFXD+LgRU/EVJtisGklQs4fxBmuAY8hJ19dgNTAqzh48CCfLgQXwvKJb/GNkO6DrSnnhn+9cPbgcVz1S4VW737onu2Kg8cvwj4gA1LooufI2VjxzircpxuO85ycbUQVBj32Nj5cIhb3CkDXAtbTlmDFwxaIvED2OAufVAPMeu8zLB3KHRfFW4bS3EjY159PBw+egXucJuZ+/j1emSEa9wrIylEQ6cD9J07hqmcOuo8dBO24Czh44jxsw/K71hI1UlRkkrP3hF9QIgplVciP9YGblz+CUsu6Fkuba1NCVpWNiMaOlyPs3WxxLcYUDz44CWK5zEnLwAgDJj2A6XnXsNeWOsFOcPa8Ct+cIXjqgRFtZqdDM3LRqLw0BQFu7vDkAqv0cgWkmaFwc/eCT0QOZFp6MOw/A4tnGcBvzx7YuLnAwckOx65mYMizCzGqQ8G0vTBymPnRHMeEOzYfSq4jk+DnBg8vbyTQHKuqBvK8KK4TzMlw55WLsyvOnfSH6bwXsHJhy+6Z0mw7vLqcpkNnYMU33Pj0gRvTxm/ewaJBnIzpUEx/5tu6MWyS2fCnv1GpAAAQAElEQVQN3lk4gDsgoLdeL4yc/z/8QfiapAM7fsHnz01CXZxNTnYuXvujXs9N34vLuTbQ3b0/xj3+VaM9/vzpUxE5V1LCCH1GLsUXTey09ZevsMyajokodeuFoQ9/1miHAw36bFuL7x7rYmXkFSiKduSdvY1bFozGD4Vu/EXO2Z/DlZB8kZCqQFVJLBwPUseR0gnY+VZg5tfr8O5ssbhXjmqtbjAf/iDeeX00ki6THsdxxa0Qk7/8Hc8JxjMpUJ0XgosH/8XJC94oHzAJY2V+OPjvcZx2jOeGsbWgb2KNZV//iJeGpOAyyV0Jhuqhb7Hx+ZGcksJ4qxQSJLtyHB89hfMJhpgx2QJpVw7i32On4JPFYeTmkaVJLjh48CCfjpy1QeqUn7Fj6yq0NAjX5Iphb8YAY+BeZsDQEoOWfHqzs//rd6x+cphImNGHWb8F+KSho8J979jwC1YIpz1vOY96Jug976NGe+z8U0DOlbTQMoDpiOX4leO4sWNI23u2Y/Mnc+uHsTU5JzsMy3+tD0j+2Soo50pqaBuYYOa79fgIf33avWMLVo3lJLQNYHz/+412OLBrB7aubKlr5fJzb+ZgORLYuzMYYGUyBhgDjIF7mwHmYO9t+zPtGQOMAcYAY6CTGGAOtpOIZcUyBtrDAMvLGGAMiJ8B5mDFb0OmAWOAMcAYYAwIkAHmYAVoFAaJMcAYaA8DLC9jQBgMMAcrDDswFIwBxgBjgDFwlzHAHOxdZlCmDmOAMcAYaA8DLG/HMcAcbMdxyUpiDDAGGAOMAcZAIwPMwTZSwTYYA4wBxgBjgDHQHgZuzMsc7I18sF+MAcYAY4AxwBjoEAba7WCV1SXIjvWHu7t7XfIORlRKMRQN8JQSlGTFwb/hOP/tj7CYLFQ2yAjgWykpRU5cQJ0O7t4IikhGkbwpMCUkZTmI92/QMwgRSUW4QaSpuNq2VZCW5yEhwBuB4Un1y9I1AaOoQklaeL2e7vALiUQGrXrUREQ8mwpUl2Ugwt0XQeHpEKMaKnkVChMD4eUfjLh84Z1N4jkXGFLGgPAYaLeDrSnLQpTrKezfv59Le7D9rx3YeegqoovqXaw0B5EOh/DLF79gGy+zn5M7CRvnaNBiO4KghOsEFCUG4PLBnfiHw7hnx3bs2LobFwOvdwLklXmIcD2Jf7Zs5fDvwY7tO7B190UEZQmom6CSojw3Hr42p7H/16/xzdp/EVTahGE6nhoIu4Pb8MfO/dj/zzZOz83Y75B4syNukk2om4rqfEQ4/YPv3/kSv627hCShAr0lLhXkVYVI8rXDhX9/x1efrcZen5JbSnbVTpW8GkVJnLP3C0JsnpidvRKyKq7d4TrK/kEpKOsqAltcTy1qpKVICfSEj380cmXNMirlkORENXaCvf0CkNz0f9xMXB0/a2vkKEsNqsfI6eEXibrl9RrQ1EIpL0dqUH1A4ukNv8hcNFe1QVod37VKBSrSGnTgcHIY+dWAGsDUqlBTkYYgPijkjvPfnvD2TUBLzdFuB6tnNRaL397IrzZw8OBebPhgIXrnO+CiXwGuv8wxYvpKrDl4sF5uE759bzEGQiCvmnIUVSmhN/4D/MNh3LvtazxpXQKnvScRVsFh5BxwboQX7B1DYfTCJhw8uA9/fb0cw0vtsfO4P26MdDl5tbxVkBalI/TqZbgHZsNi4s1POVeUpSPQzQYOeZPx007OFv9sxAcLeiP85A5cjidFIZ6XSoai+Ah42PigdtpI9BYPch6pimt8ciKv4aK9O1J6TgM9W5w/oJYPztlXFyHZ7xouHf0DX33yPXZ5q9fZt4cGpawUCd57sPrdz/HDd6cQ357COjpvbQ2kJSkIcLTFqY1f4YPPt8GjaaTBHZcVxMLj8Bas/ZvrBO/5B7s2r8GWi9G4yRF3NLaWller5NqaeDge3IGdXECyb/cu7Fj3Bw46J6EUdS9aqSYz9AJ2btjMBST7sHvX31i3/iCckxok6uTU+VlbI0NB0HkOH8fz/n3Ys3sHfl93AD7ZsjpYXBtTmXQJP735DTZxetYFkQfx71FvZNdJ3PGz3Q72xho0oKGpiVoN7g8rV9x4SMi/9Hph1MyH8PLzk/il6fR69cGgKSNhWRqH2BRAVZGBpKhQpMinYOnsQZwm2jA2NcfAHgpkBzvDWxAretWgokQGpfZovPTtS5h608rMChRlJCAwKAnGcx/GVFNODQMTmPTtB5OqeDg7x6LTYxauyo55qyArTUG0vy/S9Z7Ea0+O6Zhiu7AUZVUFJBXVGLrqF7xxv0UX1nxzVSp5JfKi7HHhqjMSOWc/7mYR8eypVaA8Iw7Ox5wgv38M+ggKeS1qqgsR73geF22i0XvmxJvQKbnINtH7OHb59ce3Ow7i4N6/sfbVGUg6/CuORZTdJK+WHSo5ZFybmGK8Ctu5gGT/nq345mkjOP22DV6lHCLOAUvy42Cz6wDSl6zjApID2LPtWzxj5Ig12xxxY6TLyavpralnhCHLf+XwHeQSYfwByzTPYtvlzCaIdGBovABfcXoe5NNe7PzrZbR0TZ0OcbDyigKkhnvAw+Ma3EJiUKk/GXMnNo1PZSgrTEKIB8l4wD88FtkCGllFs5dKUo3KwjJIdTkH1B1cY16M3LxiKK0nYFR3KcpyouHpHYiQ1AoYKnORkSOEzoQuLIePw/yXHsHgZvrU/axASWk68nJ6YtL4wVBUlSA92BUB/hHIVupAmpkJQfQT6sD+96eiAlkxAXAIKsaYZxdh6H9LC/KoTo/+GLnoDTw5XP3wVJJKSErLMPjltXh7lqX6AbUZQS0UlTlI4Ibdw1VP4YPnJ7S5pM7JqIKMa1vysvvg1U0fYs5NVCtRXZYJTxsPaD74DB4w51Bo60G//0gM1UrC5Uuhwhhi1TKAqfXD+PzTeSCIWgaG6DN/IcbIgxEYBdQqKlEcfRl2aVPxymO0iK0GdHVNMXKEBap9z8Cmqf/iVBTMW0MLWjq1kMjqI9gOAKbZAWWgOj8Z/pf3Yu/eM3CNVcB88iT0Qf2FTpwxevQxh7FuGuz3cjJ/b8Zf2zbjgFOsMJ0sNxxcGBcKH7d4yIbPwdQGb2WgD+1uWpBEe+LqubNwjqvC4MdfxX2mNaiqqu4IGrugDAMY6PeAkWY6gh1scYb7I6fp34/3Hh0KRXk5qroAQfurqEF1XizCPUNQOHolnp1BoXj7SxVBCZ0GUdukD4YvfhtPjei0KrqmYGU1ipMDcMEhA6NXPQLhqaOFbhZDsPij52+DTQapJB5xMT0wa/pIKOUS5Ea6w8fJG2k63VGTnNLioUl04atWyf0nc3NQqmkOC+7vqJTLkBcThcIRszDVXAl5WQoCPJ1xLVKG3roZSEjtOAfWXjVV3FxyfgwFfm7w8L6CwJJpeG7B6CbFqlAjz0FEfXDo5eOHxJImh++w2SEO1nToDDzz3SEcOnQIm95bDNOwXdhywB1ZNOaob4WxS97CJu4YHT+0cz1en6YD/5PbcCVOcQd4XXyYc65lGUG4ZmcPb4k1ljw+F4NQ/5KVIy/aA+fOOiNeMQNvrn4fiwbIUQs99DAzqRcS+lcNJNw8bLDDGVxxS4PlstX4+sXJMNTUhH7PXjATOnwOn0pWiHiu0bGPNsCyR6aD+z+DvRgDgJIbaUpFhIMzkob/D68+0EOkpOhAR7s3LI1zEenihPNnz8ClchZWvzQeytISlAtNK244WFaQBM9jV5E+dBkWNMzWaGlBw9IMOikBcLl8Bicv+6PHyu+wzKoW5eXCGb5UySVIctrLBYcHcfRMDAwXP4oRtTl1IwUamtDuboWRExTwpuBw9z/YteFbrD/dcifbIQ4WTV6mfQdi1OjR0M1JRaakyYGGTVMrWI2YhNE6MpSUlDfsFcC3HJV5EbA7cQLHQ7phzouv4fkpxjwuTV09GChKkBMbi9wpb+LHjx/CIGUVKsuKkV9qDFMjXkzgHzrQ09WGpCQBYdH6eHz1t3hpmgkk1VUoKiyAoYkxdAWuAaBCdW46Ij0CkNZ7OHrkcD1Pb3+ExqWjsCwNoX7BCBfvPUeCZ1/IAGsV5ciIc8JJH0089dRs3ORehQz+BmwqKGT5iPY4j9OnXSBfuB4bP5qDbjU10O7TFz1vkFXzD865yrn2xPvqERyMtMSjbzyBUQ2QVApIMoJx+cxJXA7ugze3b8KLo6WQyjTRsxcNLDcIqvdb29AE971fFxzu/et3LKvaic9/PIUEKYdLUw9GQ5/Ebw3B4YE92PbRQqQdeA//BLQsCu9gB6uEpLwE+UVy6PUciP63COzkFXnISIxDblUPWJrrcFoI4c3hLk2Bl+1FXPDRxoL/vYOPljTGrtAz742B42ZhuoUFhvbtDgXX0EuLcpGWUALVwBmYOkQIOtwJQ3dY9hyJ6Qv7wqBff/TW4uQVVSjKSkFSqSbGzhiDW5iLExLSWwm5SskNnRnAIteZ63Xuxd4Dx3HeJQipOYG4dOQsbELzhQSYYekSBmohLclDlJ0z4vpNhFWBBzw8/RAQlYaS6kyE+wQgOFVInfnbkaIFLS1D6Ggkw+lSAZas34SP5ppBoZAjNysD3cx6cONlt8vb1ftVUEgyEHhxH9YdzcWol7/Cp/PNeRAamlowMNSDKvAirli8ie2bV2JUbQ03P56B5BxzfhiZFxTYh7aeAcYtfgRWGVGIr7gFOG4+XHfCIiwyqUVuXuEtBG7epXnzrtbs4RxTSTbiAz3h6UnJFXYOHgjM0cTQeZMxkIqSV6AwNbz+uCfsbV3hHVoG63lLsHBSXYRIYupMKkkR4t0u4thRD1T1HYLRhpl1eH2DEZlSBIWeGfqMnIBRPYvg8e9ROHi6wtbOFa7xUgxZOBWDIIwXXbiUEcnZwS8EUenFqC7PQYy/J/xDo5DJnTDdLfpg8oTR0I8/gx3nODkHGzg7eSKx2zzMGSt89wrowGzwfXh5Q12P8xD1LPf8iZ/ffhJTRz6FH//6Dd8sE8klTzUSVGRFceeZL4LCUlAkq0R+XAA8uSg8LJ0zljBOKZGgUKKmVo5qmTEGlbhhz5492LPvME7aBSKjOAyXDx3HmYAcEeiih25GYzDv4d7QGTwU/bU5yHRPbF4iglKlmDh/Csy4XWp4N6uyluvkFiPO6zS270nB8Fe/xeYXRjXKaHGOymr6EkwzscCkoT0gAycvq0BmYBRyrRZj4ZhGUQFt1EJZU4Wc5BzIeo7BCMuboamUMhTGeyCc6yT0t9K/WeAWezRvsa8Vu2pQmhkJ52O7sXs3pUOwj1dh0ouf4r1FA+vKqcpDkt/F+uO7ccovDz2e+A7fvb8E9RJ1cmr8VJQVoSgvD7X9B8G0MhAneF04fQ6cga1PGqqhh16j5uCZd1ZhhiYdP4gLwaUY8Ni7+PjBQWpEfmPVkqJ0BF3hcJ+wg2+BIYZaSBB8ajeOnLsKPrAzHoDxD72JLx4fiSwnknNCjNY0vP3pKkwzvbEs0fyiYRzLARg5rj+6LknuBgAAEABJREFUiwY0B1RWhrwwG+5/cQQXndNhMLI/aiNPYffhU7gYnMcJdOG7RorKemcfGJqMInk1CuL94ekXhND08i4E0taqtNG913g8v/4wDh+uTwd2YONnT2F8v0fw3T+bsXbFiLYW3qH5+AuXYrjOrY8/gpIKoZAVISHAEz7+QUgpA/S6GWPSrEUYlHEcG05ycq5OcL14Ct6aD+LhqQJxr0opCqMdsHftYcT1mogHBxZxHUUOq7cv/KNyIdPSg8GAGVh0nw68d+2FnacHXFyu4diVVAx8ZiGuu+IOpbaVhXEOVVGB9GAONx8cesDN3QFnr2VjwHOLwPcBuNEyRX5MnW6cjLurB84f94bRnBewcpF5i+rTbJHUbYX0YDVuCd7eXH9Scyf3zl8/xTNNI9Me1pjx7A/XT/zN3+H9Bud723K79oBe71FY8Oam6xg5Pfg/6q61+PKFyaiL7cjJzscbm+p13bJaUM6VGDMeMAFPfF2Pr0EH7nvbms/x6FCS4JIx52Sf/KZe111Y/90q8TpXTh3ommHw/U/iw28fR4OKtFvwqVtvWC/9st4OTWy243f8+IR118KXV6AgwpZz9v/ivEMq9EcPhGbUaew+dALnAvO6FktH1aahA32z/hgzeRCEMU5Wp1hNdSlir3Gd20OncDlRDxNGGCD27G4cOHoSPlmcjJ4pes95CxveXoBKT5I7Dfvc4fhwzcd1t+1wIup+q+QylCaEo7j/JIzpHo8zDQHJ3kM4ejUWldCCgckwPPbtT3hpYDzO7t6Lw+d8IXvwO/z5ojDcK1CLGlkBgs5wHPP49+Lf057Qe2YDtq/i3SugkqM6wYH7X9TJ7D92HgmT1uCf7a/UOeAWGEKTZFhiDDAG7mEGDC0x+KEvbnb2f2/AmuXDxEmMdnf0mvA4Pl/7LEYISAM9UyvM+/jwTVzv3voHXmi4O0SPc7ILPq2X2Y8dm4XjXIlKLQNTjFixrh5fE13278TWz+ehLrbT5JzscDy1rv74nh0Ccq6khSb0jIbgSS4K54MpLhA5sHsHvmwamWobwGTWh9f13PfPdedLRbQgMQfbApKYCGOAMcAYYAwwBlrLAHOwrWXsJnm2gzHAGGAMMAYYAzczwBzszZywPYwBxgBjgDHAGGg3A8zBtptCVkB7GGB5GQOMAcbA3coAc7B3q2WZXowBxgBjgDGgVgaYg1Ur/axyxkB7GGB5GQOMASEzwByskK3DsDEGGAOMAcaAaBlgDla0pmPAGQOMgfYwwPIyBjqbAeZgO5thVj5jgDHAGGAM3JMMtM/BKiUozY5HkJcXvJqlwIg45FTWcyqvQGFqRKPMDcfqRdT7pUBlUToimugQGB6D7Ab8HDhFZTHSI2/U0y8kCilFCu6okN4qSMvzkRjki+CIZBTJm2BTyVBBDw5voqeXVwDCojLRRNUmGYS5WVNdhsyoG23hGxSOxMKmygoTe3NUKnkVipKD4RsYioQC8eFvrg/7fa8wwPRsCQPtc7CKUmREOOHIzp3Y2ZC2b8a6H7/E9+v2wj2bg0BOONEXVw5swdptnNzWP7Bly1b8656GEgV3XBDvauSn+ONCgw7bNnAY/8IRToEGx1OWGoSLWz7AV79ta9R134nL8E6pFoQGPAiVFBX5ifC/egb71nzBYT2MwFL+SN2HrAAJ7v/ipw++x4YGXXcewmmbEOTXSYjiszI7Ble3vovPf9naaIu9R8/BLVFAtrgjkyrIq4uQHOCAi4d+w2ef/IDd3iV3zNWZAipFNYpTQkTr7JXyauTGeMPb+3ryDQhBXL7QOi61qJGVIS3EFwFBsciXNbFqbQ1kpWkIaaKDt7cfAoNTIZxlF1SgNWtjm2D0DQjiFyto0ERVI0N+3HU7kE18/AMRk9tU2QZpNXzXKlFTkYHQJjoQRkq+/gFIbmg36YH/BbGN55SvX5NjLYDdPgerb4VxD76DP48cwZH6tH/bT3j7yVkY3GcUhvcC5CWJ8HR2gF/VLPy6m5PbtQGvTzNEwKk9uJZU1QKIXSFigiFTn8YP9Toc2bkOr03qhuDzFxHf5L9p2HcsHvpoR6Ouu9d/jRenmnQFwBbUoYK0OB2hNhfh4pMO8wm3e6h2Dwwa/yzWNOh6ZDt+/XIZhrSgBiGJ6Peyxvz3tzfaYu/mn/C/maZCgvifWFTcqE5O5DVcsHFEguU0jPtP6c4+qIKiuhgpAY64/O9afPbhN/jbU73Ovi0aS4sy4PzXG/jopy34+++/+bT74DHYx1a2pbjOycM70FQEOdnixO+f4p1PtsCtqElVNVUojDqDH9/4Er/X6/D333tw6JgXKF5pIqnGzRpIK2Jh24Bv+zZsX/8DNl9IQVk9KnlFEby2v4YPVv+JBlvs2nsIV6IFYgvODtK8AJxs0IG+d2zHtvXf4v23vsDJRE6RWhVqypLgd2Qzfvzzb/y94y9s//0brD8bhZb2E27nYLnS2/DmotXs2FD4xebAbPZCTDKRIy8pGiGNv7kyu5nBol8fGBTHwt0zHgpul9DeKk0taBjowUirhosyhIbudnhqUFEshUJzFF764WVMq3vi9u2E2X41M6CsKoOktAKDX1mLt2ZZqhWNSlGJ3Gh7nL98DbGW0zFerWjaV7muqRVmvLmtseO1f8cGfPCAMJZ5A63gwo1axDuew7mLEeg1c9JtlNVHj94P47sjXEDCp734a+OLGAmhvHTR3eIBfMpj4zAe+Ad/vDwBYXt2I1iGxpd2tx6Y8OrWRlsc3P0XvlggkIZJk2vfrZdjXYMO3PfhA7ux7u370bvnTEwfCKhqqpHpdwi/25nhm785PQ/tw/aPFyF13/c4ENrQlWhU95Ybmrfc28adyvJUxEcGIkU6HPdP4BCiFIWFWSgr7o3xowdCXlGItCA3BIZEI1umgeqsHBRCIC+lFGW5iQjmhgzcnP0QniKF1Zz7MapJUFRTXYqcuIC64QK/UESlFAuog6ALy+HjseDlR+8QjcpRxQ1BhXN60nBIYFg0sioEYoNWwFBKK5AXH1hvi2BEJBWiyWBDK0pSj6hOjwEYueQtPDVcPfU3rVVVXYHq4hIMfOV3vDtbvc6+Ka67b1sFmaQKORlWePXPj/FAz7tDw1oNDdToG6KHfg1kImxLeCtw0aqsJAXXTttBufQlLLRUccFVHtxOXq3/zUlp6kBn4ASMM0zG2bOBaNKX4A7e+q15691t2StHSUYS4pMV6H3fo5gzuKGMbuhmYAJ9VRqC7C/jpK0vCo1n4X9LyOGWQyiDxNxYALIinXGEGyrYd8YDacqBmDG+G6oq6/TQocjb1Bhl/ke5IY/t2Lx5K/78+zwCb+Vk67II71NLD917mqOHUQbsOD3/3roRWzavx257cTlZbUNjmFv0hCz4GG+LLX9uwYYtp+ErMicrlBNE26QvRix5BytGCAVR23Go5BIUJdZ3vHwDERKXL6COlxa6WQzBkk9euEM0qoRcko3I+k6wX2AwUlsWMLWduNbm5OYw5eXp/Bymp4cP3F1TYPrgUkyzuF6QqobzCUlBdZ1gH38ERue1yCldL6HrtmprJCiNPoeL8UPw+IIxXMU1UCiiERpqjAdmjYFKqUBhrCd87FyQqGsCVUISMjmpO707zMEquRMiOjIIcaVWmL9gEowba65BVUkyAuxOwsa3GAOe/AGfrBgPA20dGHCNZI9GOTVv6PXC6EVvYjM3VHDkwC94+f4qXPr9D5wMq/OwJoOn4KnvjtQPdxzAju+WwzrXBtv3eaFAzdBbXL2uJYbN/R82kY6U9mzGRwt6IOjoOpyJFuJg/a01M+ozGsu+arDFIfyz5hVMKbfF5u2uyLt1Frb3HmBAS88QZlaDoRV5gut47cC2rX9i7R9H4CEoJ3sHQ2hqQ8+kFwYOKYMLdYK3b8Vf/PxmsLCcrEqOqiw/nOAw7tp/Am45Q7F0njHKy+r009TRg1n/UegWd5K3xV9//Ylf1h6AqyCdrAoKaT7C7AOhms11NBsviNCClmY/9DUvRIy7Gy4c348zefdj/VtToCouapxvrtP41p+at97d2r1ylCREIiQwGxqTH2wSvepCTw8oyYpDbIY5nvr+Mzw32RjVlRUoLSmCobERdFpbVVfI6/VC3yFTMLZvJVLTsm9Rox4sew3A+NG9IS3IQ/EtJESxy9gSPUdNx2R9BYqLSoUCuZU4dGBq3g+TJ/aDLDcXRa3MzcTvHgb0zfpj0WfXO157Nn6MB2vt8Nt6e+SIRU2tbrAY+yzWUweY0oF/8PtrUxB34DPsC5YLRwstA/QYtQK/E8bDO7H+k4Fw/fZDbPWo87C6RuaY81GDLQ5j//bvsUL/GlavsUGWcLTgkdSqZChNs8dJD108+eJCmPN76aMWypoSxPtewLF9Z1DwwJ/Y+fVCdJcroNVvAHqRyB1SxzhYeR4So0MQmt4dE2eMhHFjpabo03c4Js/vh+4coN7a3AF5JfIzU5El1cPoyU1luWNCeSsqUVGcj0oNM1gPugWNKimKcjMQn16C7paW6AZxvujK0aykaKSXmcLSXEecSnA96bLCDEQnF6J7754wEqcWDHWHM6ANI+M+mHnfUCiys5Df4eV3UYF63WA0bj7mGSuRn1/URZW2shrO2Rr2m4/FExSIiUu5RWYt6BtYYdbcEVBmZghslImLXqtzuVG8y0ie8j883Ri9akJT0wjd9JNx+WAi5v/5D75ZbMENFSuRlZYCQ3NT6N1C0+a7NJvvaP1vOSrS4hETmg/tCfOxkItQm5Zh2nswpowaAHnkGey66AMfx8twcgtGJjcPO3PUdVfcNE+Xb3MOtTg9Cj4+HD5KjnZw4zBm95iD+0ebcHBUkJblISm4/ri7AxzdvRGnPx6LnpiHwZyEEN6KqhJkRnMYA8MQk1EMSXku4gJ9EBgegywa6VZUozTjup7O19zg6pWJfg88gqUzTIWgQgswqCCrLERyCKcn2crDCc6urgipHY0lzyyBdQtKEIRIjRQV2dHcOeePkIhUFMuqkJ8QBJ+AUERmVrQdIstZx0CtgpuaykRodDaM+vRu0umvOyyWT5VCgvwkf8TkmcGqZ0uadDVopqqBojgNGZXGGD+q/80AuPlaWXkWgsIy0K1vH1CLerOQmvZwHXRJrhuOXVXg/ken4/oUsjY3+joOix/pCW3rURhC8YdKCXlhInzjyjF58YwmsrfH3gEOthq5hQUo0hyIRY/MwcDmdfWwxszH3sIHi/ogwWY7th91QarR/XjzvecwyaS5sJp+V+Uj2fcctm/n8FE64sZhXITPvn4RU3i/o0BZVhSc/q0/vucSQitH4/XV32ClYO6DBSRFaQi4wGE8fBkeOXoY2KMCfke34+CpywjO5biVFCI94EKjnoedYqH98I/49Ssx3QerRGV+PNwabLH7DLyyB+KVX37G6/fxxuIUFcFbVorckEucLQ7gzLVk6AyzQk3IUWzffxRnAshYXagD5+wrc2J4Zx8cniJq+yEAAAPKSURBVIJieTUKeWcfgvCMii4E0p6qarl5tFKkhdZ3vDzd4OZ0Fe4Vw/Dwy8sglOu3lHIJ8mI5jH6BCE0pgkJWjKQgH/gHhdTNsSrlkObFcrbw4ZO7qydszgfCePYKPDvfrD0EdVxelQKy/OsYfTxc4XXxNHy0H8TS6eZcPbVQKiqQ0WALL3d4OJ6HXcFgPPLmcozmJITxVkHJzb3GX3RDytAnsZKLUJvi0tbTx8R5j2Fk9mGsO8XZgzunPM/ug51iKZbNtGgqetvtDnCwphh233P4fO3neLZZ9NpYKznZ51fj6NGjXNqNtV8IyLkSSNMhmPrMDxw2wkfpL/z0ycNNIlM99Bq9AG/+Scco7cH6b1bWO18qQBjJeMBEPPkt4bsxbf/1Syyj0M54AMYv/+66ntt/xZePiO0REzowH3I/Xt3coOM+bP75dczsIQwbtBhFt94Y9sjX123B/zc4nXZuwE9PDmtxMR0iKC9HQSg5+/04ZZsI7RH9oArjnP3eIzjlJ5bZSyU3ypQGL65DyXeU/zkK2ygzvLR+Iz6c22LH1CF0/lchNdWliLbdju17j+JsjBbGWusg4sR27D5wFF5ZXM4abpQp0obreHEy27djz8mryJy+Bts3vYhR3GFBvLkOWXm0bSPG7buP4WLaJPy4/QvM5/2OCvKqHPger9Nh+86DOO1jgBc2bccXC8kBC0ILDoQKMkUmfGP08ejbT4OuHeZ2Xn9rG8Lk/nfw92fLUO3G6bLrIE7EDsAnG77BIsvrYv+1pflfB9kxxgBj4B5gwLAnBj/8Feo6wJyTb3D2uzbh16eHi4QAbXTvNQEvbGjAfwA7Nn6IOUJqzzkm9UytMP/TBozXv/du34gXR/MC6L3ws+u22Lsdm14QjGvlAHJv3e6wnPfpdYxH92Pn1lVNIlMtGJgOx4r1Dfodwm7O+S7gnS+XXzBvbRia3I8P9u7E182i10aI5GRnf1yv62Hs29Vy50plaNIHS4wBxgBjgDHAGGgXAyzzTQwwB3sTJWwHY4AxwBhgDDAG2s8Ac7Dt55CVwBhgDDAGGAOMgZsYaIWDvSkv28EYYAwwBhgDjAHGwG0YYA72NsSw3YwBxgBjgDHAGGgPA8zBtoe9VuRloowBxgBjgDFwbzHAHOy9ZW+mLWOAMcAYYAx0EQPMwXYR0aya9jDA8jIGGAOMAfExwBys+GzGEDMGGAOMAcaACBhgDlYERmIQGQPtYYDlZQwwBtTDAHOw6uGd1coYYAwwBhgDdzkDzMHe5QZm6jEGGAPtYYDlZQy0nYH/AwAA//8VVcV5AAAABklEQVQDAPmgIXvfPNJ0AAAAAElFTkSuQmCC\" data-image-state=\"image-loaded\"\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eHint: Mind your matrix positions!\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = topdownpascal(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 3;\r\ny_correct = [6 3 1 1 3 6; 3 2 1 1 2 3; 1 1 1 1 1 1; 1 1 1 1 1 1; 3 2 1 1 2 3; 6 3 1 1 3 6];\r\nassert(isequal(topdownpascal(3), y_correct))\r\n%%\r\nx = 5;\r\ny_correct = [70 35 15 5 1 1 5 15 35 70; 35 20 10 4 1 1 4 10 20 35; 15 10 6 3 1 1 3 6 10 15; 5 4 3 2 1 1 2 3 4 5; 1 1 1 1 1 1 1 1 1 1; 1 1 1 1 1 1 1 1 1 1; 5 4 3 2 1 1 2 3 4 5; 15 10 6 3 1 1 3 6 10 15; 35 20 10 4 1 1 4 10 20 35; 70 35 15 5 1 1 5 15 35 70];\r\nassert(isequal(topdownpascal(5), y_correct))\r\n%%\r\nx = 7;\r\ny_correct = [924 462 210 84 28 7 1 1 7 28 84 210 462 924; 462 252 126 56 21 6 1 1 6 21 56 126 252 462; 210 126 70 35 15 5 1 1 5 15 35 70 126 210; 84 56 35 20 10 4 1 1 4 10 20 35 56 84; 28 21 15 10 6 3 1 1 3 6 10 15 21 28; 7 6 5 4 3 2 1 1 2 3 4 5 6 7; 1 1 1 1 1 1 1 1 1 1 1 1 1 1; 1 1 1 1 1 1 1 1 1 1 1 1 1 1; 7 6 5 4 3 2 1 1 2 3 4 5 6 7; 28 21 15 10 6 3 1 1 3 6 10 15 21 28; 84 56 35 20 10 4 1 1 4 10 20 35 56 84; 210 126 70 35 15 5 1 1 5 15 35 70 126 210; 462 252 126 56 21 6 1 1 6 21 56 126 252 462; 924 462 210 84 28 7 1 1 7 28 84 210 462 924];\r\nassert(isequal(topdownpascal(7), y_correct))","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":4424756,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":11,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2026-01-07T03:01:20.000Z","updated_at":"2026-03-23T17:56:00.000Z","published_at":"2026-01-07T03:01:20.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eLet's create a matrix of size N x N containing a Pascal's Triangle in each quadrant that diverges from the centre to form an arial view of a pyramid made of Pascal's Triangles according to the test cases provided.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor example, given an input matrix size 5 x 5 for your starting Pascal's triangle, the output matrix will then be as follows:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"254\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"472\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"baseline\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eHint: Mind your matrix positions!\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"target\":\"/media/image1.png\",\"relationshipId\":\"rId1\"}]},{\"partUri\":\"/media/image1.png\",\"contentType\":\"image/png\",\"content\":\"data:image/png;base64,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\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":803,"title":"Twist 'n' Match","description":"Given n and m, construct an n-by-n matrix a such that a, when rotated 90 degrees and compared with itself, matches itself in exactly m places. \r\n\r\nThe number of matches m is calculated as follows: \r\n \r\n m = nnz(rot90(a)==a)\r\n\r\nYour answer a is clearly not unique. It must only meet the criteria stated above.\r\n\r\nExamples:\r\n\r\n Input n = 2, m = 1\r\n One possible output: a = [ 1 2 \r\n                            1 3 ]\r\n\r\n Input n = 3, m = 7\r\n One possible output: a = [ 0 1 1\r\n                            1 1 1\r\n                            1 1 1 ]","description_html":"\u003cp\u003eGiven n and m, construct an n-by-n matrix a such that a, when rotated 90 degrees and compared with itself, matches itself in exactly m places.\u003c/p\u003e\u003cp\u003eThe number of matches m is calculated as follows:\u003c/p\u003e\u003cpre\u003e m = nnz(rot90(a)==a)\u003c/pre\u003e\u003cp\u003eYour answer a is clearly not unique. It must only meet the criteria stated above.\u003c/p\u003e\u003cp\u003eExamples:\u003c/p\u003e\u003cpre\u003e Input n = 2, m = 1\r\n One possible output: a = [ 1 2 \r\n                            1 3 ]\u003c/pre\u003e\u003cpre\u003e Input n = 3, m = 7\r\n One possible output: a = [ 0 1 1\r\n                            1 1 1\r\n                            1 1 1 ]\u003c/pre\u003e","function_template":"function a = twist_n_match(n,m)\r\n  a = 0;\r\nend","test_suite":"%%\r\nn = 2; \r\nm = 1;\r\na = twist_n_match(n,m);\r\n[r,c] = size(a);\r\nassert(r==n \u0026\u0026 c==n);\r\nassert(isequal(nnz(a==rot90(a)),m));\r\n\r\n%%\r\nn = 3; \r\nm = 7;\r\na = twist_n_match(n,m);\r\n[r,c] = size(a);\r\nassert(r==n \u0026\u0026 c==n);\r\nassert(isequal(nnz(a==rot90(a)),m));\r\n\r\n%%\r\nn = 6; \r\nm = 6;\r\na = twist_n_match(n,m);\r\n[r,c] = size(a);\r\nassert(r==n \u0026\u0026 c==n);\r\nassert(isequal(nnz(a==rot90(a)),m));\r\n\r\n%%\r\nn = 10; \r\nm = 11;\r\na = twist_n_match(n,m);\r\n[r,c] = size(a);\r\nassert(r==n \u0026\u0026 c==n);\r\nassert(isequal(nnz(a==rot90(a)),m));\r\n\r\n%%\r\nn = 10; \r\nm = 14;\r\na = twist_n_match(n,m);\r\n[r,c] = size(a);\r\nassert(r==n \u0026\u0026 c==n);\r\nassert(isequal(nnz(a==rot90(a)),m));\r\n\r\n%%\r\nn = 20; \r\nm = 83;\r\na = twist_n_match(n,m);\r\n[r,c] = size(a);\r\nassert(r==n \u0026\u0026 c==n);\r\nassert(isequal(nnz(a==rot90(a)),m));\r\n\r\n%%\r\nn = 21; \r\nm = 1;\r\na = twist_n_match(n,m);\r\n[r,c] = size(a);\r\nassert(r==n \u0026\u0026 c==n);\r\nassert(isequal(nnz(a==rot90(a)),m));","published":true,"deleted":false,"likes_count":9,"comments_count":9,"created_by":7,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":85,"test_suite_updated_at":"2012-07-03T15:06:05.000Z","rescore_all_solutions":false,"group_id":18,"created_at":"2012-06-28T15:15:32.000Z","updated_at":"2025-12-16T03:15:00.000Z","published_at":"2012-06-29T19:04:07.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGiven n and m, construct an n-by-n matrix a such that a, when rotated 90 degrees and compared with itself, matches itself in exactly m places.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe number of matches m is calculated as follows:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ m = nnz(rot90(a)==a)]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYour answer a is clearly not unique. It must only meet the criteria stated above.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eExamples:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ Input n = 2, m = 1\\n One possible output: a = [ 1 2 \\n                            1 3 ]\\n\\n Input n = 3, m = 7\\n One possible output: a = [ 0 1 1\\n                            1 1 1\\n                            1 1 1 ]]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":56573,"title":"IQpuzzler Challenge #2: Find all possible solutions on an empty 4-by-5 board with 5 pieces, rotating and flipping pieces allowed","description":"We are playing a simplified version of IQpuzzler, with a smaller board of 4-by-5 spaces and just 5 pieces, as shown in the picture:\r\n\r\nYou are provided a cell array with one cell per piece. Each cell contains an N-by-M matrix with zeros and one unique value (the piece number) representing the positions of the 3 to 5 elements that define each piece. In our case, the pieces are provided as\r\npieces={ [1 1;\r\n          1 0],...\r\n         [0 2;\r\n          0 2;\r\n          2 2],...\r\n         [3 3 3;\r\n          0 3 0],...\r\n         [4 4 0;\r\n          0 4 4],...\r\n         [5 5 5;\r\n          5 5 0] };\r\nPlease note that the orientation of each piece in your solutions might be different from the one provided as input. For example, the red piece (number 4) was flipped from left to right before being placed on the board. The pieces can be rotated in steps of 90 degrees, flipped vertically or horizontally.\r\nYour solution set needs to be provided as a 3-D array with 4 rows, 5 columns and N layers, where N is the number of possible arrangements of the given pieces. The order of your solution set along the 3rd dimension does not matter, as long as it provides all valid solutions without repetitions and without symmetric solutions (180° rotations or flippings of other solutions).\r\nFor example, the solution above would be represented as\r\n[5 5 5 2 2;\r\n 5 5 4 4 2;\r\n 1 4 4 3 2;\r\n 1 1 3 3 3]\r\nPlease provide your entire search algorithm, not just hard coded solutions.\r\nHint: Maybe you can reuse some functions from the preparation phase. You can find a C++ implementation for the entire puzzle on https://github.com/deverw/IQpuzzler","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 973.417px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 486.708px; transform-origin: 407px 486.708px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 376.4px 7.91667px; transform-origin: 376.4px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWe are playing a simplified version of IQpuzzler, with a smaller board of 4-by-5 spaces and just 5 pieces, as shown in the picture:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 245.917px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 122.958px; text-align: left; transform-origin: 384px 122.958px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cimg class=\"imageNode\" style=\"vertical-align: baseline;width: 320px;height: 240px\" src=\"data:image/jpeg;base64,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\" data-image-state=\"image-loaded\" width=\"320\" height=\"240\"\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 380.192px 7.91667px; transform-origin: 380.192px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eYou are provided a cell array with one cell per piece. Each cell contains an N-by-M matrix with zeros and one unique value (the piece number) representing the positions of the 3 to 5 elements that define each piece. In our case, the pieces are provided as\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 224.767px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 112.383px; transform-origin: 404px 112.383px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 53.9px 7.91667px; tab-size: 4; transform-origin: 53.9px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003epieces={ [1 1;\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 69.3px 7.91667px; tab-size: 4; transform-origin: 69.3px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 57.75px 7.91667px; transform-origin: 57.75px 7.91667px; \"\u003e          1 0],\u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(14, 0, 255); border-block-start-color: rgb(14, 0, 255); border-bottom-color: rgb(14, 0, 255); border-inline-end-color: rgb(14, 0, 255); border-inline-start-color: rgb(14, 0, 255); border-left-color: rgb(14, 0, 255); border-right-color: rgb(14, 0, 255); border-top-color: rgb(14, 0, 255); caret-color: rgb(14, 0, 255); color: rgb(14, 0, 255); column-rule-color: rgb(14, 0, 255); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(14, 0, 255); perspective-origin: 11.55px 7.91667px; text-decoration-color: rgb(14, 0, 255); text-emphasis-color: rgb(14, 0, 255); transform-origin: 11.55px 7.91667px; \"\u003e...\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 53.9px 7.91667px; tab-size: 4; transform-origin: 53.9px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e         [0 2;\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 53.9px 7.91667px; tab-size: 4; transform-origin: 53.9px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e          0 2;\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 69.3px 7.91667px; tab-size: 4; transform-origin: 69.3px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 57.75px 7.91667px; transform-origin: 57.75px 7.91667px; \"\u003e          2 2],\u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(14, 0, 255); border-block-start-color: rgb(14, 0, 255); border-bottom-color: rgb(14, 0, 255); border-inline-end-color: rgb(14, 0, 255); border-inline-start-color: rgb(14, 0, 255); border-left-color: rgb(14, 0, 255); border-right-color: rgb(14, 0, 255); border-top-color: rgb(14, 0, 255); caret-color: rgb(14, 0, 255); color: rgb(14, 0, 255); column-rule-color: rgb(14, 0, 255); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(14, 0, 255); perspective-origin: 11.55px 7.91667px; text-decoration-color: rgb(14, 0, 255); text-emphasis-color: rgb(14, 0, 255); transform-origin: 11.55px 7.91667px; \"\u003e...\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 61.6px 7.91667px; tab-size: 4; transform-origin: 61.6px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e         [3 3 3;\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 77px 7.91667px; tab-size: 4; transform-origin: 77px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 65.45px 7.91667px; transform-origin: 65.45px 7.91667px; \"\u003e          0 3 0],\u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(14, 0, 255); border-block-start-color: rgb(14, 0, 255); border-bottom-color: rgb(14, 0, 255); border-inline-end-color: rgb(14, 0, 255); border-inline-start-color: rgb(14, 0, 255); border-left-color: rgb(14, 0, 255); border-right-color: rgb(14, 0, 255); border-top-color: rgb(14, 0, 255); caret-color: rgb(14, 0, 255); color: rgb(14, 0, 255); column-rule-color: rgb(14, 0, 255); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(14, 0, 255); perspective-origin: 11.55px 7.91667px; text-decoration-color: rgb(14, 0, 255); text-emphasis-color: rgb(14, 0, 255); transform-origin: 11.55px 7.91667px; \"\u003e...\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 61.6px 7.91667px; tab-size: 4; transform-origin: 61.6px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e         [4 4 0;\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 77px 7.91667px; tab-size: 4; transform-origin: 77px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 65.45px 7.91667px; transform-origin: 65.45px 7.91667px; \"\u003e          0 4 4],\u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(14, 0, 255); border-block-start-color: rgb(14, 0, 255); border-bottom-color: rgb(14, 0, 255); border-inline-end-color: rgb(14, 0, 255); border-inline-start-color: rgb(14, 0, 255); border-left-color: rgb(14, 0, 255); border-right-color: rgb(14, 0, 255); border-top-color: rgb(14, 0, 255); caret-color: rgb(14, 0, 255); color: rgb(14, 0, 255); column-rule-color: rgb(14, 0, 255); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(14, 0, 255); perspective-origin: 11.55px 7.91667px; text-decoration-color: rgb(14, 0, 255); text-emphasis-color: rgb(14, 0, 255); transform-origin: 11.55px 7.91667px; \"\u003e...\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 61.6px 7.91667px; tab-size: 4; transform-origin: 61.6px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e         [5 5 5;\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 73.15px 7.91667px; tab-size: 4; transform-origin: 73.15px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e          5 5 0] };\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 361.617px 7.91667px; transform-origin: 361.617px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003ePlease note that the orientation of each piece in your solutions might be different from the one provided as input. For example, the red piece (number 4) was flipped from left to right before being placed on the board. The pieces can be rotated in steps of 90 degrees, flipped vertically or horizontally.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 84px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 42px; text-align: left; transform-origin: 384px 42px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 363.042px 7.91667px; transform-origin: 363.042px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eYour solution set needs to be provided as a 3-D array with 4 rows, 5 columns and N layers, where N is the number of possible arrangements of the given pieces. The order of your solution set along the 3rd dimension does not matter, as long as it provides \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 58.7px 7.91667px; transform-origin: 58.7px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eall valid solutions\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 1.94167px 7.91667px; transform-origin: 1.94167px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 62.5917px 7.91667px; transform-origin: 62.5917px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003ewithout repetitions\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 15.5583px 7.91667px; transform-origin: 15.5583px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 94.875px 7.91667px; transform-origin: 94.875px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003ewithout symmetric solutions\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 93.0417px 7.91667px; transform-origin: 93.0417px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e (180° rotations or flippings of other solutions).\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 178.167px 7.91667px; transform-origin: 178.167px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eFor example, the solution above would be represented as\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 81.7333px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 40.8667px; transform-origin: 404px 40.8667px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 42.35px 7.91667px; tab-size: 4; transform-origin: 42.35px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e[5 5 5 2 2;\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 42.35px 7.91667px; tab-size: 4; transform-origin: 42.35px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e 5 5 4 4 2;\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 42.35px 7.91667px; tab-size: 4; transform-origin: 42.35px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e 1 4 4 3 2;\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 42.35px 7.91667px; tab-size: 4; transform-origin: 42.35px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e 1 1 3 3 3]\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 229.9px 7.91667px; transform-origin: 229.9px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003ePlease provide your entire search algorithm, not just hard coded solutions.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 373.95px 7.91667px; transform-origin: 373.95px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eHint: Maybe you can reuse some functions from the preparation phase. You can find a C++ implementation for the entire puzzle on \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://github.com/deverw/IQpuzzler\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003ehttps://github.com/deverw/IQpuzzler\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function solutions = IQpuzzler2(pieces)\r\n  y = x;\r\nend","test_suite":"%%\r\npieces={ [1 1;1 0],[0 2;0 2;2 2],[3 3 3;0 3 0],[4 4 0;0 4 4],[5 5 5;5 5 0] };\r\n[r,c]=deal(4,5);\r\nboard=zeros(r,c);\r\nnsol=14;  % confirmed by brute force\r\ntic;\r\nsolutions=IQpuzzler2(pieces);\r\ntoc;        % Just curious: Can you beat 1s?\r\nassert(ndims(solutions)==3,'3-D array expected.');\r\nassert(size(solutions,1)==r,'%d rows expected.',r);\r\nassert(size(solutions,2)==c,'%d columns expected.',c);\r\nassert(size(solutions,3)==nsol,'%d solutions expected.',nsol);\r\nfor n=1:nsol\r\n    s=solutions(:,:,n);\r\n    assert(isequal(board(board~=0),s(board~=0)),'Solution %d: Fixed pieces on input board expected.',n)\r\n    assert(nnz(s)==r*c,'Solution %d: Full board expected.',n);\r\n    bsum=0;\r\n    for p=1:numel(pieces)\r\n        piece=pieces{p};\r\n        pn=max(max(piece));\r\n        bsum=bsum+pn*nnz(piece);\r\n        assert(nnz(s==pn)==nnz(piece),'Solution %d: Number of elements of piece %d does not match.',n,pn);\r\n        arr=false;\r\n        orientations=rotflip2d(piece);\r\n        for o=1:numel(orientations)\r\n            if nnz(conv2(1*(s==pn),rot90(orientations{o},2),'valid')==sum(sum(piece)))\u003e0\r\n                arr=true;\r\n                break;\r\n            end\r\n        end\r\n        assert(arr,'Solution %d: Piece %d arranged incorrectly.',n,pn);\r\n    end\r\n    assert(sum(sum(s))==bsum,'Solution %d: Original piece numbers expected.',n);\r\n    for m=n+1:nsol\r\n        assert(~isequal(s,solutions(:,:,m)),'Solutions %d and %d are identical.',n,m);\r\n        assert(~isequal(fliplr(s),solutions(:,:,m)),'Solutions %d and %d are symmetric.',n,m);\r\n        assert(~isequal(flipud(s),solutions(:,:,m)),'Solutions %d and %d are symmetric.',n,m);\r\n        assert(~isequal(rot90(s,2),solutions(:,:,m)),'Solutions %d and %d are symmetric.',n,m);\r\n    end\r\nend\r\n\r\nfunction orientations=rotflip2d(piece)\r\n% Returns all non-identical orientations of a 2-D matrix that can be produced by rotating or flipping it.\r\n% Input is an M-by-N matrix. Output is a 1-by-P cell array containing P unique M-by-N or N-by-M matrices.\r\n    orientations=cell(1,8);\r\n    orientations{1}=piece;\r\n    for n=2:4\r\n        orientations{n}=rot90(orientations{n-1});\r\n    end\r\n    orientations{5}=fliplr(orientations{4});\r\n    for n=6:8\r\n        orientations{n}=rot90(orientations{n-1});\r\n    end\r\n    d=false(1,8);\r\n    for p=1:7\r\n        for q=p+1:8\r\n            if isequal(orientations{p},orientations{q})\r\n                d(q)=true;\r\n            end\r\n        end\r\n    end\r\n    orientations(d)=[];\r\nend\r\n%%\r\nfiletext = fileread('IQpuzzler2.m');\r\nassert(~contains(filetext,'str2num'));\r\nassert(~contains(filetext,'str2double'));\r\nassert(~contains(filetext,'regexp'));\r\nassert(~contains(filetext,'evalc'));","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":2414210,"edited_by":2414210,"edited_at":"2022-11-10T17:57:09.000Z","deleted_by":null,"deleted_at":null,"solvers_count":3,"test_suite_updated_at":"2022-11-10T17:57:09.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2022-11-10T10:54:03.000Z","updated_at":"2022-11-10T17:57:09.000Z","published_at":"2022-11-10T11:58:23.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eWe are playing a simplified version of IQpuzzler, with a smaller board of 4-by-5 spaces and just 5 pieces, as shown in the picture:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"240\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"320\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"baseline\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYou are provided a cell array with one cell per piece. Each cell contains an N-by-M matrix with zeros and one unique value (the piece number) representing the positions of the 3 to 5 elements that define each piece. In our case, the pieces are provided as\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[pieces={ [1 1;\\n          1 0],...\\n         [0 2;\\n          0 2;\\n          2 2],...\\n         [3 3 3;\\n          0 3 0],...\\n         [4 4 0;\\n          0 4 4],...\\n         [5 5 5;\\n          5 5 0] };]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ePlease note that the orientation of each piece in your solutions might be different from the one provided as input. For example, the red piece (number 4) was flipped from left to right before being placed on the board. The pieces can be rotated in steps of 90 degrees, flipped vertically or horizontally.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYour solution set needs to be provided as a 3-D array with 4 rows, 5 columns and N layers, where N is the number of possible arrangements of the given pieces. The order of your solution set along the 3rd dimension does not matter, as long as it provides \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eall valid solutions\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ewithout repetitions\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ewithout symmetric solutions\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e (180° rotations or flippings of other solutions).\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor example, the solution above would be represented as\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[[5 5 5 2 2;\\n 5 5 4 4 2;\\n 1 4 4 3 2;\\n 1 1 3 3 3]]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ePlease provide your entire search algorithm, not just hard coded solutions.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eHint: Maybe you can reuse some functions from the preparation phase. You can find a C++ implementation for the entire puzzle on \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://github.com/deverw/IQpuzzler\\\"\u003e\u003cw:r\u003e\u003cw:t\u003ehttps://github.com/deverw/IQpuzzler\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"target\":\"/media/image1.jpeg\",\"relationshipId\":\"rId1\"}]},{\"partUri\":\"/media/image1.jpeg\",\"contentType\":\"image/jpeg\",\"content\":\"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCADwAUADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD86H17Ux0eTFQ/21qTZyXNdXceG78TeWs1kAMjIfrj8OnFK3hKdVjZtSsRu7KSSDXkKpDsdvJK5yn27UJMEswxS/bL05G9sHrXTv4VlbhtWsx6YDVG3hcxtj+1LduP4UaqVSPYlwZzkd5cqw3ZNaNtqjwqCV9sCu08L/BnWfGlyLfS3W4HedY2C165ov7EupSQq2p60sfcrCnSuujGVX4EeHj8dhMEv9oqWPnRvEzRqRjaPpVGbxQhzk4r6lvv2KbVIz5WtSlsd0GK8r8a/si+JNFjaaxnj1BF52qMN+Vel9WrRV+U+ep59ldaXJGr+h5P/wAJIjcVXbxD6dKr6p4Tv9FvHt7uNreRcgrIpFUv7PYcF/0rmatoz6OnGnNc0HdM0013nO3NTr4ixgbcfSsqPT2x9/8ASvSfhj+z74j+KEy/2fCyWmcNdSJ8g9qSV9ETVdOlHmqOyOTHiI9wR+FMbxMFHI/Svrrw/wDsF6fDbo2r65cTyY5W3UKo9qu6x+xB4XktRHb3t5E69HJBP0rtp4eo1oj5KtxDlVKXK6m3kfGL+Jkbgj9Krv4gHOFr2/x7+xrr3h+N59IvBqcS8+Xja/5V4TqPhu60e6e2vI5bedDhkdMGs6lKdP4ke3gsbgccr4eakO/t05zipo/EJ4G2swaf/tt+VSx2K8BmYj2Arn0PZ9nE2E8SM3G2nN4k2jG0/lXqfwp/ZV8QfEyGK7QS6ZprD/X3Cgbh/sivonw9+wT4Us4UOqXt5qEuOTuCL+Qrop05y22Pmsfm2XYB2rT17LU+H28Shv4SPwqvJryNnivu7Wv2HfAtxCy2wvLR8feSXOPzFeGfEj9inWPDsMt3oN5/asKc+Sy7ZB/jXS8LVSuebheJMoxE1Dn5X5nzvLqxbgLVZr9z2AqzfeHLnTbmS3uUkgmjOGjkXBGO1V/7NP8AfOPpXG9HZn3FPlcVKDugXUJFOOSaT7ZI3UdKnh01N2HkZfQhauL4fDAFZix9AvNdWHpVcTNU6MbvyNXJRV2zMN83emG+OfatpfDI6vJgVFN4fj/hc19tR4NzmrDm9n+Jy/W6V7JmWLo/hThfFTkDmnzaNJH0aoPsL9nH5V8zmGV4zLZcuKp8p0QqRn8LLI1R/Tij+0GJzUAsZOm7P4VZj03dCf3mH4wMcV5ClY2GfbmUjHH4U37YG+9kn2qxFo0sjDBDCrZ8NswDMwX2FfS4HIszzBc1Ck2jmnWp092Za3jLypKn1pPtXHNaMmgYHD1Uk0uWMfeGBXRjeFc2wkOepR08tRQxFOWiZEtx3yPzp63Dd6QWzlvvj8qkWxZujKK+NlFxdpaHUC3B7NirMUm4ffApn9mNt++u70o+xtxjaOMdetZgeoQ6ZNNO8TSwwOoyRLIFFa3/AAr/AFi5thPaG1vlYbttvOjNwPSvH7S6kndhJIzsepY5zWmbfUIGjuYZJLZ8ZV4yVFeROjOOzR2xqRe6OpvrG80sobmEw7uitjIwa7z4K/C67+KHiNYhuj0+Ehp5Mf8Ajoryu38TXtwyWurbrkrwsx++D7nuPrX6Gfs0+CYPC/w/spQgE92POdscnPStacf5zws4x31HDSqQ36HoHhDwHp3hXS4bOwtkhiQAZUAE+9dXHoUMluWKs7Y6KKjWRYl9farH/CSS28JRUTHavbw84ppN2R+BYqdTESdSq7tnIapp7W7ENGyemRiubvoVOQQMV2uveIJNTRFkRE2jGVFcVqTjmvbjWgnaLufP1aD3R5T8UPhRpHjixkSeFY7kDMcyABgf8K+MfGPg+88F61Lp96mNpyrgfeHrX6BTt5jFc1xHj74IxfE63jVSsV3H9yXGfwrGvRjWV47n1GQcQVcsqqlXd6b/AAPn79nT4In4t+IDLdRlNGs2XzWAxv8A9mv0R8N+E7Dw7pkFlYW0dtbRKFVI1AA4rlPgz8M7X4Y+D7bSrcK0q/NLIFxvY969FjmEfJGfavF5lTlyntZ1mkswqctN/u0WG0VWtz5atI+O3QVzeqabLbYEkZTIyK6FvEFxDHsQqB/u1i6xrE9+wMrg7RgYGK9OlWpxhdy1PiqtDm6HH6lbjnNeK/GL4M6b48095EjS31FRlJ1XH4Gvb9SkGCa5q4w7FSeK7lUjUjyyOSjOtgKqrUXZo/Ovxd4PvPB2sTabfKvmx87lOQw9a9w/ZV/Z/X4gamNf1mDOj2z/ALmFhxM4/oK9i8Wfs52HxL1iC8Nw1rIvEhRQd6+le/8AgHwfZeC/D9ppVlGEgt12gAdfevHrUVRfN0P1L/WtYjAcsH+9ej8je0nRYNPto4IYlijQbVVRgD0FbLaSWixGrO3rjiq0Mmzk81Y/tyeFSEIC9MYrOlWXNq9D4CpTdRuUtWZWoaXJb/6xCoxXN6haqc8V0+papPeACV8gcAVz943Br1Y4iKl7rPJq4VvY+Z/2i/gjaeLdNm1XT4Fi1aAFiUH+sAHQ+9fFk9qbeV4nQo6HaykdK/TzXgPLcEZGK+JPjH4Tg0nxldvDGqx3H7wKBxk1pWw31i06e5+i8I5xVpSeCru8eh5DbWZmkUY5PSuo0vw81w0USlVaQ7QTSxaMIl8xDmReSAOK1tCvI7WZZp+dpyqr1+lfunDeV0MswqlFXm92fc1sX9YlZbHTSfA/UJrWNrFWvLjP7wBflH0rnvFnwl13wrAk1/YtFEwyGHSvSLP48atptq0NjawRLjG5hk9K5rxp8XfEHjKwjs9QuI2gXoqoAR7Zr6+jisTfXY8ic66q2ivdPG7i1dXwVOfpVCRBHJyP/rV1txtboPxrE1CwaSQGNdxPZanNMPh80w7oYiO57mHrNMzvLXjAq1Z2pllCqOT6dqv6db/bLXyY7YtOOGbFXNPU29w5CYI6jFflGRcIKljJVMYrxjsu53YjG6csC7pHhm4vLiK3gizJJ0rpW+Fer+YEitHumx1QZANWfCOoJZ38V9cSbAmCFA5PtXq1r8e10ezMVnpUTtn78hx+Nfr31idC0KMdD53EynGPNDVnhfiD4f6t4fTN/ZPb5/vCuPuLJtxXbXs3xE+KupeOtq3qRRhegjXFebzKGbIr0KeJlOH71Cw1Wra80cqVRVEbxjOeG7/Sk8lV7Vp6zZhY/MHBrDutY8tfKVFOeCTwRX4Fxzk9GhOONw6snuvM+swVbnXKy8JIdo3FRSq1uxwCprntpXZIfmDc1PGrM2VH5V+Q2PULNhbsqRtjAc4Df4V9LfA34W6Z8WNDuLCExLqWn2s19O0zbcouMKvPJwDxXgui6OlwVRm2FT/FwAPXpXceHdWuvCskjaZPLExG0SISpII6fSuLF4epVpvk3N6FWFOXvEtxpOiN44s4dUuDp2lrdhJJIo97pHkDGO9fop4Q+x2uh2cVg5ksljURMwwSvY4/Kvy38V30kl0sjOHlY7iwPOc19+/s+eMk8RfDbSJw+XSIRuM8ggdP0rzJQqUKcZSZ87xFFV8PaK6ntSybuAMn2qjeOY8huDVnw54gi0jWLW7lhW4jibcY26H2qr4w16LWNYuruGJYElbcI14A9qiGOtNR6H5m8vTpud9exh31wFyc1zWpXI+atDUbz5cdhXM6jdBgea9aljF3PNngirJd7WNd/wDDu6EkcqrGsjYyTjJFeR3V4Y3Jzjmt3wP4wfTLySNJ/L8wbSM4yPSvQljpQg5I8f6jGVVKR7fbzk54x7CpUZppAiAk9AAM1z2mav5i70fqMcVs6F4gbRNUgvAiyeU27awyDXzMsc3eXU9+GDjdR6C3yvbsUkRkcfwsMEViXlwFzWv4s8TNr2qTXrAI0hztXgCuPv7zc2Sa2w+Ocopz0NMRgYxm1B3RW1K6GDzXM3F4Q5wfwq1qd7gEZ7Vxupat5UhwcGvXpY5dDz6mX8y2PZvhrcS3hkjhi819pJAXJAHeusjkPmEdPYV4R8O/GjWeovGs5jdhj5WwSPSvXNO1LzsOrc+tedjczk5qD2KoZXGnT5kdJCxkYKoJPQAUX1vNZyFJo2jfGdrDBqnY6o+n3Uc6H50O4GrfibxVP4ivPtNwR5m0L8oA6DpXn/XpKaS2O+OBhKnJyevQyrm4Hasq7m4OeKdcXQrF1G+CqeeK9WnjY9zg+oyk9jC8SXpWNsHt2r5P+O18smq2zg88ivffHPiAW8L4fHFfIXxZ8TfbdcijDfc96+vyzHLmjc9PLsrlHEqaRWtLiWZ/LiyWYY2r3qzouk3Go33kRqzSHgKBz1rndL1J7e4jkjkKOpzuHGK9A+GXj2Lwb4stdXuoluFt5hIVZQQxHSv2+jmfJSvDV2PusPhIqdpFbxF4fvfDMgS+geA4yQykEfhXL311Fx5cu/1GMYr239o39oWy+MF8l5Dp0FjiIRlY0Azivn+KVG3HGR19K6cszariKPPiIcj7HZjMLCnO1J3Q97zaBkHFZ818/nKYC2/ou3rUlxdKAcdKxpNQeCVZIztdGyGHauuvmcYrcxp0T0j4Z6pcSa00UNmk07RMpQJknjrisy6nlbVriKOPa7SMCijnr0xVP4a/EK98G+KE121kUXsWfmYAg5BBGPxqVPEVxceIn1VSqXUkxlyF4GTzx+Nedhc65qvL0saTwkUuY6Xw7pV3qtwtvFG0krcKijn6Vc1bT5tJuXtrz/RZk6rIMH6VvfB/x+ngz4gaZrNxbQ3K28okZJANreta37UPxP0X4n+MBqmk2Menhx80cYwD710POqixdOioXjJavsbfU4OjKV9UeRXF0GY4YH6VWa8C4z0qLevc4qC8nQRnB+lfSSx0Etzy402JfXCyxtg8VzmqWf2GYhwC5XO30rVjY3DJAgy7mqP2drq+dHJODivyvi7MI1cP7Jdz2cFT5ZDNNs/PXLKPYV0miaDFeXaxuCM8DaKk03wrdXKztZo88Nv80pX+Bcjk102i6f8AZ3SRUPynPWvxiV2tD21ZPU9E+E3wl8P+L1kkvdaWyVUzuCjr6YrR8dfDHQfB+lr5+tw+egZh5ZBMi/wivnjQNY1WC4hsop5IhuwEZioH+Fdzc6Lc65Ky6lfCadFARYGDs/HTPQV9XB0JUORQ94+XqKtGsp8/unDeJLqC8vClqmYUOA+OW969z/ZY+IUvhu6l029fZp90/wC5LdFavJ7vw1HDIsIPlpnLDIJ+hNblvClusQhygQfKF4x718visOpRdOR7GmIp8r2Pv+HUBJGGByMZBFRzTM3Tmvnr4WfHSGyEWleIZNsY+WO69PY19B6XJHrCx/YGFykx/dspBBzX53Ww9XDVOSR8njMLLD620Mm+ZjmufvOc7uBXS6xG9g0iSLhkODXDa5r0NspDNivSwtNy1Pl69ZR0aMPXr4RZAIBryb4lfESXwjY+bbSBbxuI/ar/AI++JmnaJHI0kyvKPuxqea+ZvFfiq68Xak88xwvREHYV9NGn7vKzXKssnjKyqzj7i/E+xP2X/j/L4zjl0jWZlGqRHcjDjzF/xr6aW8E0QIPNflX4T1ybwvfQXtnuhu4mDLIp5+lfZ/wf/aO07xVDBY6lKtnqWNuG4V/cV8/j8HKMuektD6fMMu5P3lFadj3yZnKmsW8Zua6HT7OTV1AhAOV3ZzgYxXP6zutN25SK8mnCTdj5z2nKtUcvq0+xXz6V5d4o1r7NISGArpfGXjG00+OTzJAm0ZJPGK+WviZ8XFv5JrXTn3Z+VpR0H0r3cNh5X1O7D05Yp8sEN8afGbVtN8Rf8SW58owHlgMgn0+lfX37PHxeHxD8Jwy3DLHqcI2Txjjn1+lfndZrum82Ubz1PvXo3w7+I134F1yHULJvLYYDxn7jr6V04zBKrStFe8fYf2bS9j7NLU/ThboPEDmoJrglTzgV5R8N/jdovjSxi8u4WC6xhreQgEfT2rvJdViZNwdcfUV8FWlVoy5ZHirA8jtJE91c4HWua1rUBDCxJ/CjVvElraxktKo49RXjXxI+L2naPbSlrpA2OFDDNdOGdWpJJHXDBQ3sc78XfGkdnDL+8AwOa+VtYvJtbv3uASSzZH9K1vGnji58ZagxG5bbPC+tULVxbqB5YxX6LhITo01fc9bDYWNN8zQRSvHtB4NasOryi1MBI8otvK4GelZV1JHJynB7io4bkI2Ca+5wGac0FCb1OuVHlldG9Or3FsZwhMSnaW9OKyZnZc44FL/aG1cA8enaqc14D3x7V7azGS6g6EWEhwu4tx0/yKzZmM0myMbvTFOmmMzYB4qezjWE7sZauDF5ry09HqTGjZ6EemwzxzlXXaG6ZrYt5zGw7EVWu50ePJGw+o9ahS8Lbc9v4vWvDwGZSjU/eG1SmraHUw61IRGrEbUGBjAxUN9JLtDurAOPlbsax7dmkb5RXTXHg/WI9Ft7+S3kFnLxGxBwfXFfe0cU7KSZxOLd0YDXLswGcVXmlkJ2j5j6CluLaeNgpGOeO1Vgr+aVzjBxxTxmPlRhdyM4U+Yms7eW4csh5UcEVNGps5A+7ccc47Vp6dJHbwhdmPU+tNuLXzGaSNVLY+6a/N8bi5Yqd3sd8IKK0Oi8J65DHeRuQu/K5WUZQ/UV9ReF/hL4JvNEtb+48UwgyjMsagDyzjpXyl4Z8Lf2zkm5S0Ze8mcfnWhcafqljbyi1u0njUlSI5M/jW2CVOm+epHmR52MdSouWnPlZq33iIaow+2WFpdSKP8AXeSA35jrUCXAfJWFYR0+XPFcRZ/EbWYmJtBbxZOcCEH+dblv8aNU2+Xqml2GoREbSWt/Lf8ABlxg14csVXjsj1lhaJemmEch3n6Yq7ZziYDoBjg1T+3aV4mAfTWe2lAy9rMRkfQ9xXpPwP8AhTcfEPXkgk3LpluQZ5AMZ5+7SjV9oZ13HCwc5fCjK8I/DXW/Hlx5em2rGPOGmZSEFfZfwt8E3HgPwnZ6bNKbmaIZMnpnsK7Hwz4PsdBsorOygS3t41wAoA/Guph0m0+zliJJWx91RxXTHD0qludXPxrOuIq+MvSw+kfxPPdatxfIUZFHuBzXlvjD4fy30MhgfD4OPrXsmqRvC53RFB1AIxWBdYfKmvXjhaHLblPzmeMxKldyPzb+K3w18R+FdZnl1KGSWB3JWdeVI/pXEWsHTjmv0u8VeGbLXrGa2u4EnhcYKsB6V8R/Fr4WyeAPEB8kFtOnO6JsdPavPrYX2fwbH7Fw7xNDHJYauuWa28zz+K1JxxXtXwd/Zx8R+OL62vxnTtNVlcTsCC3I+6K6X9lr4Gr4+1Ua3qsO/SLR8JGw4lcf0Ffeek6Hb2NvHFEiwxoMKqrgD2rBU4vSR2Z5xB9R/c4dXm/wMfR9Nk0fT4LdTuMaBdzd8DrVHWLV9QUiVVxjHyrXe/2VF9mJQNI+Ow4Fc7qFpJGcOhX6iu/D4ejFaQPxjFYnFylzykfOXxf+C0vizR7mKxm8mdl+XPA+lfD/AIs+Hur+B9Ve11W1eBwflZh8rfQ1+p9zGpJDAV538TvhvpnjjRZrW8gVyR8kmBuQ+1bVMFTavDRn0PD/ABNXy+fsqy5oP7z85YLXcOOKsC2K9K6nxX4NufBXiC4024HKMdj4wGXtVzwt4X/ta5EjrmIHgetePUgqUXKR/QeX3zSUI4bXm2IPA/h3V9Vvo1s3e1XOfMyRj3r3/SIdY0mx8ubX7u7wOdxGKreEfDaxbRGFiAGM16Xa/D8XOkOYDJcXjD5Qo4r4/FNYmdoo/a8NwfhcPSUsW7s8a8S2Nxq0bq2o3qE91kx+leKeK/h7dQTmYXkl4PSQkmvpfxN4G1/SIDJdWrJH/eC9K8z1G13M6y5z06V3Yek8O7WsdlThXLqtO9JfceHQ2LQSbHXaR6irssPyjjtXYa5o6NlgOR/EBXOyQn7uORwa+hotTR+T5xlVXK6lnrEwpoSeFGT0GK2dF8C6hqyhmUwRnu3Wuw8H+D1mZbmdNzH7q44HvXsPhvwqt0MAKoUdW4ArgxGJjRlZH1/DnCdTMoLE4n3YfmeO2fwfV4TJJJI6r17AVFdfCez28GRT9a+qh8LWbS1/s5Xu7luSqpxXL+JvhzrGkW4nvbCSCPoGK4FZ0sZXqR5lsfo8eG8mgvZ8qufLGo/D2bT8tCxkHuOawpLZ4mKsuCODkV9CXVmgZ43j3A9MV594q0KNpGeJdrAV0U6/tLcx8XnnCMKMHVwnToeazAstU9jbsD8q3bi0KnBHSoYbZV6Dmvr8nyOtnFdUqW3V9j8cq1vY3jLdBp8ckYHPPau+t/Hms2WhRWRl8yzX7kci5A+lY/hnw7Lq04RMAZxk16MPhNqE8McdtC1wAMnaOK/ofA8O5dltONKouZ+Z83icY7ttnkmo30t87M4XJ7AYqlFGAwHQ16P4v+Fup+GVEl1blEddwOMCuDksHBPHSuzMuG8tzahyW5X3Q8LjItXgyReBipUcqQQaaskbQKMbZRwfQiqd9fpZJk8nsBX8355klbJcQ6VTVdGe9RrKqvM34bwphlJU4x8pqxHfvHyvBrgP7cuJZMA7F9BUi6pcLj52/GvmVUlHRHTyRlqw0tCWDdFBHSux0/wzca5ZsA7eWpyq7e+K5qwhaNYsx4xn73pXt/wS8eWPge7upb/TIdSjktZIVjmXKhmBAf8ADPH0rz8TzqLcUdlHlbszzjwv8O9b1jxJZ6Zplu819cSeXCqcHd6Gv0T+AvgNvBHgm1t7qJU1CT5rjbg/NXwDrHiGVPEUE9pI9v8AvlO6NypA3DjjpX6U+DbhJPDunMgAQwIQB/uiuWnOompSPlOKJ8uE9nDqzqF2IuSM+1WB4ma0j2LAvpms7eZOFyT0AFULrcmQwI+terRxfs5Jo/FpYVyWwzxFrbaoy7o1QKMDbXHahJtyc1q38+3Nc1qVzgE160cU5u8jzamDK8lxu4PTpVPUPhhpnxAsTa6hbCeHOR2K1TkvDu2g16D8Pb1p7aVVI+UZbpWzrwim5HDHC1o1YulozW8A+D9P8D+H7fTNOgENvAMKv9c+tdSsgXkjPsKo27dR1qcNuwAMnoMV8/LEqUro96VKpN81R3ZpJ4gktYiixL+NY2tay+oAb0VNox8oout8bbXBB9DxWTdTY4FejRxr5eVPQ46uGd9TLvhnkVgX0xAYGtm/m2qe1chq15s3c16EMQranPDBc01ZHz9+0r4aS8Wx1CBB5yyCNsehOBUHhrw3BpekRBYwZFXLflW98WNUjmtYkcjHmrgfjWVZ3jvGyIeCMYHpXzObVrxSR/X/AISYBtynP7O3zNPR7iOObc74Un7teveGfixb6HZiI2CuVGA1eF2Mck02xFJYnjFa8i3WmtsnRox12sMV81h8SsPUUluf1HjcDTxVP2c9j0f4gfG7+3rE2senxRDGCSM14VrEMVw7SoAGPJX0rV1S9hNqxDZZjx7VzFxdMFNepXxlTFSUpnk4fLqOBpuNLQwtSsvMzhcn0FVPDvhF9dvJIYrcyuo3njoBUl/qEnmYQkHtius+E+uanHr8sFkgM7xFSAgJK4zW9Or7NXufPY3C0sVL2dSPMXtA0sW77GX5k7YrrtLuAkhMjbIc52qK56S8mk1CTcAkmcfKMVo2OZJ1jUFn6AV4FaopS5j9JwmGhRoRhFWVj2nwv8bk8NWpgh0xJI9oUNnB4HWqfj744XHizw82nGwhgT++OTXmd5DPpyhpomQYzhhjNY11qwkyFXaK9TDZnVhR9jB6HiV8jwdausS1eS8ynfBM8AZrkta037VMqRDLscBfWuhvLhiOAK5fVrx+ccMOhFKjJ86YY+K9m0eW+LIX0/UmhYbDnBHpSaXaecyHGcdqk8cecNSjE4IlPZutGms/yJECXYgAevtX9K8G1qVPD80d2fyRxLS9njZqJ2Phu6XT2DthV3ZCivZPDfx0/sW0+zw2Echx/rH+leN+G/Cuo61dSRQw7mhGWXv9Md6seINPvfC94bW9tJbeXHMcqlSP0r9FnVo1Z8spas+Iq4WVSm+ZaHdfEj4xXPjTS0sriKMFOFMa4xXkl8qbgF54p0l2S3Tmqs8jMMAV6FLlorlicVGhGirRM68gUDd3HpXKXys9w245HQV1M0xkV19qw9SjjM0flA52fNn1r8544jTrYNSe6Z9JgW1KxRg05pGBQ7j9Olatnoss7AY/CtWzt7aP/j3LsmB99QDnFdRoVqsEyTPGWwcgEda/nyaa1PoY2bNDwd8J9c8VRmWx02e5jXq0cZPatC+8B6vo8hWbTrmKTHRoyK3Pg7+0Tq/gmyGmLcpHaznbJKY8soxjit74ifHZ/FyrY2AuLyXbsUxrtzxXvSo4X2F7+8fP+3xPt7WXIeB+JoZbO6jD4V852+mPWv0N+AfjSHxP8NdFuI5AzpCsUi55DKMEfpXwLr3hG+sZjJqB23k3zCDOSgPrXtn7OPjYeALhdKu5T9iuiCWJ4RzXy+OpONN9zXG4f69RtHofdvhfxKmg6xBfNClwIzkxv0PFU/FniJda1CW4SJYFc52KMAVykGorJEGVgVYZBHemTXDOp2gnjJr5SNdOan1R8RKhOnB0WtCLUrzIAPRRXKandjBOa0tQnPNcpq0xVCScV6tPFS6HF9RizIv9WEMh5x6Grng/4jQaNfGKedY1bjLHArz7xRrHksRuxivnn4p+PJJpvsFnORg/vGRsfhXbedaFjow2V+0rJRP0x0DXotUtVmgkDo3RlORXTaLrX9k6hBdGJZfLbOxxwfY18F/si/GiXS8+H9au/wB1I+baSV849Vr7Ph1JZ4VKkEYyCK8OtKWHfJM6MVlcsPUudBrusnVr6a6KqhkbO1RgD2rnbu4AzSTXJ2npWReXXynms6WYQpLlTOOpl860udrcralejaecV5x4r1oW6Pzium1rUBGrEnt0rwr4l+LFto5MyBQOvNelRzB1JWid2Fyj3k2ea/GLxl5f2dVfJ85Tj2BrofDurfabeORHGHXOfwr5/wDE2tP4l1nKt+6Q4Uk8H3rvPBWsG3tktXlyyjA54rfGU3UpKR/RPAeLpZfifYz0Ul+J9GfCnWtM0fxdbXOrIslrEdzBunaun+OXxB0TxZrSXGjW6w2yps4XGfevDbXU/MjC9/Wp764Zo8feAHavkJ4fmqqbex/RVSjGpUjWvsMupg7t6Gsm8ugq4zSXV58uM1mzDzPmZgFr2aeljkxVRRjcxNUuNnzA4561c8A+KZNG1w3MUxSfBGQeTn/61c54u1dI1CR4G2uT0u6l+2i5MjLg8c4r1lRdSFj8rzDPIYSsmz6JtNUe4u/NJ+cnOa6rwvrsej63bXk8azLFIrFGGQ3I4rybw/riXUCOrDcOo9K6yHVmZVQ4K57CvnatPl90/YMux9LHYaNSm9Gez/GT4qad44uo59O0+OwiESoY1A6jvXkZuRySajuDJIvmBGKDgkDgVk3Mr+hFThqSoqyNIRhh4ezhsXbq7XaRXGa5qAUSfNWjeTsq53Ff8K4fxRrCKvlxnk9TXvYem5O58pm+OhQpSk2cvrupPqGqozuXK9yc9K0LCc+YhVtrDHTqKyJoYlPmry9TWlwUZTn6V+pcPZj9X/dn8v5vN4qvKqes+BfGl34N17T9VMZmMc6ynf0fBHHvXs37Q/xl8PfHRI9Xj0+PR9ThgCSLkfOQO1fLkWsyNGkbOSi8gHoPpViX7ZcWYn2loSdoYGvupSpYitTxEnaUNjyaVaUYOnbRjmuFDE5qKWYeXkVmyM0chD8EdailutqkZFfTTziMY7nmfV+Zjri5CHr1PanzNaNqweEMbfAA3denes+AGeYE8qKtSW5DAgfL/KvzDiHOHi/3MWepQoezakdfosMZmGUWRf7p4Br2Dw/8I/EeqadBdQaZcPbyf6tgpxXhmnajfQ6eojtQ8KPkzKhz/u5r2vwf+1P4h8M+H4tLWVVghxsDDJHHSvk8HRpSn+/2JxlStGH7jc88vPAegNceZZ3t5aqDzDMgYfTINdxovjKy8L2K2+m6PZidFx9oZCW+tcXH4+8LRziKS6uJE6kww5/KugtdY8Da5+70/wARG2uHAxHqMBjBb03DIFeIs0qUndR/A9SWXQqqzkc7qt3c+INSaZzukY5PGKsQq0aBeSV4z6Vp6l4futGuFaVF2SLujkiYMjj1BHaq6gt8wTn1FclTEPEPmbOqGHjQjyxWh6j8OPjtc+F4U0/V42vbADCyf8tI/wD61e26R8TPD2vW6ta6lGSRyjMFYe2K+b/C/wAL7/xFia5Vra2OOWGCfpXpWk/CPRNLUN9nM0mOWdjXp4HhnFY1+1pwsvM/P8/zTK8PeFSfv+R6HqXiTTolLNdRAepYV5j42+Kmg6XC5kvoc4+6GBNW9U8D6TdLse1G3GMZNedeKvgHouqo7RCS3k9VYkV9E+EcZTjdJM+Dw2e5fOpy1JNL0PIPiB8YX1eaSHTMojZBlPp7CvM1je4kLuSzHk9zXd+NPg3qvhPfPEPtdqOSyjkfUVxls3zEHg14VbB1cLLkqRsfrOWzwlSkp4WXMixatJbSI8bMjpghlOCPQ19HfCP9qy88Oww6d4iDXVsvyrcryyj3r54Vegre0Pwbd6zInymOMkckf0ry8Th6daFqh7VPCSx0vZ048zPv3QfjB4b8TWiy2eqQNkZwzAEe1JrHjzSLSMs9/bgY/vivljQ/hvZaLbjJeWUjJO4gVW1jwrZXKlWRwP8AfNfFSy+n7S0JaH0FPhDF8t2rHo3xD+PGhadHIsV6k8mMbYzmvmLxp8QL3xhcuF3RWx6Lnk/WtTXPh7bRszQMwPoa5C90efTWG9cp/er6bBYSjRV1qzjr5FicEuacdCK1twvbFXIppLWQSQuVZTkYqK3ORUwUswULk9MAV7fJdanmxnKEk46M7jwv4y+1SR20/wAsx4B9a9H0rS7zVQ4ijd1Vdx2gkV5d4R8F3DX0N3ONiqdyr7+9e1+GvEV/4fkL26rjGGUjg+1fMYzDrm/dn9D8K47H4jCP6zHRbM4nU91uxUoQR7VxHiHxF9hVlzhq9d8beJ38Sbf+Jfb2m0YPlJ1968f8SeFXvMuDhu1bUcOk1dnTnGIxfsJOlDU4e6vpNQlLSH5ewpq8CpbjT5rGXy5UKnoD2P0o8o44r6GEUlZH88YupWlVbr/EWNN1y60e4WSJzt7qehFek+GviFYXGPPPlSdMN0zXmtjo91q10ltaRNPM5wFUf5xXr3hP9m25vY0k1S4Me4ZMUfb2zUPLXjH7sdTow3GX+rUb1Klo9mb8Xi20khKifMZ7BuDWbf8AimyjyS6gema7nT/2d9EtYQNszY4J3mo9Q/Z50O4U8SqfXea0hwzid9DoqeNeVNWs7niHiXxpbyDbbtuPTiuHnuHvJC7nmvavFH7Oj2sbyaZOzlRnZJXkOpaLd6LdPb3UJikU4wRXR/ZtTB6TR5M+M6fEStSqadjKkyMdhTYrhkPPSrMkJcGqX2SSd9qcDoT6VdKjVdRKitTn5lb3jWs5zP8Ad5xxXYQeG9T/AOEZOpiKX7KZvKXAO3dj+eK5DTbJ7TgHvkmvRPDfxC1bw7pghi8uW235Eci7l3Y64r9fy7IMzq0IyqRszyqlanB6HA3SzRM25WHqCOlWdHj024tL6TUJpEnWP/Ro414ds9/QVpeINa/ta9e42BWk5YbQBmsRog0m5Fx/s1rnHD2ZUsO50VcKFZP4lYdEMYxxj0qeOcjg81AMjincLkkjFfjtSM4ytUVmeimraHY+GfGs3h1HSOCGWNxgq6gg1T1K+sNSkEnkC1PcQjg/hXJnWoIW2g78elKNeTcMxtil7ZxXKR7GMnzFG1tYWcAFs4Gcjv3FWZNHeM5QlvTiixh2xpI3IY8YI7V7P8EvhzD8RNaaze8trIRwvO8t24RAFGcV49eoqUeZno048zscH4J8VX+g3C21yGu9NbiS2kJIA9V9DX0b8M/h/DqsiahMhksc7od38foTXlq2dn4W8d2FvBYW2qz+f5QjnyYn3diPbNfXmg6cLLTIIvLSMqgBVFwBxXqZBgo5hi1Nr3FqfN8T5lLLMC1B+/LReQ6209MhcBEAxjGPwroLPR7X7Pk27ytjjH0rPVlh525+tXI/FU9lGQkanjAr9zjaMVGGiR/Nk26knOpq2cZrFnLbzEtE0QJyARisKaQZIau18TeJH1pYw8KR7FwNorg9Q+VmrvhPTU4HR97QzNWs4riNlZQynjB5FfMvxZ8CJoOoHULJNtvI3zoBwpr6WmlLAivPviFYrqtlJasP9aNo+vavnM5wtPE0Xdan3PDmJrYPERcX7r0Z4/4B8KPrki3UkZNupwCRwa908M+HIPtCxuViVRk9KPDPh1NF8KRxRKoFuihjxy3c1c0qaGG4Es+ZP9kccV/PuY1JKpyXP9COEcmpYbAqs178j0rRPAul32lyTlZ7mXBCqinGcV5N4r0TUNNkPnWMlvGc7WZCMivcfBvxwsPDNo0DaWWTGFKnmsX4rfGLTvGeixWlvpv2eRT99sVthsHQlQdWdT3uxtWrY2jjPZKg3B9ex83agFkUqV2kd65jVLOOSFlKgg122qQIZCVrmriyeeR1QZwDn6VlTl0R2YmlCUeWSPNrzT2sbjaASjHjHau28A+FTdTfaZ4+/wAisP6V0fg3wZceIL2TyogzRKX5A4rudF0J7WYpt5Xk7sCuqtiHCjpufG5dwrTrZj7WT9xa2L/hvwul1MkZKxr1LHsK9Ps/hRYXWhyT25kubor8ixpxn0rg9LmjhuA8pO3ptXivZfBPxttPDNmLd9O3QqMKVIz9a8agvb1VGcuVH6nmEa2Fof7LG7XRHhHibwTqGl/Nc2T2w6AspAriLqzj+dWGG+lfTXxX+M1l4u0NLGDTRA2f9aeoFfP2pQoxOO9eriYUsPNRoz5keVg6+IxdFyxNLkfY8x8SaPHdIygZI6HHeuEa3eOYxEfPnAAr2ddONxeMqqDtGcGuVn0JJfGdiQoCM3zDtkdK7sHJyaR+R8ZYelCDrxWsT1f4L/DuHSdNjvJ4w13MNxYjp7Cvb9O03zGCKABWH4YtVt7GFVAGFrp7R9jZLYHoK/Q8LGNKCUT+CM/zKrjsXOU3oa0/hxYtPEqP5khwdqjisK60+WHBeFkHuK6/TPFkenRhRbB+MDNQeIvF6atYrb/ZUjK/xjrXrU0uW8mfPe7umcDdWytkEV5X8Ufh/b+ILGSRE23KDKOB19q9fudp+tc5qsYlynrxWNSMaseSR7WWYyrha0atN2aPiTUreSxvHtXXa6naasW8O2MADArtPi1oKWHiQzqABL1A9axrCx+1bUTGcd+K+k4Sy2lSqyr1VdrY/o2ljliMNTrd0P8AD3h+XW7wRKVjA6s3AFd7q3wpu7SzgFiGvmblkRSccda5rQZEs7jfM5RM8hOtez+Gfj5b+HLVoYNIE7bFRZHIzwO9frNavVi17LY4a9WXK5RWp4nrngPVdJjEt5YTWqMMqzqQDXMmykjbPcV7f8Tvjde+P9PgspbCCzjhGAU+8a8qm2n8RXdRxE5w/exsRhsRVcf3isYmoSiVUbyxGyrg7eh9652/vGnYohwg44711V9t8tsYrlLiELIfc5r8R45ymnTSxtFW7n02CqX91lSOFvM6e9XI7ctWpZ2v2iJS/pkDFP8ALWFWC8fyr8WcWexojQ0fQ2kwu3cw74rrNMS40VC0b7D044r234G+Gfh7qGhzy63cSSX7nbFHGcMK1Pit4L8F6RaedYGZwq8L0Le9etLLU6HtZSR4v9o8tf2KTPDfCNwL/wCI2gtLJvJul3Bq+4YTujH0r8/rHWhY+L7G/s4CsNnOJMnnIB7/AIV95aLqSalpdreRHMc0auD9RXqZBOGHconyfFtOeIhCfY0Wi3rwM1m3kezIPGK9H+G+qeH9Jmnudcg+2J5bKsPo2ODXC+KL6LUtSmnghWCJjkRjoOK+2hjr1vZW+fQ/N5Zb+4VbmXp1OT1Biv0rmtQb5c102qOGVVC7SowSO9czqGFU7q9JYpWOD6rqc7POVY4PtXFeKr5Y7i3BI/1gz+ddDrFwYSzZwB0ryjxzrgt187dxEd1ePmGKvTdj7fIcJH20XJbNHqcc7y2rgE7cZIHSlsLaSX7i7jWDoOsNqGkxTwtlZEBIX6dK9N+C/iTQdB8VWs+u232qzU5eI9DX865hUlGpKR/o1ldWH9nwnTV/dX5HKXatb8MCp9Olc3qV9JIxQ4CrxXpXxd17R9a8UXl1o1uLWyZyUjHQCvKdRuFkmJC4FcuFrupFSasdUZe1gptWKV2zbTzXN3E0n2gojYZjjjitq8uAVI6CuV1KQpufdgdjXs05dj5rHSUNWegfC6TUJtantLaQJIsbE5YAYFdXCLm6umxln6Haa8T8L+KYdH1EvLKULDAOa9X8I6vHeTBA/wAsnRgelc2JdTRdDoyPEUZSkk9To7OGR/uqcjjFT3Qlt/kYbD6EV1XhDxJpPhLULVb2EXipKHcMvXFJ8ZPG+leLPEI1DTLKOxgKAeSoHUd/rXhfWJwqqnyn1c8Q5VFBR0fU871O8kkABIIHHSsS8YleDirF1dbpCScDtWXeXQ2kA4xXs05dzlxCSizIluXjuCA2D0z0rIW/EPijTVYjLSAVJqExXfJngd+1cVNqm/xNpzK2RE4Jx9a9zCzcZJn4Vxk4zoTguqPs3QrjzIY1U84GK6K33vJsAy3TFebeE9aWa3hbd26ivR/CfiBNI1y0vZYluEjkVyknRsHoa+7o4q8OZH8AY/BOOJlCWmpdvLeaxUebG0ZIyNwrPkuCy84r0P4ufFLTPG8kMlrpsNkY02lVAyeK8mkvAD6Ct8FjJ16fNUjyvsc2YZfSwlbkoz513LFzNwea5nWbnarYNX7u/HY1yHiLVPLjfnoK7ZVktTbBYdymkeQfGKTddWwJ+bNcjYszMip95jgYqT4gas1/rCKGysZqlp7+bIq5xn0r6XIczjGUoXP3zBYaVLA04s3rOwuLjUktIo2luGfYEQZy3pVvxRpup+Fbxba7t5LOcAZWVNpH4EVc+H3iC58E+MdL1pYll+yzrKvmDIOCK7j9pb42r8Z/FS6iNPgsgsaoFiHXA71+gf2pV+sUqcIc0Xu+x6VPD05UpTlLVbI8f+0PM252JJ70jqCvWo/OVAKQ3G4fKK+iliopHDyu+hVkAyy5qitrFDqVubuBprdvmKKdpcegNPuZjuI/CkutSuLr7P5jbvJQIgwPujoK/MuMMfCWEdK+rPXwsZKSZes7N2yAgVegXOcCtweDJZoUZJFIcenSs3S9WihYO45r6o+D+s/C+48IRHWYi2qKfnUtwfwr8dwdBYifI3Y6sZiHh4c6VzxPw7pviz4e30V2uim52/cdQJU+vFXdU1bVfH2tRPr07adbfdYBcbV9AK9UtfBc6wloWMbYBCCTaMH+VSv8P/s8b3jW7y+WAWdhvA9vSvmnnWHvex6/9lVu55lc+G9ImuIrTS7aRbFOXmlGGlr3n4R68lxpa6MSFltx+6Vjjcv90V5pMotyIzEyoxKrwOOelSRiSzuIrmGRo50OVZTjHHFck82quqqtP3UayymlOg6NXW59B7wcjOD0xVW5xtzxmvP9F+Jn7gRamhMqnBuF6keprt1LXEatD86uMhh0PFff5bm31yNlufkmaZNPLp+8vd7mTqDKuea5XUptzFegro9UPk5DcHvXnHjDxVDpkL7fmbB4FfRwdSW7PnlGF7RWpznjDVEhRk3DvXgHjbWhqFx9mjO5AcsfU1a8Z/Ei51K4mhi/dKTgt39K423bzWyeprwswx8ZL2VM/QcnyudD99W08j034V+Lzpc0dhcNiLPybv5V61fGNwk8AwOp2mvmmMmPaynaw6Y4rv8Awd8TH0maOHUV8624BbqRXw2Iwiq7Lc/oHhrihYOCw2Iei2f6HpNzcM0XU1jXcxZe/wCVdTZ+KvDuqW5NtcRYYcg4BH4Vn6pqmjW4LG4ix+FcEctqRP0n/WHC1I3izjpmMjfNwK5nxRrESW4hXb8vTFafin4h6VBG8dqolfGBxxXll1qj6hMXfpngV2U8K4M+CzrPqUlywepI9wZZvMb5sH7vavRPh541+zXccE5WMA/Keg+lebooOMU9N0bBlOCOmO1dNSgpx5WfA4LNq2DxSxMGfVtxqyX8McoYE4BrOurwyDIyQBzgdK8c8J/EltLkSK/DSRDjcO1el2HxC0e7gdYrlFVxyrDFfP18LKMr2P3nLuKMHiqS97XsOurg9s1msftEhUnauOam1DxTpEKk/aEIA9RXC+IviJaKjR2XzuRjcOAKKdCcmGPz7DU6bbkTeNtdht7P7NCQD3xXncd88bbhj196hub6W/mLyNnPahVHHFfQ0aPLHU/Bs2zL69VbWx7R8L/iGkkaWdxJtmXgZ7/SvbbHxCXjQ7tw7CviyOVraQSxOVdTkFeor1r4X/Ee5vrtdOuBvkI4b1x61206jpux+N59kKrXxNFep9Ef20ZF3ENjpntVSbWBjG7iq2l2d5qFpP5at5Ma7mwuR/KsbUJjBkEEfUV3wxL2PzN4GO7RdutUMmdrcjk155498WRWFiy7v3rA4rP8aePF0UGGNSZWryPUtWuNYuGknYtnoKmeIk9D7XJshdRxrTVo/mVbu/a4naRxkk5Bq7p998wYNgj9Ky5E4NVGla3kyDg1OGxE8LU50z9UdKMoKCO9ju55IwyksOwp01vctaid4G8tjtD9s46Vz2k+JjGBG8RYf3lFdBH4iiaIKwbb1CkHFfe4XPNLqR4lSFSi+W10Z0m/PINRtmNcl8ewrQl1e267CfbFY91ci5m3Iu0eldtfiPlhuOjGVSVuWxGAZHH90VY2qzAlcimR4qVTX5/jsdUx0+abPbhTUFodRpdl4cvtL2z3ElperyGIyregrPt7W6gm2WcuVzgFWwKxWmWP7xAoW+Tp5wHsGrkjUUehm6Tb3uU7jxRrmqTM8+o3UzP1zKf8a2/DvxE8VeF7hXsNYvLYA52GQlD26Hg1z9ou2TEY57V2Gg+HW8RyC3hIEoXOOuTjpXg1KdKMbOKsexCpNvRns/w++MWn/EJU0rxLFHpmtM/7jUIV2wynptkHY9Oa6nVdBl03UHguI3SWM4K55OfSvDvDng+z0vXrca7cyWWnF8SyRrukQeoFfUXgy907xtYJc2sVy1vauIIZ7s5kmjUDDN/n0rxoYCeKxMKWFV+b7kdVfHU8JhpV8S7KJm+H/CKvbtLc2zBm4VWORj1rsrK6udPhRIzhUGFGMDHtW1DarwvQelalro8FxAw8hm449a/oPJ8hwmW0VGUeaXVn8y55xJjc2rtwlywWyPONalm1DcDgVweteCYr8PvJyRXqWuae9rMw8po1zxuXFc7cAd+tfWRweHlHSJ8pDH4mM7uWp83+MvgWkzST2b7JuTz0NeOX+lXWh3z2t1GY5FOMEcV9sajbh1OBmvI/ip4BOu2LT20O67h5G0csPSvi82yClyurh1Z9j9RyHiaq5xo4p3i+vY8QsbeW+mjggQySudqKozn2r37wD+zibiCK71zJZwCLdTwPrWn+zj8HTa2417VbfFyxKwxSL90etfSNrYJuUN8o9q4cnySFRe2xS06I14j4nnh5fVsE9er/AMjyiL4N6LZwbIbFFGOcDmsu++EejzcNbjFe+y6PbSWbMFcvjjFcjqFi0LkGNk/3hivuKeX4GWns0fnT4gzWmv4z+88I1j4B6LdKQsWw/wCzXkfjj4J3nhxXubHM8C8smPmAr68mjAJrC1axW8hdWUEY9K4sZw/g60PdjZnrZdxZj6NROpPmXZnw3DlCVYYb0q7Z2MuoXEcEEZklkO1VUcmux+Lfg9fDutG5gXbbzHO0djXoHwF8BiS3Gs3MWXbiPcOi+or8oq4GdLEOgz9kqZ1Rp4D69fS349ip4R/Z/FxbrPqbFpWGfLXoPau1j+A+lLHgRkfSvXdN00OyRjCjpk9BXXx+FLP+zZJjc7pAONo4PtXuU8DhoRtONz8UxPFmZV6zlSnyryPmq4+AuktkYYfjXPap+z7Y7GMRIPavoi5tdpOVI/Csue3U5yK6Xl2GtpGxnT4qzNv3qrZ8b+LvhzfeFJd5Bkt8/eA6Vy+Mdq+wPFmgw6paSxOm7I9K+cta+HOrRau1vZ2ck0TNhWUZA+tfP4rBexleCuj9VyPiBY+nyYh2kvxMrwn4PvfGOpLa2keE/wCWkpHCj/GvofwR8DbDQJEnXc0+OZG6/StP4U+B4vDejww7B5x5kfHJavWbGxDFFHA6V3YTAQa5qqPieJOKqvtHh8LK0V+JF4blm8O2k9tEA8EwxIhHBrD8QaDb6k24QrHxggV6J/wjqmxMqfM3YCsG80+SHlkK17FPB4fVqCPzb+0sTonJ2Pn/AMa/BiLWmaVHKygcV4b4l8JXvhW8aG5Q7f4Xxwa+3Lm3DKcivOviF4Lg8RadLHsHmYO1sc5rixWW05R5qa1P0DIuKK9CcaVd3h+R8kSN07ntXp3w7+CEviJEvtU3RQtgpCOpqDwb8K9RufE269tWSzt2ySw4Y54r6f8ADumrb28cYQAKMYxXkYXBe0leotD7TiDiNYGio4WV5S/A47TPgjokMagWq4A9K1V+DOg7ebRT+FelabYrcSKrHavc1v33htIoY2tt0pIyQBmvo4YehHTlPxipn2YVZN+1Z4fdfBnQWU/6Go/CuF8WfAW2aF5NMJimUZCHofavoy+02W2/1kTJn+8MVkXEAPtWtTA0JK3KdOE4jzCjNS9o2fEOp6Tc6LeSW11E0UinGGGKyr6+8gYj+/8Ayr6Y+MPgSPWtNkvIEC3UQzlR1r5entHFwySHa4OCK+MxuFeFnZbH7/kOcQzfDqb0kt0Z0skk75Ziabg1otp4xlGz+FOj0/H3uOe44rzbdT6hWNLRrMSSDuuecfyr2PwT4gtfAfiXQ9b0IMLq1CySi6RWUSAnoPTGKi+G3wb1fxdCf7Ms/NEY3EkgVveJPhD4g8MYW6sHRcE7lwQB+daywE6tPncfdOb69Tp1OS+pxvj/AMRTeNPEzTsqpcXk+WWNQq7iewFfX/gbQINC8M2FrDGEWOJQV98da+OfD9iT8QNGhmIVTcqME9Oa+5bJFW3VeOBjNe/wxhadCpKS6HxPGmKnUw8Ka2YIwjbpVu38SXGn5EaJ0xyKpMnXAqpcsVXpxX6nGaZ+JOm1sSeJfEkmsWkccsMaFehUVwGoYVvlroL9jgnpXMX7da7Kc1HRGHs23qUJCGzzWn4b0VdSlfO3gZwa56a4+brXWfD0Lc3VxmUIVTIHrVSrRWrOj2U2rRO00vTo7a12rhdpwFFXlCxnON1FrAfJJA4HU07yzjpXF7VPYxlRl13Llv4mksVKrDGRjjIrI8Sa2dW2kwpEVGMqOtE6kZ4rIusjOa3g43ujGcZWszBvQNzHpWTM3UVsXy4U1zV5NsYjNdbqaE06bueZ/GLQ01TTkAHzeYuPzr1TwJokenaHaW6KEWOMD07V5n8QtSSGG2Vz1mX+des+H3M9tEIxk7Og+lfnuOlT+tuXWx9NjqtaOVU6XRtm3Cqq3JwB6V1uh+JbLS0VJLcygd2/wrjY2LNjv0xU0hMfGMVhGolK58PHmg7o6PxZ4ksNWs0igsRBIp5euDvCO1WZpiScms68fiuidXn1OmmnKV2ZN4vmEj2pfDei/brpo1UFm5qjqNxsY81c8DTm68RQWnnLGZHC7t3A/GuZ1Ip+8e/GFT2T5Dq7DTPs8hjwABz6Vr27BXGeBVG8X7Lqs9uJFk8t9oZTkGrNtG0kojUEsTgKKhVoyd0fMYiE+a09zstJ8RWlnCqvHux61F4k8RWmp2KpHAquO+MVzl9ZT6e2yeNomxnDDmqbScYzxXbRrpRsjKTnH3JKxXulAX3rAu4w8m3IH1rauZPlrnNSm2secVLmduFi2y14a0cX175I2jdzknA6V0EFmILho+AB+Vcn4TuUbxJbWzzqiu4UvngAkc122rxW9v4guLWzuVuoVfas3QGuWeIp6ROvF0atufoWrRlRhu5Arq9P8YLYx7FtlOBgFq5Kzt2mm8tR5jZwNvOan1a1n03C3ETwE/wupBq4VoxktdTxowqxvKKLnivxc+tRxxGGOIIMZUcmuPmlFJdXW49aoyzjHWu91HLVnTCDlqynrCrNDIpAwR0r5K+JWjDS/Es+wbVY7hX1TqFztVj7V8//ABit4JdStpEkDO4+dcdK8HM4qdK5+ocHVJ0MXy9JHB2NvuiGFzwOcVJPaybGO3oPStfQbOJf3bHOenPFfQXgP9nPUvHXhy21GGCzt7WT5Vkd+W+or57D4d4h8kT9nxGIjh1zz2Mz4GeKtbjvI7W0mFtuXJLLjjNdb8XvGV9qUNxFPqSypGmHKMAxOOnFdNqHw4ubPfhbWVtuTK0ZjduemVxWGPgcl5dE3twIFb5isWS34bq8afEFCVPkhV906FktX2vPOn7x4L4P8H315rVpfKHe6M6mCDqz89fpX2pBHJBaW4fBLRqcr0PFeeL4P0/wvGU05PKlkXaJXbdI/OPwro/D/iJUtYbC6cbo+FYnjr0oyziOlDFxhBWgzjzzh6picE5PWcT1z4U3nhu11uUeJLT7TayRFU9Fb1rlfGFrbWupTJAV8rcSoHOF7Cqccg4ZT78VU1GQysTX6fTxClV9tGeltuh+PyoqnQdCUNb79Tm9Tb5iB0rmtQ+VSa6a+Kc81x+u3ixqcV6MswhFbnnRy+U3ojmdUvhbsTWbofxXsvCOtA3hYwyfKdgJI/CsPxRqz7tkQ3OeBiuY+wmOQNIA8zfMdw/QV8xmefqhC0XqfY5Tw5LFVE5r3T7P0XUkvtPhuImJilUMp6cEV3/w51LQNO1Zn8QWRvbJo2XCnlW7NXzJ8GfiNG0EeiX0gSSPiBmPUf3a9oSRWUMpyvtW+AzaGOocsnZnm5lk08sxd1G8d0WfEjWpvrg2fFvuPlg9dua5W7brWvd5bJ6Cse66HJr6ajiY04JXPmK2GdWbko2MTUCOa4PxFqC2hY54rsdYvI7VGyR0rxD4ieJlhV1DfvDwAtcuIzaFNbnbhMonWkkkcL8S/EUmoXkFvb8lG3H0GDXvfgXWDc6HZTbwS0Y+ZT7Yr5hmzLMZHO4sefb2ru/hn42/secadcSEQMcxs3RT3r80qZnKpiXU6H6PmPDiqZUqUV70dT6v8Capp1n4isZ9VjaaxWRTKi9SM11/xm1bwxf64t14agMFpIg+Q8HPfivFNN1qGSJX8znpVqfVlmIO/tXoc0a9WFVStbp0Px3knhKNTDTpp83XqvQvT3Qyay7y6HPPFVLnUlXuDWDqWtKinLYr1niVFHn4fCSk9EVfEGqLDn5q4Wz+JEOi62pdjgHHFUvGnihVRwjjPQV5dNK00jSMclua8HF41/ZZ+tZHkUcRD96tD7D8P+IV1JEuA4YSAMGBr0r4e+JLbQfFFhqF5AtzBE4LI4yPrXxv8L/iGdJZNOvHxBn9257e1e/ad4jikhRg2R65qKGM54OEz5PO8gnl+J9pTV47o+ivjh4y0rxpqNveaVYiCPbtMigDfXksk23k9qybfxUyx7FlIGMf59KqXOrL035FejgVHCUvZxd0fLZnKeYV/byjZ+SNC8u+vNcf4i1RbdWJbtUmoa0kasS4GK8p8e+NFgVgpySCABXXWxijE7cqyupXqqKRPZ/EaOz8VpCG74z2r17R9c+1sHZvvc5r43lnkkuDMSRJncCO1es/D34lA+Xa3rhJhwGbgGvmnjKntOZ7H6dmnDEJYVSpr3lufWPg/wASf2Fq1re+UsxhkWTa/IOD0rZ+MPxOf4gawNRkgjtAECCOPoAK8asfEwkUFXBGO1Q6v4kUJy2DXpUp0q1WFWW62PzJ0MRh4Tw0V7st/ka82pDd1qrLqQ9a46bxInd6z7rxMixlt4H419H9ZikFPLJvob+ua0sCsxbtXgXi7Uhq+tMQ3yqcZPSt3xd40MqtFE2SRjNcCZCzFm69a8LGYpT92J+pcO5Q8P8Avpo6JtLuLe180SKeAflYV0/hP4u6/odmthaalcQw5wIVY4rz2G+kh+VWOPTtV6x16fT7hZ7cRpKvRtoJFcNKt7KXNB2Z9vVo+1XLNXR6Tr37XvinUWdLG3tbOAkYDJvbj3NS+Hv2ufFVjdIb20tb2IcEBNp6eteGQ26nAxz6VoW2kyThXgBxnAxXybyzCxjy8h9D9drt35j7I8I/E/SfiplrOUWeqBcGznxuHTlT3rTvLGbTbhonYF1BHGPz/WvlT4f+HdavPF1jaackiapvBhwwX5hz19OK+tdTiW7tQZ761udYtUVL4Wp3IJCM5H4fyNfM4zDQwk17N6M9rD1nXi1JEdn42msowszBwox8owaTUvidplnCsl3crbK3AMhAzXMa5eW2l6fPPO/liOPLFl44r5O8a+MLrxRqEssrHyFbES5OFXtX0GV47FN8ilofMZnlGEq++42kfWmpfFDRJIy0eoROP9ls1w+s+Oor/cLYmTPQ9BXh/hyHNrGR0xXd6PGCir3FfQzxFVrVnh0cpoQep21r4O1m/wBAbWFt1uYAcH7PklR6kVztwW3bdjcf3h0r2T4K+LodIlOn3LqsUx+UN0z6VqfGb4Z2zW/9u6Unkrj9/DGOM/3hXxeKxEo4jlqn3OGw8I0V7LofPTM0EqyRF0mB45wQfavSvCfxwu9JjW31cNNGowJV6j6ivP5oSGLEc9Pm4rgPG3iFvO+wW7Bf+ejL/KvTwtSpGS9mzzcZhqOIjasj68034yaBrkZ+z6jExHBUnBHtTNQ8cWG35buM/RhXyT4YxbcDgMMV11nucgk9K+k+uV0rXPkv7Cw7d0e93/hvW/EegvqGmRx3ORmOLfhn+nFfMniq01Wz1qePVraW1uVJBilUgrX1v8B/FcMmm/2ZO4EkfKZ7iu3+Knwz0f4m6EYZraOPUIlzb3SjDA/3T7V8fis4r067p1fhPscFkmGp0lOl8R+fLRAjAOMjpUUkZTBHBHcVv+IfDtx4b1i60+8QpLC5Q8YxWRqEkdpbbyNzYwoHc16lKSlFOJlOPK7SNvQfiTeaLst7jNxHwBj7wr0XT/GSXyqUJDEfdbg15NoujjyxO3zzPyW9Paus0uzMbKcYr0oOUFoz5XHZJhMbLmasz0q30PxHrKq1npV1Mj/dYJwawviZ4K8V+CNDj1HU9Mnjt5h8siDcqezEdK+kvgT4pi1Dw/DZyH9/bjbtPUj1r128+y6tZvZXttFcWcieW8cigggjpXyuNz3EYer7Pl0PUwHBeC5faOWp+TFzcTX0xeVtxPQelRNHhemD+le8/tNfAeP4Z+Ihf6UhXQ7wlo16+U3Ur9K8REA2nPI9a9rDYiOLgqkT0p4X6m/ZJWsZ+3y/m6Y7+lei/DnXtZluYbZjm0Y7RJKTkfQVy+haOuoXHnSjMKnCr2PvXoujWot5kdRjae3au63VHDWw9LEx5Kquj26T4UeK47aKe3hjvInXcDG2DULfCnx3NGXGjSKmCQzMoBH517Z8F/GVvrvh2C3dlNxAoVlPXp1r1T+0hKojcDZjAx2r47E55jMLUdO2w6fBGWYhKom0fmH458YX2j6lc6bNbTW91E211mUrg/SvObu6m1CYyTOWJ/T2r7O/bE+G9lq93FqkKLFfrDuZ1ABdVPOfevjFoTDIVODg4r6DL8wePpc73F/YdDKZ8tNfMrtHjpW34N8H3fi/XLWwtWWASyBTcPnanNQaTpbatfJAvC9W9hXrnhe1XR7i2aBAgiIIxXpSvyux0JJuz2Pozwj+y/a6boiQXGt3d5dY+WYgBV46Vzfjb9mXxPBv/s68gulHTflW+le7/DTxpb69oNvKrL56rh1zkg4rsftgvNySYLY4bH6V+eVM1x2FrNXPZlw5lmMgpuFn5H5j+OtJ17wLdGHVIWj5wHXlc9xn1rhbnxBc3HAkIH1r7M+Pem2N14qvtMvY1e1u4Vfn+FsEZHp0r4u1vS20PWLmyYhvKfAYdx619pluaVMZD39zwMTkeHwcrwV0VjIZGyxyabJMsSZPbpTC3FVpFMrc89gK9omMUtI6Ijm1F2bC/KPami6lB4kOKf8AYZF6rtqaKyDKPlz9KWppoj//2Q==\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"}],"term":"tag:\"rotation\"","current_player_id":null,"fields":[{"name":"page","type":"integer","callback":null,"default":1,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"per_page","type":"integer","callback":null,"default":50,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"sort","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"body","type":"text","callback":null,"default":"*:*","directive":null,"facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":false},{"name":"group","type":"string","callback":null,"default":null,"directive":"group","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"difficulty_rating_bin","type":"string","callback":null,"default":null,"directive":"difficulty_rating_bin","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"id","type":"integer","callback":null,"default":null,"directive":"id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"tag","type":"string","callback":null,"default":null,"directive":"tag","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"product","type":"string","callback":null,"default":null,"directive":"product","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_at","type":"timeframe","callback":{},"default":null,"directive":"created_at","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"profile_id","type":"integer","callback":null,"default":null,"directive":"author_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_by","type":"string","callback":null,"default":null,"directive":"author","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player_id","type":"integer","callback":null,"default":null,"directive":"solver_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player","type":"string","callback":null,"default":null,"directive":"solver","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"solvers_count","type":"integer","callback":null,"default":null,"directive":"solvers_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"comments_count","type":"integer","callback":null,"default":null,"directive":"comments_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"likes_count","type":"integer","callback":null,"default":null,"directive":"likes_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leader_id","type":"integer","callback":null,"default":null,"directive":"leader_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leading_solution","type":"integer","callback":null,"default":null,"directive":"leading_solution","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true}],"filters":[{"name":"asset_type","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":"\"cody:problem\"","prepend":true},{"name":"profile_id","type":"integer","callback":{},"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":"author_id","static":null,"prepend":true}],"query":{"params":{"per_page":50,"term":"tag:\"rotation\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"rotation\"","","\"","rotation","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f73608e4880\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f73608e47e0\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f73608e3f20\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f73608e4b00\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f73608e4a60\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f73608e49c0\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f73608e4920\u003e":"tag:\"rotation\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f73608e4920\u003e":"tag:\"rotation\""},"queried_facets":{}},"query_backend":{"connection":{"configuration":{"index_url":"http://index-op-v2/solr/","query_url":"http://search-op-v2/solr/","direct_access_index_urls":["http://index-op-v2/solr/"],"direct_access_query_urls":["http://search-op-v2/solr/"],"timeout":10,"vhost":"search","exchange":"search.topic","heartbeat":30,"pre_index_mode":false,"host":"rabbitmq-eks","port":5672,"username":"search","password":"J3bGPZzQ7asjJcCk","virtual_host":"search","indexer":"amqp","http_logging":"true","core":"cody"},"query_connection":{"uri":"http://search-op-v2/solr/cody/","proxy":null,"connection":{"parallel_manager":null,"headers":{"User-Agent":"Faraday v1.0.1"},"params":{},"options":{"params_encoder":"Faraday::FlatParamsEncoder","proxy":null,"bind":null,"timeout":null,"open_timeout":null,"read_timeout":null,"write_timeout":null,"boundary":null,"oauth":null,"context":null,"on_data":null},"ssl":{"verify":true,"ca_file":null,"ca_path":null,"verify_mode":null,"cert_store":null,"client_cert":null,"client_key":null,"certificate":null,"private_key":null,"verify_depth":null,"version":null,"min_version":null,"max_version":null},"default_parallel_manager":null,"builder":{"adapter":{"name":"Faraday::Adapter::NetHttp","args":[],"block":null},"handlers":[{"name":"Faraday::Response::RaiseError","args":[],"block":null}],"app":{"app":{"ssl_cert_store":{"verify_callback":null,"error":null,"error_string":null,"chain":null,"time":null},"app":{},"connection_options":{},"config_block":null}}},"url_prefix":"http://search-op-v2/solr/cody/","manual_proxy":false,"proxy":null},"update_format":"RSolr::JSON::Generator","update_path":"update","options":{"url":"http://search-op-v2/solr/cody"}}},"query":{"params":{"per_page":50,"term":"tag:\"rotation\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"rotation\"","","\"","rotation","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f73608e4880\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f73608e47e0\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f73608e3f20\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f73608e4b00\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f73608e4a60\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f73608e49c0\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f73608e4920\u003e":"tag:\"rotation\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f73608e4920\u003e":"tag:\"rotation\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":60813,"difficulty_rating":"easy"},{"id":1830,"difficulty_rating":"easy"},{"id":623,"difficulty_rating":"easy"},{"id":61152,"difficulty_rating":"easy"},{"id":803,"difficulty_rating":"medium-hard"},{"id":56573,"difficulty_rating":"hard"}]}}