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