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