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