prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  Unable to change ContentBasedDeduplication attribute on existing queue
  ### Is there an existing issue for this?
  
  - [X] I have searched the existing issues
  
  ### Current Behavior
  
  If I create a queue and try to change its `ContentDeduplication` attribute, I see this error:
  
  ` An error occurred (InvalidAttributeName) when calling the SetQueueAttributes operation: Unknown Attribute ContentBasedDeduplication.`
  
  ### Expected Behavior
  
  I should be able to set `ContentBasedDeduplication` from `true` to `false` on an existing queue.  It appears to work on AWS.
  
  ### How are you starting LocalStack?
  
  With a docker-compose file
  
  ### Steps To Reproduce
  
  #### How are you starting localstack (e.g., `bin/localstack` command, arguments, or `docker-compose.yml`)
  
      docker run localstack/localstack
  
  #### Client commands (e.g., AWS SDK code snippet, or sequence of "awslocal" commands)
  
  ```
  aws sqs create-queue --queue-name test1.fifo --endpoint-url http://localhost:4566/ --attributes FifoQueue=true,ContentBasedDeduplication=true
  {
      "QueueUrl": "http://localhost:4566/000000000000/test1.fifo"
  }
  
  
  aws sqs get-queue-attributes --endpoint-url http://localhost:4566/ --queue-url http://localhost:4566/000000000000/test1.fifo --attribute-names '["ContentBasedDeduplication"]'
  {
      "Attributes": {
          "FifoQueue": "true,
          "ContentBasedDeduplication": "true"
      }
  }
  
  aws sqs set-queue-attributes --endpoint-url http://localhost:4566/ --queue-url http://localhost:4566/000000000000/test1.fifo --attributes ContentBasedDeduplication=false
  
  An error occurred (InvalidAttributeName) when calling the SetQueueAttributes operation: Unknown Attribute ContentBasedDeduplication.
  ```
  
  
  ### Environment
  
  ```markdown
  - OS: MacOs Ventura 13.3.1 (a) 
  - LocalStack: 2.1.0
  ```
  
  
  ### Anything else?
  
  _No response_
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `localstack/services/sqs/constants.py`
  Content:
  ```
  1 # Valid unicode values: #x9 | #xA | #xD | #x20 to #xD7FF | #xE000 to #xFFFD | #x10000 to #x10FFFF
  2 # https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html
  3 from localstack.aws.api.sqs import QueueAttributeName
  4 
  5 MSG_CONTENT_REGEX = "^[\u0009\u000A\u000D\u0020-\uD7FF\uE000-\uFFFD\U00010000-\U0010FFFF]*$"
  6 
  7 # https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-metadata.html
  8 # While not documented, umlauts seem to be allowed
  9 ATTR_NAME_CHAR_REGEX = "^[\u00C0-\u017Fa-zA-Z0-9_.-]*$"
  10 ATTR_NAME_PREFIX_SUFFIX_REGEX = r"^(?!(aws\.|amazon\.|\.)).*(?<!\.)$"
  11 ATTR_TYPE_REGEX = "^(String|Number|Binary).*$"
  12 FIFO_MSG_REGEX = "^[0-9a-zA-z!\"#$%&'()*+,./:;<=>?@[\\]^_`{|}~-]*$"
  13 
  14 DEDUPLICATION_INTERVAL_IN_SEC = 5 * 60
  15 
  16 # When you delete a queue, you must wait at least 60 seconds before creating a queue with the same name.
  17 # see https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteQueue.html
  18 RECENTLY_DELETED_TIMEOUT = 60
  19 
  20 # the default maximum message size in SQS
  21 DEFAULT_MAXIMUM_MESSAGE_SIZE = 262144
  22 INTERNAL_QUEUE_ATTRIBUTES = [
  23     # these attributes cannot be changed by set_queue_attributes and should
  24     # therefore be ignored when comparing queue attributes for create_queue
  25     # 'FifoQueue' is handled on a per_queue basis
  26     QueueAttributeName.ApproximateNumberOfMessages,
  27     QueueAttributeName.ApproximateNumberOfMessagesDelayed,
  28     QueueAttributeName.ApproximateNumberOfMessagesNotVisible,
  29     QueueAttributeName.ContentBasedDeduplication,
  30     QueueAttributeName.CreatedTimestamp,
  31     QueueAttributeName.LastModifiedTimestamp,
  32     QueueAttributeName.QueueArn,
  33 ]
  34
  ```
  --- END FILES ---
  
  Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.
  
  Here is an example:
  
  ```diff
  diff --git a/examples/server_async.py b/examples/server_async.py
  --- a/examples/server_async.py
  +++ b/examples/server_async.py
  @@ -313,4 +313,4 @@
   
   
   if __name__ == "__main__":
  -    asyncio.run(run_async_server("."), debug=True)
  +    asyncio.run(run_async_server(), debug=True)
  diff --git a/examples/server_sync.py b/examples/server_sync.py
  --- a/examples/server_sync.py
  +++ b/examples/server_sync.py
  @@ -313,5 +313,5 @@
   
   
   if __name__ == "__main__":
  -    server = run_sync_server(".")
  +    server = run_sync_server()
       server.shutdown()
  
  ```
  
golden_diff: diff --git a/localstack/services/sqs/constants.py b/localstack/services/sqs/constants.py
  --- a/localstack/services/sqs/constants.py
  +++ b/localstack/services/sqs/constants.py
  @@ -26,7 +26,6 @@
       QueueAttributeName.ApproximateNumberOfMessages,
       QueueAttributeName.ApproximateNumberOfMessagesDelayed,
       QueueAttributeName.ApproximateNumberOfMessagesNotVisible,
  -    QueueAttributeName.ContentBasedDeduplication,
       QueueAttributeName.CreatedTimestamp,
       QueueAttributeName.LastModifiedTimestamp,
       QueueAttributeName.QueueArn,
  
verification_info: {"golden_diff": "diff --git a/localstack/services/sqs/constants.py b/localstack/services/sqs/constants.py\n--- a/localstack/services/sqs/constants.py\n+++ b/localstack/services/sqs/constants.py\n@@ -26,7 +26,6 @@\n     QueueAttributeName.ApproximateNumberOfMessages,\n     QueueAttributeName.ApproximateNumberOfMessagesDelayed,\n     QueueAttributeName.ApproximateNumberOfMessagesNotVisible,\n-    QueueAttributeName.ContentBasedDeduplication,\n     QueueAttributeName.CreatedTimestamp,\n     QueueAttributeName.LastModifiedTimestamp,\n     QueueAttributeName.QueueArn,\n", "issue": "Unable to change ContentBasedDeduplication attribute on existing queue\n### Is there an existing issue for this?\r\n\r\n- [X] I have searched the existing issues\r\n\r\n### Current Behavior\r\n\r\nIf I create a queue and try to change its `ContentDeduplication` attribute, I see this error:\r\n\r\n` An error occurred (InvalidAttributeName) when calling the SetQueueAttributes operation: Unknown Attribute ContentBasedDeduplication.`\r\n\r\n### Expected Behavior\r\n\r\nI should be able to set `ContentBasedDeduplication` from `true` to `false` on an existing queue.  It appears to work on AWS.\r\n\r\n### How are you starting LocalStack?\r\n\r\nWith a docker-compose file\r\n\r\n### Steps To Reproduce\r\n\r\n#### How are you starting localstack (e.g., `bin/localstack` command, arguments, or `docker-compose.yml`)\r\n\r\n    docker run localstack/localstack\r\n\r\n#### Client commands (e.g., AWS SDK code snippet, or sequence of \"awslocal\" commands)\r\n\r\n```\r\naws sqs create-queue --queue-name test1.fifo --endpoint-url http://localhost:4566/ --attributes FifoQueue=true,ContentBasedDeduplication=true\r\n{\r\n    \"QueueUrl\": \"http://localhost:4566/000000000000/test1.fifo\"\r\n}\r\n\r\n\r\naws sqs get-queue-attributes --endpoint-url http://localhost:4566/ --queue-url http://localhost:4566/000000000000/test1.fifo --attribute-names '[\"ContentBasedDeduplication\"]'\r\n{\r\n    \"Attributes\": {\r\n        \"FifoQueue\": \"true,\r\n        \"ContentBasedDeduplication\": \"true\"\r\n    }\r\n}\r\n\r\naws sqs set-queue-attributes --endpoint-url http://localhost:4566/ --queue-url http://localhost:4566/000000000000/test1.fifo --attributes ContentBasedDeduplication=false\r\n\r\nAn error occurred (InvalidAttributeName) when calling the SetQueueAttributes operation: Unknown Attribute ContentBasedDeduplication.\r\n```\r\n\r\n\r\n### Environment\r\n\r\n```markdown\r\n- OS: MacOs Ventura 13.3.1 (a) \r\n- LocalStack: 2.1.0\r\n```\r\n\r\n\r\n### Anything else?\r\n\r\n_No response_\n", "before_files": [{"content": "# Valid unicode values: #x9 | #xA | #xD | #x20 to #xD7FF | #xE000 to #xFFFD | #x10000 to #x10FFFF\n# https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html\nfrom localstack.aws.api.sqs import QueueAttributeName\n\nMSG_CONTENT_REGEX = \"^[\\u0009\\u000A\\u000D\\u0020-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$\"\n\n# https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-metadata.html\n# While not documented, umlauts seem to be allowed\nATTR_NAME_CHAR_REGEX = \"^[\\u00C0-\\u017Fa-zA-Z0-9_.-]*$\"\nATTR_NAME_PREFIX_SUFFIX_REGEX = r\"^(?!(aws\\.|amazon\\.|\\.)).*(?<!\\.)$\"\nATTR_TYPE_REGEX = \"^(String|Number|Binary).*$\"\nFIFO_MSG_REGEX = \"^[0-9a-zA-z!\\\"#$%&'()*+,./:;<=>?@[\\\\]^_`{|}~-]*$\"\n\nDEDUPLICATION_INTERVAL_IN_SEC = 5 * 60\n\n# When you delete a queue, you must wait at least 60 seconds before creating a queue with the same name.\n# see https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteQueue.html\nRECENTLY_DELETED_TIMEOUT = 60\n\n# the default maximum message size in SQS\nDEFAULT_MAXIMUM_MESSAGE_SIZE = 262144\nINTERNAL_QUEUE_ATTRIBUTES = [\n    # these attributes cannot be changed by set_queue_attributes and should\n    # therefore be ignored when comparing queue attributes for create_queue\n    # 'FifoQueue' is handled on a per_queue basis\n    QueueAttributeName.ApproximateNumberOfMessages,\n    QueueAttributeName.ApproximateNumberOfMessagesDelayed,\n    QueueAttributeName.ApproximateNumberOfMessagesNotVisible,\n    QueueAttributeName.ContentBasedDeduplication,\n    QueueAttributeName.CreatedTimestamp,\n    QueueAttributeName.LastModifiedTimestamp,\n    QueueAttributeName.QueueArn,\n]\n", "path": "localstack/services/sqs/constants.py"}], "after_files": [{"content": "# Valid unicode values: #x9 | #xA | #xD | #x20 to #xD7FF | #xE000 to #xFFFD | #x10000 to #x10FFFF\n# https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html\nfrom localstack.aws.api.sqs import QueueAttributeName\n\nMSG_CONTENT_REGEX = \"^[\\u0009\\u000A\\u000D\\u0020-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$\"\n\n# https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-message-metadata.html\n# While not documented, umlauts seem to be allowed\nATTR_NAME_CHAR_REGEX = \"^[\\u00C0-\\u017Fa-zA-Z0-9_.-]*$\"\nATTR_NAME_PREFIX_SUFFIX_REGEX = r\"^(?!(aws\\.|amazon\\.|\\.)).*(?<!\\.)$\"\nATTR_TYPE_REGEX = \"^(String|Number|Binary).*$\"\nFIFO_MSG_REGEX = \"^[0-9a-zA-z!\\\"#$%&'()*+,./:;<=>?@[\\\\]^_`{|}~-]*$\"\n\nDEDUPLICATION_INTERVAL_IN_SEC = 5 * 60\n\n# When you delete a queue, you must wait at least 60 seconds before creating a queue with the same name.\n# see https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_DeleteQueue.html\nRECENTLY_DELETED_TIMEOUT = 60\n\n# the default maximum message size in SQS\nDEFAULT_MAXIMUM_MESSAGE_SIZE = 262144\nINTERNAL_QUEUE_ATTRIBUTES = [\n    # these attributes cannot be changed by set_queue_attributes and should\n    # therefore be ignored when comparing queue attributes for create_queue\n    # 'FifoQueue' is handled on a per_queue basis\n    QueueAttributeName.ApproximateNumberOfMessages,\n    QueueAttributeName.ApproximateNumberOfMessagesDelayed,\n    QueueAttributeName.ApproximateNumberOfMessagesNotVisible,\n    QueueAttributeName.CreatedTimestamp,\n    QueueAttributeName.LastModifiedTimestamp,\n    QueueAttributeName.QueueArn,\n]\n", "path": "localstack/services/sqs/constants.py"}]}