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